Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Thảo luận Bài 8

+92
lengocthuthao89 (i11c)
Đinh Đông Dương
LeMinhDuc (I11C)
letannghia(I12A)
nguyen_tuan_phat_I12A
DangLeHieu(I102C)
nguyenxuankieu(i12a)
huynhvanhung(I12A)
luthioanh-I12A
LeHoangYen_11H1010157
LuongHueChanh_I12A
letanthanh18(I12A)
lethianhnhat_I12A
TrinhVinhThanh (I12A)
lethanhsang_I12A
dangvannhan_11h1010085
HoNgocTuan142(I12A)
HoNguyenQuocTuy(I12A)
HuynhNguyenTrungHau_I12C
TranVanBao(I12A)
NguyenThanhCang(I12A)
NguyenXuanTri28
nguyenvanhonglac_0066
TranThiAnhDao89I12C
LeQuocKhanh-11H1010059
NguyenVanThang25 (I12A)
TranQuangHien40
VoThiHongNhung(I12A)
TranBinhCongLuanI12A
nguyenhuutho
phuongnguyen
vothingocthuy87(I11C)
Nguyen Doan Linh051(I11c)
LeLamThang (113A)
levanhop.it
tranthithanhuyen85 (I11C)
BuiHuongTra(I12A)
TrinhThiPhuongThaoI12C
TranTrungHienI12C
ĐoànMinhQuangI12A
plminhhoangI12A
NgoXuanQuoc_(102C)
dangmonghai(I12A)
NguyenQuocThang(I12C)
leminhtam13(I12A)
NguyenVinhQuang_I12A
lymydung_I12A
NguyenthechinhI12A
HUYNHMINHHAI(I12A)
phamduyI12A
DaoThaiHuyI12A
TranHuyCuong17 (I12A)
nguyenthingocmai_I12A
thailongI12C
nguyenthimao_I12A
hoxuanvu_I12A
NguyenHongHaiI12C
NguyenHoangThangI12A
LeThanhTung (I11C)
VoTrongQuyet-I12A
LeXuanHau (I12C)
quicly_I111c
tranvanthien27(I12C)
HUYNHDUCANHI12A
NgoPhuQuoc_I12C
maidangvu_I12A
BuiPhamAnBinh(I12A)
trinhvanminh_11h1010077
Nguyen Sy Hung I12A
LeThiMaiPhuongI12A
TranThiNgocQuynh(I12C)
nguyenthaihiep (I11C)
phanngocthinh(i12a)
hoanggiangI12C
DaoQuangTri38(I12A)
NguyenVanBenI12C
LePhucHiep(102C)
TranMinhTuan143(I12A)
LacChiHao(I12A)
DiepMaiNgocYen(I12A)
dangquoctri
NguyenTuanHai_I12A
TranThiMyKhanh(I12A)
huynhtamhaoI12A
NguyenPhuocNguyen (I12A)
nguyenthanhnghi_I12C
minhtam_I12C
LuongGiaDuc(I12A)
phamphihung55
PhamQuangHien_I12A
huynhthao.hc11th2a
Admin
96 posters

Trang 3 trong tổng số 11 trang Previous  1, 2, 3, 4 ... 9, 10, 11  Next

Go down

Thảo luận Bài 8 - Page 3 Empty Đồ Thị Cấp Phát Tài Nguyên

Bài gửi  PhamQuangHien_I12A 18/4/2012, 22:36

Thảo luận Bài 8 - Page 3 F606210bebed07dc2a28047251964520_43619745.hinh1
-Dấu chấm:là phiên bản cấp cho p1,p2,p3,p4
-Không có Deadlock:các tiến trình p1,p2,p3,p4 và tài nguyên R1, R2 không tạo thành chu trình
-có Deadlock:các tiến trình p1,p2,p3,p4 và tài nguyên R1, R2 tạo thành chu trình
Thảo luận Bài 8 - Page 3 A383ba0bc903899e73cc2dd3961eef64_43619993.hinh2

Ví dụ tại thời điểm 18h5' khi p4 dùng xong R2 nên lúc này p4 tự do được tự do đi làm công việc khác
tại thời điểm 18h6' cung yêu cầu p3 sang R2 được ấn định nên mũi tên từ P3 sang R2 sẽ trỏ ngược lại lúc này đồ thị sẽ không có chu trình

Thảo luận Bài 8 - Page 3 74bab6c9ac163141273f27dc0d1d4fbd_43621768.576457547856

mình trình bày theo cách hiểu trên có gì sai sót các bạn và thầy bổ sung góp ý cho mình nhé


Được sửa bởi PhamQuangHien_I12A ngày 18/4/2012, 22:42; sửa lần 1.

PhamQuangHien_I12A

Tổng số bài gửi : 62
Join date : 22/02/2012
Age : 34
Đến từ : Quãng Ngãi

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Giaỉ thích và vẽ đồ thị cấp phát tài nguyên(Resource-Allo caction graph-PAG)

Bài gửi  BuiPhamAnBinh(I12A) 18/4/2012, 22:37

đây là đồ thị có chu trình nhưng không có xảy ra Deadlock vì tài nguyên R1 va R2 có tới 2 phiên bản trở lên thì khả năng xảy ra Deadlock rất thấp
biểu diển đồ thị lúc 8h tối
Thảo luận Bài 8 - Page 3 Hinh1z
lúc này p3 cần cấp phát từ R2 nhưng lúc 8h R2 đang cấp phát cho P1 và P4
đồ thị lúc 8h20 thì P4 dùng xong tài nguyên 3 R2 nó trả lại tài nguyên cho R2
Thảo luận Bài 8 - Page 3 Hnh
lúc này R2 đáp ứng yêu cầu của P3 và hướng cung yêu cầu tới cho P3
lúc này đồ thị không còn là đồ thị có chu trình nửa và sẻ không xảy ra Deadlock

BuiPhamAnBinh(I12A)

Tổng số bài gửi : 20
Join date : 16/02/2012
Age : 34

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Ví dụ RAG có chu trình nhưng không có Deadlock

Bài gửi  maidangvu_I12A 18/4/2012, 22:39

RAG (Resource Allocation Graph): Đồ thị cấp phát tài nguyên
Sau đây là ví dụ về RAG có chu trỉnh nhưng không có Deadlock khi tài nguyên thuộc chu trình có nhiều hơn 1 phiên bản.
- Tại thời điểm 10 giờ: RAG có chu trình, và tài nguyên R1, R2 có 2 phiên bản
Thảo luận Bài 8 - Page 3 Hdh1


- Tại thời điểm 10 giờ 5 phút: sau khi P4 dùng xong tài nguyên, sẽ trả lại tài nguyên cho R2.
Thảo luận Bài 8 - Page 3 Hdh2


-Tại thời điểm 10 giờ 6 phút: cung yêu cầu từ P3 đến R2 (P3 -> R2), sẽ trở thành cung ấn định R2 đến P3 (R2 -> P3). Lúc này đồ thị không còn chu trình, tức là sẽ không có Deadlock.
Thảo luận Bài 8 - Page 3 Hdh3


Mong thầy và các bạn góp ý kiến cho mình!

maidangvu_I12A

Tổng số bài gửi : 28
Join date : 28/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Re: Thảo luận Bài 8

Bài gửi  trinhvanminh_11h1010077 18/4/2012, 22:44

PhamQuangHien_I12A đã viết:Thảo luận Bài 8 - Page 3 F606210bebed07dc2a28047251964520_43619745.hinh1
-Dấu chấm:là phiên bản cấp cho p1,p2,p3,p4
-Không có Deadlock:các tiến trình p1,p2,p3,p4 và tài nguyên R1, R2 không tạo thành chu trình
-có Deadlock:các tiến trình p1,p2,p3,p4 và tài nguyên R1, R2 tạo thành chu trình
Thảo luận Bài 8 - Page 3 A383ba0bc903899e73cc2dd3961eef64_43619993.hinh2

Ví dụ tại thời điểm 18h5' khi p4 dùng xong R2 nên lúc này p4 tự do được tự do đi làm công việc khác
tại thời điểm 18h6' cung yêu cầu p3 sang R2 được ấn định nên mũi tên từ P3 sang R2 sẽ trỏ ngược lại lúc này đồ thị sẽ không có chu trình

Thảo luận Bài 8 - Page 3 B633e1ce6f9c3ee036ad5155c290c1d5_43621286.hinh5

mình trình bày theo cách hiểu trên có gì sai sót các bạn và thầy bổ sung góp ý cho mình nhé

HÌNH CUỐI CÙNG BẠN VẼ CHƯA ĐÚNG VÌ TÀI NGUYÊN R2 KHI CẤP PHÁT TÀI NGUYÊN CHO P3 THÌ MŨI TÊN PHẢI ĐI TỪ CHẤM RA TIẾN TRÌNH P3 MỚI ĐÚNG ( THẦY NÓI NHẤN MẠNH CÁI NÀY KHI VẼ MỚI ĐÚNG)
MÌNH VẼ LẠI HÌNH CUỐI NHƯ SAU:
Thảo luận Bài 8 - Page 3 70804909
trinhvanminh_11h1010077
trinhvanminh_11h1010077

Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 38
Đến từ : tphcm

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Bốn điều kiện dẫn đến deadlock

Bài gửi  NgoPhuQuoc_I12C 18/4/2012, 22:49


1. loại trừ lẫn nhau(mutual exclusion): có ít nhất một tài nguyên không chia sẻ (không dùng chung được)
VD: 2 xe qua cầu hẹp tại 1 thời điểm chỉ có 1 xe qua cầu không thể có 2 xe qua cầu được , cầu ko dùng chung được tại 1 thời điểm đó.

2. giữ và chờ (hold and wait): có 1 tiến trình đang giữ 1 tài nguyên và xin thêm 1 tài nguyên khác.
VD: 2 xe qua cầu hẹp và 2 xe bị kẹt mỗi xe giữ một nữa mặt cầu, và cứ chờ để được qua cầu

3. không tiếm quyền( no preemption): không bắt các tiến trình trả lại tài nguyên.
VD: 2 xe qua cầu hẹp , để cho 1 trong 2 xe trả lại mặt cầu còn lại phải có 1 cần cẫu, nâng 1 trong 2 xe lên, nhường cho xe còn lại.

4. chờ xoay vòng(circular wait): p1 chờ tài nguyên của p2, p2 chờ tài nguyên của p3,p3 chờ tài nguyên của p4,...,p(n-1) chờ tài nguyên cua p(n), p(n) chờ tài nguyên của p1
VD: 4 xe bị kẹt ở ngã tư, xe 1 chờ xe 2 , xe 2 chờ xe 3, xe 3 chờ xe 4, xe 4 chờ xe 1

--> muốn ngặn chặn Deadlock, ta phủ định(không cho xảy ra) 4 điều kiện xảy ra deadlock trên.

NgoPhuQuoc_I12C

Tổng số bài gửi : 13
Join date : 16/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Câu 2 : Phân tích 4 điều kiện cần dẫn đến Deadlock

Bài gửi  Nguyen Sy Hung I12A 18/4/2012, 22:57

Trường hợp deadlock có thể phát sinh nếu bốn điều kiện sau xảy ra cùng một
lúc trong hệ thống:

1) Loại trừ hỗ tương: ít nhất một tài nguyên phải được giữ trong chế độ
không chia sẻ; nghĩa là, chỉ một quá trình tại cùng một thời điểm có thể sử
dụng tài nguyên. Nếu một quá trình khác yêu cầu tài nguyên đó, quá trình
yêu cầu phải tạm dừng cho đến khi tài nguyên được giải phóng.
2) Giữ và chờ cấp thêm tài nguyên: quá trình phải đang giữ ít nhất một tài
nguyên và đang chờ để nhận tài nguyên thêm mà hiện đang được giữ bởi
quá trình khác.
3) Không đòi lại tài nguyên từ quá trình đang giữ chúng: Các tài nguyên
không thể bị đòi lại; nghĩa là, tài nguyên có thể được giải phóng chỉ tự ý
bởi quá trình đang giữ nó, sau khi quá trình đó hoàn thành tác vụ.
4) Tồn tại chu trình trong đồ thị cấp phát tài nguyên: một tập hợp các quá
trình {P0, P1,…,Pn} đang chờ mà trong đó P0 đang chờ một tài nguyên
được giữ bởi P1, P1 đang chờ tài nguyên đang giữ bởi P2,…,Pn-1 đang chờ
tài nguyên đang được giữ bởi quá trình P0.

Chúng ta nhấn mạnh rằng tất cả bốn điều kiện phải cùng phát sinh để deadlock
xảy ra. Điều kiện chờ đợi ch trình đưa đến điều kiện giữ-và-chờ vì thế bốn điều kiện
không hoàn toàn độc lập.

Nguyen Sy Hung I12A

Tổng số bài gửi : 28
Join date : 15/02/2012
Age : 34

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Re: Thảo luận Bài 8

Bài gửi  trinhvanminh_11h1010077 18/4/2012, 23:05

LeThiMaiPhuongI12A đã viết:Deadlock là tình trạng kẹt của một nhóm tiến trình.
vd:
2 xe đi ngược chiều cùng qua 1 cây cầu hẹp, mà cầu thì cho được 1 xe qua nên khi 2 xe vào đến giữa cầu thì không thể tiếp tục tiến tới nữa, xãy ra kẹt xe (deadlock) vì không xe nào chịu nhường xe nào.

TÌNH TRẠNG XE QUA CẦU HẸP:

Thảo luận Bài 8 - Page 3 22777523

GIẢI QUYẾT VẤN ĐỀ KẸT LÀ SẼ CÓ 1 XE PHẢI TRẢ LẠI TÀI NGUYÊN MẶT ĐƯỜNG CHO XE CÒN LẠI QUA VẬY LÀ GIẢI QUYẾT ĐƯỢC DEADLOCK. NHƯNG 2 XE KO XE NÀO CHỊU TRẢ LẠI TÀI NGUYÊN MẶT ĐƯỜNG VÌ VẬY HĐH ÉP 1 TIẾN TRÌNH (XE) GIẢI PHÓNG TÀI NGUYÊN MẶT ĐƯỜNG VẬY LÀ GIẢI QUYẾT ĐƯỢC KẸT XE TRÊN CẦU HẸP CHO XE CÒN LẠI.

Thảo luận Bài 8 - Page 3 62870560

trinhvanminh_11h1010077
trinhvanminh_11h1010077

Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 38
Đến từ : tphcm

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Định nghĩa Deadlock (Kẹt khóa)

Bài gửi  HUYNHDUCANHI12A 18/4/2012, 23:08

Định nghĩa Deadlock (Kẹt khóa): Tình huống bị kẹt của một nhóm tiến trình do mỗi tiến trình trong nhóm đều chờ một sự kiện (event) có thể chỉ được gây ra bởi một tiến trình khác

Ví dụ minh họa Deadlock:Đi lễ hội (chùa Hương,Đền Hùng),giữa dòng người đi ra và đi vào trong khi con đường đi ra vào lại lại chỉ có một đường nên không đủ cho việc ra vào,dẫn đến kẹt và chờ đợi


Được sửa bởi HUYNHDUCANHI12A ngày 18/4/2012, 23:12; sửa lần 1.

HUYNHDUCANHI12A

Tổng số bài gửi : 31
Join date : 07/03/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Re: Thảo luận Bài 8

Bài gửi  trinhvanminh_11h1010077 18/4/2012, 23:09

Nguyen Sy Hung I12A đã viết:Trường hợp deadlock có thể phát sinh nếu bốn điều kiện sau xảy ra cùng một
lúc trong hệ thống:

1) Loại trừ hỗ tương: ít nhất một tài nguyên phải được giữ trong chế độ
không chia sẻ; nghĩa là, chỉ một quá trình tại cùng một thời điểm có thể sử
dụng tài nguyên. Nếu một quá trình khác yêu cầu tài nguyên đó, quá trình
yêu cầu phải tạm dừng cho đến khi tài nguyên được giải phóng.
2) Giữ và chờ cấp thêm tài nguyên: quá trình phải đang giữ ít nhất một tài
nguyên và đang chờ để nhận tài nguyên thêm mà hiện đang được giữ bởi
quá trình khác.
3) Không đòi lại tài nguyên từ quá trình đang giữ chúng: Các tài nguyên
không thể bị đòi lại; nghĩa là, tài nguyên có thể được giải phóng chỉ tự ý
bởi quá trình đang giữ nó, sau khi quá trình đó hoàn thành tác vụ.
4) Tồn tại chu trình trong đồ thị cấp phát tài nguyên: một tập hợp các quá
trình {P0, P1,…,Pn} đang chờ mà trong đó P0 đang chờ một tài nguyên
được giữ bởi P1, P1 đang chờ tài nguyên đang giữ bởi P2,…,Pn-1 đang chờ
tài nguyên đang được giữ bởi quá trình P0.

Chúng ta nhấn mạnh rằng tất cả bốn điều kiện phải cùng phát sinh để deadlock
xảy ra. Điều kiện chờ đợi ch trình đưa đến điều kiện giữ-và-chờ vì thế bốn điều kiện
không hoàn toàn độc lập.

THẦY NÓI LÀ 1 TRONG 4 TRƯỜNG HỢP XẢY RA LÀ HIỆN TƯỢNG DEADLOCK XẢY RA MÀ ??? confused

SORRY CÓ THỂ MÌNH NGHE NHẦM Neutral

NẾU VẬY CHỈ CẦN PHỦ ĐỊNH 1 TRONG 4 TRƯỜNG HỢP TRÊN THÌ KO XẢY RA HIỆN TƯỢNG DEADLOCK NỮA NHỈ cheers


Được sửa bởi trinhvanminh_11h1010077 ngày 18/4/2012, 23:23; sửa lần 1.
trinhvanminh_11h1010077
trinhvanminh_11h1010077

Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 38
Đến từ : tphcm

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Định nghĩa Deadlock? Ví Dụ

Bài gửi  tranvanthien27(I12C) 18/4/2012, 23:09

Định nghĩa: Tình huống bị kẹt của một nhóm tiến trình do mỗi tiến trình trong nhóm đều chờ một sự kiện hay 1 tài nguyên có thể chỉ được gây ra bởi một tiến trình khác.
ví dụ:
Có hai xe đi ngược chiều cùng qua 1 cây cầu hẹp, mà cầu thì chỉ có một làm xe nên khi hai xe vào đến giữa cầu thì không thể tiếp tục tiến đi được nữa xảy ra kẹt xe(deadlock) vì không người nào chịu nhường đường.

tranvanthien27(I12C)

Tổng số bài gửi : 62
Join date : 15/02/2012
Age : 34
Đến từ : Tuy Hòa - Phú Yên

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Re: Thảo luận Bài 8

Bài gửi  trinhvanminh_11h1010077 18/4/2012, 23:11

tranvanthien27(I12C) đã viết:Định nghĩa: Tình huống bị kẹt của một nhóm tiến trình do mỗi tiến trình trong nhóm đều chờ một sự kiện hay 1 tài nguyên có thể chỉ được gây ra bởi một tiến trình khác.
ví dụ:
Có hai xe đi ngược chiều cùng qua 1 cây cầu hẹp, mà cầu thì chỉ có một làm xe nên khi hai xe vào đến giữa cầu thì không thể tiếp tục tiến đi được nữa xảy ra kẹt xe(deadlock) vì không người nào chịu nhường đường.
ADD THÊM CÁI HÌNH CHO DỄ HIỂU Very Happy
Thảo luận Bài 8 - Page 3 22777523


Được sửa bởi trinhvanminh_11h1010077 ngày 18/4/2012, 23:24; sửa lần 1. (Reason for editing : ADD HÌNH)
trinhvanminh_11h1010077
trinhvanminh_11h1010077

Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 38
Đến từ : tphcm

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Giải pháp ngăn chặn Deadlock !!!

Bài gửi  tranvanthien27(I12C) 18/4/2012, 23:15

Giải pháp để ngăn chặn DeadLock là bằng cách phủ định một trong bốn điều kiện trên như sau:
+Loại trừ lẫn nhau: để ngăn tình trạng này xảy ra thì ta có thể tạo nhiều tài nguyên dùng chung để các tiến trình sử dụng 1 cách hiệu quả.
+Giữ và chờ: để ngăn tình trạng này ta sẽ cho các tiến trình giữ và chờ trong một khoảng thời gian nhất định nào đó. Như thế, sẽ giải phóng được tài nguyên và các tiến trình khác tiếp tục sử dụng tài nguyên đó.
+Không có tiếm quyền: để ngăn tình trạng này thì ta phải làm cho hệ điều hành lấy lại tài nguyên mà tiến trình đó đang giữ (có tiếm quyền).
+ Chờ xoay vòng: cách giải quyết cũng giống (Loại trừ lẫn nhau) là phải tạo nhiều tài nguyên dùng chung.

tranvanthien27(I12C)

Tổng số bài gửi : 62
Join date : 15/02/2012
Age : 34
Đến từ : Tuy Hòa - Phú Yên

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Định nghĩa Deadlock (Kẹt khóa)

Bài gửi  HUYNHDUCANHI12A 18/4/2012, 23:20

Định nghĩa Deadlock (Kẹt khóa): Tình huống bị kẹt của một nhóm tiến trình do mỗi tiến trình trong nhóm đều chờ một sự kiện (event) có thể chỉ được gây ra bởi một tiến trình khác.

Ví dụ minh họa Deadlock:
Đi Lễ (Chùa Hương,Đền Hùng) khi giữa dòng người đi ra và đi vào trên cùng một tuyến đường gây ra kẹt và chờ nhau

HUYNHDUCANHI12A

Tổng số bài gửi : 31
Join date : 07/03/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Giải pháp ngăn chặn Deadlock ?

Bài gửi  TranMinhTuan143(I12A) 18/4/2012, 23:24

Trường hợp deadlock có thể phát sinh nếu một bốn điều kiện sau xảy ra:
- Loại trừ lẫn nhau (Multual Exclusion): Ít nhất có 1 tài nguyên có tính không chia sẻ (non-shareable), nghĩa là mỗi thời điểm chỉ có một tiến trình được sử dụng nó.
- Giữ và chờ (Hold and Wait): Có 1 tiến trình đang giữ tài nguyên và xin thêm tài nguyên đang bị độc chiếm bởi tiến trình khác.
- Không có tiếm quyền (No Preemption): Tài nguyên đang giữ bởi tiến trình không thể bị tiếm quyền mà phải được tiên trình này tự nguyên trả lại hệ thống sau khi dung xong.
- Chờ xoay vòng (Circular Wait): Giả sử có n tiến trình đang chờ tài nguyên {P1,P2…Pn}, khi đó P1 chờ TN giữ bởi P2, tiến trình P2 chờ TN giữ bởi P3, …, Pn chờ P1.

Giải pháp để ngăn chặn DeadLock là bằng cách phủ định một trong bốn điều kiện trên như sau:

+Loại trừ lẫn nhau: để ngăn tình trạng này xảy ra thì ta có thể tạo nhiều tài nguyên dùng chung để các tiến trình sử dụng 1 cách hiệu quả.
+Giữ và chờ: để ngăn tình trạng này ta sẽ cho các tiến trình giữ và chờ trong một khoảng thời gian nhất định nào đó. Như thế, sẽ giải phóng được tài nguyên và các tiến trình khác tiếp tục sử dụng TN đó.
+Không có tiếm quyền: để ngăn tình trạng này thì ta phải làm cho hệ điều hành lấy lại tài nguyên mà tiến trình đó đang giữ (có tiếm quyền).
+ Chờ xoay vòng: cách giải quyết cũng giống (Loại trừ lẫn nhau) là phải tạo nhiều TN dùng chung.

TranMinhTuan143(I12A)

Tổng số bài gửi : 38
Join date : 22/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Trình bày 4 cách ngăn chặn Deadlock

Bài gửi  quicly_I111c 18/4/2012, 23:35

Để ngăn chặn Deadlock ta phải làm sao cho ít nhất 1 trong 4 điều kiện dẫn đến Deadlock không xảy ra. Cụ thể:
- Với Mutual Exclusion: Đảm bảo TN nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình.
- Với Hold and Wait:
1- Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
2- TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
- Với No Preemption:
1- Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
2- Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền sử dụng để cấp cho TT đang xin.
- Với Circular Wait: Cấp TN theo một thứ tự nào đấy.

quicly_I111c

Tổng số bài gửi : 20
Join date : 30/08/2011

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Định nghĩa Deadlock và Điều kiện cần để xảy ra deadlock

Bài gửi  LeXuanHau (I12C) 18/4/2012, 23:55

Định nghĩa Deadlock
- Trong hệ thống đa chương, nhiều quá trình có thể
cạnh tranh một số giới hạn tài nguyên.
- Một quá trình yêu cầu tài nguyên, nếu tài nguyên
không sẵn dùng tại thời điểm đó, quá trình đi vào
trạng thái chờ.
-Quá trình chờ có thể không bao giờ chuyển trạng thái
trở lại vì tài nguyên chúng yêu cầu bị giữ bởi những
quá trình khác
=>Trường hợp này gọi là deadlock(khóa chết).

Điều kiện cần để xảy ra deadlock :
Bốn điều kiện cần (necessary condition) để xảy ra
deadlock
1. Loại trừ tương hổ (Mutual exclusion): ít nhất một
tài nguyển được giữ trong chế độ không chia sẻ
2. Giữ và chờ cấp thêm tài nguyên (Hold and wait):
một process đang giữ ít nhất một tài nguyên và
đợi thêm tài nguyên do quá trình khác đang giữ
3. Không có ưu tiên (No preemption): tài nguyên không thể bị lấy lại,mà chỉ có thể được trả lại từ process đang giử tài nguyên đó khi nó muốn.
4. Chu trình (Circular wait): tồn tại một chu trình của các yêu cầu tài nguyên và tài nguyên đã được cấp phát.

LeXuanHau (I12C)

Tổng số bài gửi : 33
Join date : 16/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Giải thích và Vẽ được đồ thị cấp phát tài nguyên

Bài gửi  HUYNHDUCANHI12A 18/4/2012, 23:57

Giải thích vẽ được đồ thị cấp phát tài nguyên:
Thảo luận Bài 8 - Page 3 F606210bebed07dc2a28047251964520_43619745.hinh1

* Dấu chấm được ký hiệu gọi là phiên bản
- Hình không có Deadlock ta giải thích như sau: Ta nhìn thấy tiến trình từ R2->P1->R1->P2->R3->P3 kết thúc và R2->P2->R3->P3 kết thúc.Các tiến trình đều dừng tại P3,trong khi ta thấy R2->P1->R1->P2<-R2 như một chu trình vòng tròn nhưng thật ra không đúng vậy vì P2 được cấp phát từ R1 và R2.Nên tài nguyên R1, R2,R3 không tạo thành chu trình và không có Deadlock.
- Hình có Deadlock ta giải thích như sau: tiến trình từ R2->P1->R1->P2->R3->P3->R2 kết thúc và R2->P2->R3->P3->R3 kết thúc.Các tiến trình đều bắt đầu và kết thúc tại R2 nên tài nguyên R1, R2,R3 tạo thành chu trình và có Deadlock



HUYNHDUCANHI12A

Tổng số bài gửi : 31
Join date : 07/03/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Điều kiện xảy ra Deadlock

Bài gửi  VoTrongQuyet-I12A 18/4/2012, 23:59

Có bốn điều kiện cần thiết để deadlock có thể xảy ra.
- Điều kiện loại trừ lẫn nhau: Một tài nguyên không thể sử dụng bởi nhiều hơn một tiến trình tại một thời điểm
- Điều kiện giữ và chờ: Các tiến trình giữ tài nguyên và chờ tài nguyên mới
- Điều kiện không thể chiếm: Các tài nguyên không thể bị đòi lại, chúng chỉ có thể được giải phóng bởi chính tiến trình chiếm giử chúng
- Điều kiện chu trình chờ: Các tiến trình giử tài nguyên và chờ các tài nguyên bị giử bởi tiến trình khác, tạo thành một chu trình. Ví dụ: Tiến trình 1, chiếm A1, chờ A2. Tiến trình 2 chiếm A2, chờ A3,... Tiến trình N chiếm An, chờ A1.
ví dụ:
Thread 1 Thread 2
Muốn lấy tài nguyên A và B Muốn lấy tài nguyên A và B
Chiếm tài nguyên A , chờ Thread 2 bắt đầu chạy cho tới khi Thread 2 đợi tài nguyên A giải phóng
Chiếm tài nguyên B
Đợi tài nguyên A giải phóng
Đợi tài nguyên B giải phóng

VoTrongQuyet-I12A

Tổng số bài gửi : 24
Join date : 16/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Định nghĩa deadlock

Bài gửi  LeThanhTung (I11C) 19/4/2012, 00:06

Tình huống kẹt của của một nhóm tiến trình do mỗi tiến trình trong nhóm đều chờ một sự kiện (event) có thể chỉ được gây ra bởi một tiến trình khác.
ví dụ: 2 xe đi cùng chiều qua một cây cầu hẹp, mà cầu chỉ có một làn xe, nên khi 2 xe vào đến giữa cầu thì không thể tiếp tục tiến tới nữa, xãy ra kẹt xe (deadlock) vì không xe nào chịu nhường.


Được sửa bởi LeThanhTung (I11C) ngày 19/4/2012, 00:09; sửa lần 1.

LeThanhTung (I11C)

Tổng số bài gửi : 50
Join date : 28/08/2011

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty 4 điều kiện cần dẫn đến deadlock

Bài gửi  LeThanhTung (I11C) 19/4/2012, 00:08

- Loại trừ lẫn nhau (Multual Exclusion): Ít nhất có 1 tài nguyên có tính không chia sẻ (non-shareable), nghĩa là mỗi thời điểm chỉ có một tiến trình được sử dụng nó.
- Giữ và chờ (Hold and Wait): Có 1 tiến trình đang giữ tài nguyên và xin thêm tài nguyên đang bị độc chiếm bởi tiến trình khác.
- Không có tiếm quyền (No Preemption): Tài nguyên đang giữ bởi tiến trình không thể bị tiếm quyền mà phải được tiên trình này tự nguyên trả lại hệ thống sau khi dung xong.
- Chờ xoay vòng (Circular Wait): Giả sử có n tiến trình đang chờ tài nguyên {P1,P2…Pn}, khi đó P1 chờ TN giữ bởi P2, tiến trình P2 chờ TN giữ bởi P3, …, Pn chờ P1.

LeThanhTung (I11C)

Tổng số bài gửi : 50
Join date : 28/08/2011

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Khái niện đồ thị cấp phát tài nguyên.

Bài gửi  NguyenHoangThangI12A 19/4/2012, 00:12

- Đồ thị cấp phát tài nguyên (Resource allocation graph-RAG) là đồ thị có hướng với tập nút V và tập cung E.

+ Tập nút V gồm 2 loại:
P ={P1, P2, ..., Pn} tập hợp các tiến trình đang vận hành trong hệ thống.
R ={R1, R2, ..., Rm} tất cả các tài nguyên trong hệ thống. Mỗi loại Rj có từ 1 đến nhiều
phiên bản. VD: máy in có 3 phiên bản, ...

+Tập cung E bao gồm:
Cung yêu cầu (Request edge): có hướng từ Pi -> Rj, P1 yêu cầu 1 phiên bản tài nguyên Rj.
Cung ấn định (Assignment edge): có hướng từ Rj->Pi, 1 phiên bản tài nguyên Rj được cấp
phát cho Pi.

Đồ thị cấp phát tài nguyên gồm có: chu trình và không có chu trình.
o Không có chu trình: không tồn tại Deadlock
o Có chu trình: có hoặc không có Deadlock
.Có Deadlock khi mỗi tài nguyên trên chu trình chỉ có duy nhất 1 phiên bản.
.Có thể không có Deadlock khi tài nguyên thuộc chu trình có nhiều phiên bản.
Thảo luận Bài 8 - Page 3 Adadno

NguyenHoangThangI12A
NguyenHoangThangI12A

Tổng số bài gửi : 34
Join date : 15/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Giải thích vẽ được đồ thị cấp phát tài nguyên (RAFG có chu trình nhưng không có Deadlock)

Bài gửi  HUYNHDUCANHI12A 19/4/2012, 00:20

RAFG có chu trình nhưng không có Deadlock:
R1,R2 đều có hai phiên bản
R1 một phiên bản cấp phát cho P2 và một phiên bản nhận từ P1 cấp phát cho P3
R2 môt phiên bản cấp phát cho P4 và một phiên bản nhận từ P3 cấp phát cho P1

Thảo luận Bài 8 - Page 3 1

Thảo luận Bài 8 - Page 3 2

Thảo luận Bài 8 - Page 3 H3

Thảo luận Bài 8 - Page 3 4

Tiến trình P4 có thể giải phóng một đơn vị của loại tài nguyên R2,tài nguyên đó có thể được cấp phát tới P3 sau đó chu trình sẽ không còn.Nếu đồ thị cấp phát tài nguyên không có chu trình thì hệ thống không có trạng thái Deadlock,nếu có chu trình thì có thế có hoặc không trạng thái Deadlock

HUYNHDUCANHI12A

Tổng số bài gửi : 31
Join date : 07/03/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Phân tích 4 điều kiện cần dẫn đến Deadlock

Bài gửi  HUYNHDUCANHI12A 19/4/2012, 00:41

Phân tích 4 điều kiện cần dẫn đến Deadlock:

- Loại trừ lẫn nhau (Multual Exclusion): Ít nhất có 1 tài nguyên có tính không chia sẻ (non-shareable), nghĩa là mỗi thời điểm chỉ có một tiến trình được sử dụng nó.
- Giữ và chờ (Hold and Wait): Có 1 tiến trình đang giữ tài nguyên và xin thêm tài nguyên đang bị độc chiếm bởi tiến trình khác.
- Không có tiếm quyền (No Preemption): Tài nguyên đang giữ bởi tiến trình không thể bị tiếm quyền mà phải được tiên trình này tự nguyên trả lại hệ thống sau khi dung xong.
- Chờ xoay vòng (Circular Wait): Giả sử có n tiến trình đang chờ tài nguyên {P1,P2…Pn}, khi đó P1 chờ TN giữ bởi P2, tiến trình P2 chờ TN giữ bởi P3, …, Pn chờ P1.

HUYNHDUCANHI12A

Tổng số bài gửi : 31
Join date : 07/03/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Định nghĩa DeadLock và nêu các ví dụ minh họa

Bài gửi  NguyenHongHaiI12C 19/4/2012, 08:30

Deadlock : Là Một số tiến trình có thể tranh nhau bởi một số tài nguyên hạn chế.

Tài nguyên hệ thống được chia thành nhiều loại, mỗi loại có 1 hoặc nhiều phiên bản(Instances).
+ Các tiến trình chờ có thể sẽ không bao giờ thay đổi lại trạng thái được vì các tài nguyên mà nó yêu cầu bị giữ bởi các tiến trình chờ khác.

+ Mỗi tiến trình sử dụng tài nguyên theo các bước sau:
• yêu cầu tài nguyên(request): Nếu yêu cầu không được giải quyết ngay( ví dụ khi tài nguyên đang được tiến trình khác sử dụng) thì tiến trình yêu cầu phải đợi cho đến khi nhận được tài nguyên.
• Sử dụng tài nguyên(use)
• Trả lại(Release): Trả tài nguyên cho HĐH quản lý.

ví dụ: Hiện tượng tắc nghẽn trên cầu:
+ Hai (hay nhiều hơn) ô tô đối đầu nhau trên một cây cầu hẹp chỉ đủ độ rộng cho một chiếc.
+ Mỗi đoạn của cây cầu có thể xem như một tài nguyên
+ Nếu deadlock xuất hiện, nó có thể được giải quyết nếu một hay một số ô tô lùi lại nhường đường rồi tiển ra sau. deadlock là kẹt mãi mãi

NguyenHongHaiI12C

Tổng số bài gửi : 48
Join date : 18/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Bốn điều kiện dẫn đến deadlock và biện pháp ngăn chặn

Bài gửi  NguyenHongHaiI12C 19/4/2012, 08:32

Bốn điều kiện:
+ Loại trừ lẫn nhau (Mutual Exclusion): Ít nhất có 1 tài nguyên có tính không chia sẻ (non-sharable), nghĩa là: Mỗi thời điểm chỉ có 1 tiến trình được sử dụng nó.
+ Giữ và chờ (Hold and Wait): Có 1 tiến trình đang giữ 1 tài nguyên và xin thêm tài nguyên đang độc chiếm bởi tiến trình khác.
+ Không có tiếm quyền (No Preemption): Tài nguyên đang giữ bởi tiến trình không thể bị tiếm quyền mà phải được tiến trình này tự nguyện trả lại hệ thống sau khi sử dụng xong.
+ Chờ xoay vòng (Circular Wait): Giả sử có n tiến trình đang chờ tài nguyên là { P1 , P2, ... , Pn }, khi đó P1 chờ TN giữ bởi P2 , tiến trình P2 chờ TN giữ bởi P3 , ... , Pn chờ P1 .
* Bốn điều kiện này không hoàn toàn độc lập với nhau: ví dụ, Điều kiện 4 kéo theo Điều kiện 2.

Giải pháp xử lý:
1. Sử dụng quy tắc Ngăn chặn (Prevention) hoặc Tránh (Avoidance) để Deadlock không bao giờ xảy ra.
2. Cho phép hệ thống bị Deadlock, sau đó Xác định (Detection) và tìm cách Khắc phục (Recover).
3. Không xét vấn đề Deadlock, coi như không bao giờ xảy ra, còn nếu xảy ra thì Khởi động lại hệ thống (Cách này có thể có ý nghĩa thực tế vì không cần đưa vào HĐH các phương tiện xử trí thường trực).

Biện pháp ngăn chặn:
Bằng cách sao cho ít nhất 1 trong 4 điều kiện cần kể trên không xảy ra.
° Với Mutual Exclusion: Đảm bảo TN nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình.
° Với Hold and Wait:
1- Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
2- TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
° Với No Preemption:
1- Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
2- Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền sử dụng để cấp cho TT đang xin.

NguyenHongHaiI12C

Tổng số bài gửi : 48
Join date : 18/02/2012

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 3 Empty Re: Thảo luận Bài 8

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 3 trong tổng số 11 trang Previous  1, 2, 3, 4 ... 9, 10, 11  Next

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết