Thảo luận Bài 8
+83
leanhhuy (I11C)
phamdieptuan (I11C)
DaoVanHoang (I11C)
NguyenMinhNhut.(I11c)
PhamHuyHoang (I11C)
ledinhngankhanh (i11c)
nguyenthanhhieu(i11c)
PhamThiHoa-I91C
TRANTHINHPHAT (I11C)
DangMinhQuang(I11C)
NguyenDoTu (I11C)
TranThanhHoang(I91C)
nguyenduc_gia.18(I11c)
NguyenNgocMyTien(I11C)
LE DUY NHAT AN (I91C)
BuiHoangTuan.131.I11C
Nguyen Dinh Manh060(I11c)
ThanhThao04(I11C)
NguyenThiThanhThuy(I11C)
PhamDuyPhuong87(I11C)
HuynhVanNhut (I11C)
LeMinhDuc (I11C)
onlyminhlong
LeTanDat (I11C)
Nguyenminhduc (I11C)
tranphanhieu36_i11c
TranTrungTinh(I11C)
DuongKimLong(I111C)
NguyenDongGiang
lengocthuthao89 (i11c)
dongocthien (I11C)
nguyenthingocloan (I11C)
HuynhPhuong (I11C)
PhamVanNgo(I11C)
TrinhThiPhuongThaoI11C
nguyen huynh nhu (102C)
KimHue36 (I11C)
DuongTrungTinh(I11C)
HoangThiVe (I11C)
HoangThanhChuong (I11C)
lytrannhutlinh i11c
HoangNgocQuynh(I11C)
TrinhThiOanh (I11C)
tranvantoan83(I11c)
BuiLeHung(83C)
Duongthithanhhuynh (I11C)
BuiHuuThanhLuan(I11C)
ngocquynh2091(i11C)
nguyenquoctruong (I11C)
phamngoctan095 (I11C)
HoiHoangHongVu I11C
minhgiangbc
tranvanhai_21(I11c)
chauchanduong (I11C)
08H1010052
tranleanhngoc88(i11c)
nguyenthithuylinh (I11C)
LeMInhTien(I11C)
chipphonui
buithithudung24 (i11c)
VoMinhHoang (I11C)
doanhongdao030(I11C)
hongthuanphong (I11C)
dangminhthinh2107
NguyenDinhHop (I11C)
nguyenminhlai.(I11C)
NguyThiGai (I11C)
TranQuyThanh (I11C)
Tranvancanh(I11C)
DaoQuangSieu (I11C)
LaVanKhuong (I11C)
caotanthanh(i11c)
DangNgocMinh(I11C)
BuiVanHoc(I11C)
NgoDucTuan (I11C)
nguyenvulinh_i11c
XuanThai_I11C
ToThiThuyTrang (I11C)
NgoLeYen48(I11C)
tannamthanh(I11C)
dinhtrongnghia(I11C)
vothihonggam
Admin
87 posters
Trang 7 trong tổng số 10 trang
Trang 7 trong tổng số 10 trang • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Re: Thảo luận Bài 8
TrinhThiPhuongThaoI11C đã viết:Ví dụ cuả hai bạn rất hay! Mong hai bạn đóng góp nhiều hơn cho diễn đàn.NgoLeYen48(I11C) đã viết:vothihonggam đã viết: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.
Thêm 1 ví dụ : 5 thầy giáo đều cần máy chiếu để dạy ngay trong khi ở phòng thiết bị hiện tại chỉ có 1 máy chiếu => dẫn đến tranh chấp.
Hai con dê cùng 1 muốn đi qua một chiếc cầu (đi ngược chiều nhau). Nhưng đến giữa cầu chẳng con nào nhường con nào (deadlock) .Cuối cùng hai con dê húc nhau. Cả hai con cùng rớt xuống sông.
Dựa theo truyện ngụ ngôn. ^^
TrinhThiOanh (I11C)- Tổng số bài gửi : 8
Join date : 26/08/2011
Age : 35
Đến từ : GIA LAI
Re: Thảo luận Bài 8
nguyenquoctruong (I11C) đã viết:Theo mình thì chưa được. Tìm chuổi an toàn là phải xét từ đầu đến cuối. ví dụ có (P1, P2, P3, P4) lần lược xét P1 thỏa, xét tiếp P2 không thỏa, tiếp tục xét P3, xét P4. xét hết, cuối cùng mới kết luận có tồn tại chuổi an toàn hay không.DaoQuangSieu (I11C) đã viết:Chào Thầy và các bạn !!chauchanduong (I11C) đã viết:Chào Thầy và các bạn
-Thầy ơi cho em hỏi là: Trong thuật giải nhà băng mình đi tìm chuỗi an toàn .
Ví dụ: Có 4 tiến trình từ [ P1, P2, P3, P4 ] vậy lúc mình tìm chuỗi an toàn em vét theo thứ tự từ P1 đến P4, nếu như P1 thoả điều kiện thì em tiếp tục xét tiếp P2. Giả sử P2 không thoả điều kiện thì mình có xét tiếp P3 và P4 không Thầy hay là khi P2 không thoả thì mình kết luận liền là "Không tìm được chuỗi an toàn".
- Thầy hướng dẫn giúp em nhé!
Admin
- Em xét theo thứ tự từ đầu đến cuối là đúng. Chú ý: Tiến trình nào lấy được rồi thì bỏ qua.
- Nếu trong quá trình xét, tiến trình nào đó không thoả, thì chuyển sang tiến trình kế tiếp. Nếu thoả, hãy chọn nó.
- Xét đến cùng mà không tìm được tiến trình nào thoả, nghĩa là không tồn tại chuỗi an toàn (chỉ tìm được phần đầu của chuỗi hay thậm chí chuỗi hoàn toàn rỗng).
Theo ý kiến của mình: Trong quá trình xét các tiến trình tìm chuỗi an toàn, nếu tiến trình nào không thỏa điều kiện thì ta sẽ xác định ngay không tồn tại chuỗi an toàn. Ví dụ: p1 đã thỏa điều kiện nhưng khi xét đến p2 thì p2 không thỏa điều kiện thì ta có thể không xét các tiến trình khác và kết luận ngay đây không tồn tại chuỗi an toàn.
Không biết như vậy có được không, mong Thầy và các bạn góp ý.
Ý kiến mình như sau: tùy thuộc vào vấn đề đặt ra mình sẽ lựa chọn xét 1 hoặc hết các tiến trình để tìm chuỗi an toàn.
Nếu như sau khi chứng minh trạng thái an toàn, nếu có thay đổi tài nguyên của 1 tiến trình xác định nào đó thì ta chỉ cần xét điều kiện và trạng thái mới của đúng tiến trình đó thôi.
Còn nếu đề bài có đưa ra yêu cầu thay đổi tài nguyên của các tiến trình và cho biết chuỗi có an toàn hay không thì chúng ta bắt buộc phải xét hết.
Mong Thầy và các bạn góp ý để các bạn có phương án làm bài.
08H1010052- Tổng số bài gửi : 52
Join date : 02/07/2010
Re: Thảo luận Bài 8
DaoQuangSieu (I11C) đã viết:Chào Thầy và các bạn !!chauchanduong (I11C) đã viết:Chào Thầy và các bạn
-Thầy ơi cho em hỏi là: Trong thuật giải nhà băng mình đi tìm chuỗi an toàn .
Ví dụ: Có 4 tiến trình từ [ P1, P2, P3, P4 ] vậy lúc mình tìm chuỗi an toàn em vét theo thứ tự từ P1 đến P4, nếu như P1 thoả điều kiện thì em tiếp tục xét tiếp P2. Giả sử P2 không thoả điều kiện thì mình có xét tiếp P3 và P4 không Thầy hay là khi P2 không thoả thì mình kết luận liền là "Không tìm được chuỗi an toàn".
- Thầy hướng dẫn giúp em nhé!
Admin
- Em xét theo thứ tự từ đầu đến cuối là đúng. Chú ý: Tiến trình nào lấy được rồi thì bỏ qua.
- Nếu trong quá trình xét, tiến trình nào đó không thoả, thì chuyển sang tiến trình kế tiếp. Nếu thoả, hãy chọn nó.
- Xét đến cùng mà không tìm được tiến trình nào thoả, nghĩa là không tồn tại chuỗi an toàn (chỉ tìm được phần đầu của chuỗi hay thậm chí chuỗi hoàn toàn rỗng).
Theo ý kiến của mình: Trong quá trình xét các tiến trình tìm chuỗi an toàn, nếu tiến trình nào không thỏa điều kiện thì ta sẽ xác định ngay không tồn tại chuỗi an toàn. Ví dụ: p1 đã thỏa điều kiện nhưng khi xét đến p2 thì p2 không thỏa điều kiện thì ta có thể không xét các tiến trình khác và kết luận ngay đây không tồn tại chuỗi an toàn.
Không biết như vậy có được không, mong Thầy và các bạn góp ý.
Bạn Siêu ơi, bạn xét như vậy là không đúng rồi, mình phải xét lần lượt từng tiến trình một, nếu tiến trình Pi không thỏa điều kiện bạn phải xét tiếp đến đều kiện thỏa của tiến trình thứ P(i+1)... đến khi xét đến trường hợp Pn lúc này đến tiến trình cuối cùng, nếu không thỏa thì mới kết luận là không tìm được chuỗi an toàn chứ
Re: Thảo luận Bài 8
TranTrungTinh(I11C) đã viết:Mình xin giải theo cách hiểu của mình!doanhongdao030(I11C) đã viết:mình ko hiểu lắm.có ai làm rõ hơn koDuongthithanhhuynh (I11C) đã viết:Bài tập: hệ thống có 12 ổ băng và 3 tiến trình
dùng thuật giải nhà băng chứng minh trạng thái này an toàn-Available=12-9=3
tiến trình Được cấp(ổ đĩa) tối đa cần(ổ đĩa) P1 5 10 P2 2 4 P3 2 9
-Need=Max-Allocation
P1=10-5=5
P2=4-2=2
P3=9-2=7-Tồn tại chuỗi an toàn T0={P2,P1,P3}
work ≥ Need Pi Allocation(i) 3 2 P2 2 5 5 P1 5 10 7 P3 2
Vậy trạng thái tại thời điểm T0 là an toàn.
Allocation = (5,2,2)
Max = (10,4,9)
Need = Max - Allocation = (5,2,7)
Available = 12 - (5+2+2)=3tìm chuỗi an toàn
P[i] Need Max Allocation Available P1 5 10 5 3 P2 2 4 2 P3 7 9 2 Vậy tồn tại chuỗi an toàn là <P2,P1,P3>
Word >= Need Pi Allocation 3 2 P2 2 5 5 P1 5 10 7 P3 2
Bạn TranTrungTinh bài giải của bạn rất dễ hiểu, mình có góp ý một xíu về từ tiếng anh bạn viết sai đó là từ WORK chứ không phải là WORD
Re: Thảo luận Bài 8
TrinhThiOanh (I11C) đã viết:
Chuỗi an toàn của bạn là {P3, P4, P2, P1, P0}
Nhưng theo mình chuỗi an toàn là { P3, P4, P1, P2, P0}
Bạn nào có thể giúp mình giải thích vì sao chọn P2 trước mà không chọn P1. Sau khi xét tới P4 thì ta xét lại từ đầu mà. Vậy so sánh giữa work >= need[i] thì P1 cũng thỏa đk mà. Sau khi P1 được chọn thì ta mới tiếp tục xét tới P2.
Đặt ra câu hỏi là cả hai trường hợp đều chấp nhận được phải không. Hay bắt buộc phải là P2 trước P1
Mong các bạn giúp mình giải quyết thắc mắc.
Kam un!
Bạn à. Bạn cũng đúng chứ không sai. Nhưng bạn kia cũng đúng. Bởi vì tại một thời điểm có thể có nhiều chuỗi an toàn chứ không phải chỉ có 1 chuỗi. Bạn xét P3->P4 rồi thì chọn đại P(i) nào nữa cũng được miễn là thỏa điều kiện work >= need[i] và đừng lấy lại P3 hay P4( đã xét rồi thì không xét lại). Mình biết bạn tìm được chuỗi này theo cách cứ tìm từ trên xuống ( nhưng yêu cầu là P(i) nào đó chỉ cần thỏa điều work >= need[i] là được chứ không nhất thiết là phải xét từ trên xuống).
Chỉ cần bạn hiểu và làm đúng vậy là được. Và không nhất thiết chuỗi an toàn tìm được phải giống nhau vì chỉ cần tìm 1 chuỗi thôi là dùng được rồi. Còn tìm hết tất cả các chuỗi thì chắc chắn 2 bạn sẽ giống nhau nếu cả hai bạn đều làm đúng.
Chúc bạn thi tốt trong kỳ thi sắp tới nha
Admin
- Không dại gì mà tìm hết cả ! Hãy dành thời gian cho câu khác !
- "Tìm hết" lại có thể bị "trừ điểm" đấy, do không hiểu bài lắm !
tranphanhieu36_i11c- Tổng số bài gửi : 31
Join date : 25/08/2011
Re: Thảo luận Bài 8
TranTrungTinh(I11C) đã viết:Mình xin giải theo cách hiểu của mình!doanhongdao030(I11C) đã viết:mình ko hiểu lắm.có ai làm rõ hơn koDuongthithanhhuynh (I11C) đã viết:Bài tập: hệ thống có 12 ổ băng và 3 tiến trình
dùng thuật giải nhà băng chứng minh trạng thái này an toàn-Available=12-9=3
tiến trình Được cấp(ổ đĩa) tối đa cần(ổ đĩa) P1 5 10 P2 2 4 P3 2 9
-Need=Max-Allocation
P1=10-5=5
P2=4-2=2
P3=9-2=7-Tồn tại chuỗi an toàn T0={P2,P1,P3}
work ≥ Need Pi Allocation(i) 3 2 P2 2 5 5 P1 5 10 7 P3 2
Vậy trạng thái tại thời điểm T0 là an toàn.
Allocation = (5,2,2)
Max = (10,4,9)
Need = Max - Allocation = (5,2,7)
Available = 12 - (5+2+2)=3tìm chuỗi an toàn
P[i] Need Max Allocation Available P1 5 10 5 3 P2 2 4 2 P3 7 9 2 Vậy tồn tại chuỗi an toàn là <P2,P1,P3>
Word >= Need Pi Allocation 3 2 P2 2 5 5 P1 5 10 7 P3 2
Mình xin bổ sung thêm trạng thái an toàn mới với yêu cầu mới cho P1 như sau cho chuỗi an toàn <P2,P1,P3>:
Pi | Đang giữ | Needi | Hệ có |
P1 | 5 | 5 | 2 |
P2 | 2 | 2 | |
P3 | 3 | 4 |
08H1010052- Tổng số bài gửi : 52
Join date : 02/07/2010
Re: Thảo luận Bài 8
NgoDucTuan (I11C) đã viết:08H1010052 đã viết:PhamVanNgo(I11C) đã viết:NgoDucTuan (I11C) đã viết:
Bạn nào hiểu thuật giải nhà băng giúp mình giải thích và giải bài toán này. Theo đề bên trên.
Cảm ơn các bạn đã giúp mình.
Hi bạn, mình sẽ giải theo những gì mình hiểu nhé. nếu sai thì cùng nhau sửa và học hỏi lẫn nhau nhé
a) Buớc 1 : Phải đi tính Need = MAX - Allocation
TT Need ABCD P0 0000 P1 0750 P2 1002 P3 0020 P4 0642
Bước 2 : Tìm chuỗi an toàn của hệ thống:
Work >= Needi Pi Allocation A B C D A B C D A B C D 1 5 2 0 0 0 2 0 P3 0 6 3 2 1 11 5 2 0 6 4 2 P4 0 0 1 4 1 11 6 6 1 0 0 2 P2 1 3 5 4 2 14 11 10 0 7 5 0 P1 1 0 0 0 3 14 11 10 0 0 0 0 P0 0 0 1 2
Từ đây suy ra hệ thống tồn tại chuỗi an toàn = {P3,P4,P2,P1,P0} => hệ thống tại thời điểm này an toàn.
b) Giả sử P1 có y/cầu mới = (0,4,3,0)
Dựa vào y/cầu mới của P1 ta có thể khẳng định không nên đáp ứng y/cầu của P1 lý do:
vì không đáp ứng điều kiện Request1 <= Available <==> (0,4,3,0) kô <= (1,5,2,0)
giải thích thêm : việc xem xét có đáp ứng y/cầu mới hay kô thì phải thỏa 2 đk sau :
1. Request(i) <= Available
2. Request(i) <= MAX(i)
===========
Xin mọi người chỉ giáo thêm.
Thanks bạn nhiều, bài giải rõ ràng dể hiểu!
Chào tất cả các bạn mình xin chia sẻ thêm với các bạn cách giải này:
a. Xét tại thời điểm T0 mà 5 tiến trình được cấp phát như đề bài ta có:
Need[i] = Max[i] – Allocation[i]
Tìm chuỗi an toàn:
Vậy tại thời điểm T0 tồn tại chuỗi an toàn {P0, P2, P3, P4, P1}. Suy ra, hệ thống tại thời điểm T0 ở trạng thái an toàn.
b. Ta thấy, yêu cầu thêm (0, 4, 3, 0) của P1 thoả điều kiện Request1 <= Need1, nhưng không thoả điều kiện: Request1 <= Available vì tài nguyên C trong hệ thống chỉ còn 2 mà yêu cầu 3. Do vậy, không thể cấp phát thêm (0, 4, 3, 0) cho P1 được.
Bài giải rất chính xác, giải thích dễ hiểu! Các bạn có thể tham khảo bài này nếu thấy khó hiểu. Tuy nhiên mình xin đưa thêm chuỗi an toàn khác cùng tham khảo nhé tại thời điểm To=<P0,P2,P1,P3,P4>, sự khác nhau giữa 2 đáp án này cũng đều có kết quả đúng, chẳng qua là trình tự xét các tiến trình theo thứ tự khác nhau mà thôi.
Thân chào!
08H1010052- Tổng số bài gửi : 52
Join date : 02/07/2010
Re: Thảo luận Bài 8
HuynhPhuong (I11C) đã viết:BuiHuuThanhLuan(I11C) đã viết:HuynhPhuong (I11C) đã viết:nguyen huynh nhu (102C) đã viết:Một hệ thống có 3 máy quét hình và 3 tiến trình P1, P2, P3 với trạng thái cấp phát tài nguyên tại thời điểm Ti thể hiện bằng các vector Allocation= (0,2,1), và Max(2,2,2). Dùng thuật giải nhà băng để:
a. Chứng minh trạng thái này an toàn.
b. Xác định có đáp ứng được hay không yêu cầu thêm 1 máy nữa của P2.
Giải:
a) Allocation= (0,2,1) và Max= (2,2,2)
Available= 3-(0 2 1)=0
Tiến trình Đang giữ Max Hệ có
P1 0 2 0
P2 2 2
P3 1 2
=> Need= (2,2,2) - (0,2,1)= (2,0,1)
Tiến trình Need
P1 2
P2 0
P3 1
Work >= Need(i) P(i) Allocation(i)
0 0 P2 2
2 1 P3 1
3 2 P1 0
Tồn tại chuỗi an toàn= {P2,P3,P1}. Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
b) Request(2)= 1
Need(2)= 0
=> Request(2)> Need(2) (1> 0)
Vậy không thể đáp ứng được yêu cầu thêm 1 máy nữa của P2.
Mình không hiểu rõ câu b lắm??? Có ai giải thích dùm không??
Câu b, để thỏa yêu cầu mới thì phải thỏa:
1. Request(i) <=Need(i)
2. Request(i) <=Available
sau khi xét 2 điều kiện này thì mới xét tiếp xem có tồn tại chuỗi an toàn khi có yêu cầu mới từ tiến trình hay không.
ở câu trên vì Request(2) > Need(2), nên không thể đáp ứng cho P2
Ở điều kiện 2 mình thấy slide của thầy ghi do không đủ tài nguyên. Còn điều kiện 1 cũng vậy phải không các bạn.
Thanks nha
Cho mình thêm ý nha:
Cũng có thể có chuỗi an toàn là <P2,P1,P3> nếu ta xét P1 trước P3 .
Thân chào các bạn!
08H1010052- Tổng số bài gửi : 52
Join date : 02/07/2010
Re: Thảo luận Bài 8
TrinhThiOanh (I11C) đã viết:08H1010052 đã viết:PhamVanNgo(I11C) đã viết:NgoDucTuan (I11C) đã viết:
Bạn nào hiểu thuật giải nhà băng giúp mình giải thích và giải bài toán này. Theo đề bên trên.
Cảm ơn các bạn đã giúp mình.
Hi bạn, mình sẽ giải theo những gì mình hiểu nhé. nếu sai thì cùng nhau sửa và học hỏi lẫn nhau nhé
a) Buớc 1 : Phải đi tính Need = MAX - Allocation
TT Need ABCD P0 0000 P1 0750 P2 1002 P3 0020 P4 0642
Bước 2 : Tìm chuỗi an toàn của hệ thống:
Work >= Needi Pi Allocation A B C D A B C D A B C D 1 5 2 0 0 0 2 0 P3 0 6 3 2 1 11 5 2 0 6 4 2 P4 0 0 1 4 1 11 6 6 1 0 0 2 P2 1 3 5 4 2 14 11 10 0 7 5 0 P1 1 0 0 0 3 14 11 10 0 0 0 0 P0 0 0 1 2
Từ đây suy ra hệ thống tồn tại chuỗi an toàn = {P3,P4,P2,P1,P0} => hệ thống tại thời điểm này an toàn.
b) Giả sử P1 có y/cầu mới = (0,4,3,0)
Dựa vào y/cầu mới của P1 ta có thể khẳng định không nên đáp ứng y/cầu của P1 lý do:
vì không đáp ứng điều kiện Request1 <= Available <==> (0,4,3,0) kô <= (1,5,2,0)
giải thích thêm : việc xem xét có đáp ứng y/cầu mới hay kô thì phải thỏa 2 đk sau :
1. Request(i) <= Available
2. Request(i) <= MAX(i)
===========
Xin mọi người chỉ giáo thêm.
Thanks bạn nhiều, bài giải rõ ràng dể hiểu!
Chuỗi an toàn của bạn là {P3, P4, P2, P1, P0}
Nhưng theo mình chuỗi an toàn là { P3, P4, P1, P2, P0}
Bạn nào có thể giúp mình giải thích vì sao chọn P2 trước mà không chọn P1. Sau khi xét tới P4 thì ta xét lại từ đầu mà. Vậy so sánh giữa work >= need[i] thì P1 cũng thỏa đk mà. Sau khi P1 được chọn thì ta mới tiếp tục xét tới P2.
Đặt ra câu hỏi là cả hai trường hợp đều chấp nhận được phải không. Hay bắt buộc phải là P2 trước P1
Mong các bạn giúp mình giải quyết thắc mắc.
Kam un!
Chào bạn!
Vào cuối buổi học trước, có 1 bạn lên thắc mắc về vấn đề này và thầy cũng trả lời rồi đấy bạn. Không những thế trong diễn đàn bài 8 này thầy cũng cho ý kiến ở các bài trước của các bạn khác rồi đấy, bạn để ý kỹ lại sẽ thấy nhé.
Khi bạn xét trong hệ, miễn sao các tiến trình nào thỏa điều kiện work >= need[i] thì có thể chấp nhận hết chứ không cần phải theo thứ tự nào cả. Nhưng mà khi bạn đã xét rồi thì ko được xét lại nữa. Tuy đáp án chuỗi an toàn mỗi người mỗi khác vì thứ tự nhưng trạng thái an toàn của hệ thì vần đúng ko thay đổi gì cả.
Thân chào!
08H1010052- Tổng số bài gửi : 52
Join date : 02/07/2010
Đ/N Deadlook
Trong môi trường multiprogramming 1 số process có thể tranh nhau 1 số tài nguyên hạn chế.
1 process yêu cầu các tài nguyên. Nếu tài nguyên ko thể đáp ứng tại thời điểm đó thì process sẽ chuyển sang trạng thái chờ.
Các process chờ có thể sẽ ko 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 process khác
Ví dụ : tắc nghẽn trên cầu.
- Hai (hay nhiều ) ô tô đối đầu nhau trên 1 cây cầu hẹp chỉ đủ độ rộng cho 1 chiếc.
- Mỗi đọan của cây cầu có thể xem như 1 tài nguyên
- Nếu deadlock xuất hiện: nó có thể được giải quyết nếu 1 hay 1 số ô tô lùi lại nhường đường rồi lên sau
1 process yêu cầu các tài nguyên. Nếu tài nguyên ko thể đáp ứng tại thời điểm đó thì process sẽ chuyển sang trạng thái chờ.
Các process chờ có thể sẽ ko 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 process khác
Ví dụ : tắc nghẽn trên cầu.
- Hai (hay nhiều ) ô tô đối đầu nhau trên 1 cây cầu hẹp chỉ đủ độ rộng cho 1 chiếc.
- Mỗi đọan của cây cầu có thể xem như 1 tài nguyên
- Nếu deadlock xuất hiện: nó có thể được giải quyết nếu 1 hay 1 số ô tô lùi lại nhường đường rồi lên sau
PhamDuyPhuong87(I11C)- Tổng số bài gửi : 23
Join date : 31/08/2011
Giải pháp ngăn ngừa Deadlook
Tìm cách ngăn chặn sao cho 1 trong 4 điều kiện ko xẩy ra:
Ngăn cản lẫn nhau:(mutual exclusion)
- đảm bảo hệ thống ko có các file ko thể chia sẻ
Một process ko bao giờ chờ tài nguyên chia sẻ (shareble resource)
Vd read-only file
Nhưng có 1 số tài nguyên ko chia sẻ được
Vd : chế độ toàn màn hình
Giữ và đợi:(Hold and wait)
- sử dụng cơ chế “All or none”
Cách 1 : bắt buộc mỗi process phải yêu cầu tòan bộ tài nguyên cấn thiết 1 lần, nếu có đủ tài nguyên hế thống sẽ cấp phát, nếu ko đủ tài nguyên, process sẽ bị block.
Cách 2: khi yêu cầu tài nguyên process không được sở hữu bất kỳ tài nguyên nào cả.nếu đang có thì phải trả lại trước khi yêu cầu.
Khuyết điểm :
Hiệu quả sử dụng tài nguyên rất thấp
Có khả năng xẩy ra bị đói starvation
Ngăn cản lẫn nhau:(mutual exclusion)
- đảm bảo hệ thống ko có các file ko thể chia sẻ
Một process ko bao giờ chờ tài nguyên chia sẻ (shareble resource)
Vd read-only file
Nhưng có 1 số tài nguyên ko chia sẻ được
Vd : chế độ toàn màn hình
Giữ và đợi:(Hold and wait)
- sử dụng cơ chế “All or none”
Cách 1 : bắt buộc mỗi process phải yêu cầu tòan bộ tài nguyên cấn thiết 1 lần, nếu có đủ tài nguyên hế thống sẽ cấp phát, nếu ko đủ tài nguyên, process sẽ bị block.
Cách 2: khi yêu cầu tài nguyên process không được sở hữu bất kỳ tài nguyên nào cả.nếu đang có thì phải trả lại trước khi yêu cầu.
Khuyết điểm :
Hiệu quả sử dụng tài nguyên rất thấp
Có khả năng xẩy ra bị đói starvation
PhamDuyPhuong87(I11C)- Tổng số bài gửi : 23
Join date : 31/08/2011
Re: Thảo luận Bài 8
PhamDuyPhuong87(I11C) đã viết:Tìm cách ngăn chặn sao cho 1 trong 4 điều kiện ko xẩy ra:
Ngăn cản lẫn nhau:(mutual exclusion)
- đảm bảo hệ thống ko có các file ko thể chia sẻ
Một process ko bao giờ chờ tài nguyên chia sẻ (shareble resource)
Vd read-only file
Nhưng có 1 số tài nguyên ko chia sẻ được
Vd : chế độ toàn màn hình
Giữ và đợi:(Hold and wait)
- sử dụng cơ chế “All or none”
Cách 1 : bắt buộc mỗi process phải yêu cầu tòan bộ tài nguyên cấn thiết 1 lần, nếu có đủ tài nguyên hế thống sẽ cấp phát, nếu ko đủ tài nguyên, process sẽ bị block.
Cách 2: khi yêu cầu tài nguyên process không được sở hữu bất kỳ tài nguyên nào cả.nếu đang có thì phải trả lại trước khi yêu cầu.
Khuyết điểm :
Hiệu quả sử dụng tài nguyên rất thấp
Có khả năng xẩy ra bị đói starvation
Bạn ơi là deadlock chứ không phải là deadlook đâu nhé. Bạn nhầm như vậy thật là nguy hiểm. Vì từ đó chẳng có nghĩa gì ở đây? Có 1 topic trước cũng lẫn lộn giữa từ word và từ work. Mong các bạn để ý kỹ để tránh nhầm lẫn nhé.
TrinhThiOanh (I11C)- Tổng số bài gửi : 8
Join date : 26/08/2011
Age : 35
Đến từ : GIA LAI
Hệ thống có 12 ổ băng và 3 tiến trình
dùng thuật giải nhà băng chứng minh trạng thái này an toàn
-Available=12-9=3
-Need=Max-Allocation
P1=10-5=5
P2=4-2=2
P3=9-2=7
-Tồn tại chuỗi an toàn T0={P2,P1,P3}
Vậy trạng thái tại thời điểm T0 là an toàn.
tiến trình | | Được cấp(ổ đĩa) | | tối đa cần(ổ đĩa) |
P1 | | 5 | | 10 |
P2 | | 2 | | 4 |
P3 | | 2 | | 9 |
-Available=12-9=3
-Need=Max-Allocation
P1=10-5=5
P2=4-2=2
P3=9-2=7
work | ≥ | Need | Pi | | Allocation(i) |
3 | | 2 | P2 | | 2 |
5 | | 5 | P1 | | 5 |
10 | | 7 | P3 | | 2 |
-Tồn tại chuỗi an toàn T0={P2,P1,P3}
Vậy trạng thái tại thời điểm T0 là an toàn.
TranQuyThanh (I11C)- Tổng số bài gửi : 53
Join date : 30/08/2011
Xét ví dụ về Thuật giải nhà băng
Như ví dụ thầy đã đưa trong slide bài giảng, chúng ta tìm được 1 chuỗi an toàn khác là: {P3,P1, P4, P2, P0}doanhongdao030(I11C) đã viết:Mình cảm ơn bạn đã đưa ra câu hỏi này nha, mình cũng đang thắc mắc cho này, giờ thì mình rõ rồi.chauchanduong (I11C) đã viết:Chào Thầy và các bạn
-Thầy ơi cho em hỏi là: Trong thuật giải nhà băng mình đi tìm chuỗi an toàn .
Ví dụ: Có 4 tiến trình từ [ P1, P2, P3, P4 ] vậy lúc mình tìm chuỗi an toàn em vét theo thứ tự từ P1 đến P4, nếu như P1 thoả điều kiện thì em tiếp tục xét tiếp P2. Giả sử P2 không thoả điều kiện thì mình có xét tiếp P3 và P4 không Thầy hay là khi P2 không thoả thì mình kết luận liền là "Không tìm được chuỗi an toàn".
- Thầy hướng dẫn giúp em nhé!
Admin
- Em xét theo thứ tự từ đầu đến cuối là đúng. Chú ý: Tiến trình nào lấy được rồi thì bỏ qua.
- Nếu trong quá trình xét, tiến trình nào đó không thoả, thì chuyển sang tiến trình kế tiếp. Nếu thoả, hãy chọn nó.
- Xét đến cùng mà không tìm được tiến trình nào thoả, nghĩa là không tồn tại chuỗi an toàn (chỉ tìm được phần đầu của chuỗi hay thậm chí chuỗi hoàn toàn rỗng).
Em cám ơn thầy đã giải đáp
ngocquynh2091(i11C)- Tổng số bài gửi : 27
Join date : 04/09/2011
Re: Thảo luận Bài 8
- Với Mutual Exclusion: Đảm bảo TN(tai nguyên) 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.
Trong thực tế biện pháp trên không khả thi.
- 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.
Trong thực tế biện pháp trên không khả thi.
NguyenThiThanhThuy(I11C)- Tổng số bài gửi : 10
Join date : 07/09/2011
Re: Thảo luận Bài 8
dùng thuật giải nhà băng chứng minh trạng thái này an toàn
tiến trình Được cấp(ổ đĩa) tối đa cần(ổ đĩa)
P1 5 10
P2 2 4
P3 2 9
-Available=12-9=3
-Need=Max-Allocation
P1=10-5=5
P2=4-2=2
P3=9-2=7
work ≥ Need Pi Allocation(i)
3 2 P2 2
5 5 P1 5
10 7 P3 2
-Tồn tại chuỗi an toàn T0={P2,P1,P3}
Vậy trạng thái tại thời điểm T0 là an toàn.
P2 Yêu cầu cấp thêm 1 ổ đĩa thì :
tiến trình Được cấp(ổ đĩa) tối đa cần(ổ đĩa)
P1 5 10
P2 3 4
P3 2 9
-Available=12-10=2
-Need=Max-Allocation
P1=10-5=5
P2=4-3=1
P3=9-2=7
-Không Tồn tại chuỗi an toàn
Yêu cầu thêm 1 ổ đĩa của p2 không được đáp ứng vì không an toàn .
tiến trình Được cấp(ổ đĩa) tối đa cần(ổ đĩa)
P1 5 10
P2 2 4
P3 2 9
-Available=12-9=3
-Need=Max-Allocation
P1=10-5=5
P2=4-2=2
P3=9-2=7
work ≥ Need Pi Allocation(i)
3 2 P2 2
5 5 P1 5
10 7 P3 2
-Tồn tại chuỗi an toàn T0={P2,P1,P3}
Vậy trạng thái tại thời điểm T0 là an toàn.
P2 Yêu cầu cấp thêm 1 ổ đĩa thì :
tiến trình Được cấp(ổ đĩa) tối đa cần(ổ đĩa)
P1 5 10
P2 3 4
P3 2 9
-Available=12-10=2
-Need=Max-Allocation
P1=10-5=5
P2=4-3=1
P3=9-2=7
-Không Tồn tại chuỗi an toàn
Yêu cầu thêm 1 ổ đĩa của p2 không được đáp ứng vì không an toàn .
NguyenThiThanhThuy(I11C)- Tổng số bài gửi : 10
Join date : 07/09/2011
Re: Thảo luận Bài 8
Mình làm ra kết quả giống bạn Gái. Vì xét chuỗi an toàn ta xét theo thứ tự từ trên xuống dưới, tiến trình nào vào trước thỏa đủ điều kiện thì được thực hiện trước, sau đó mới chuyển sang tiến trình kế tiếp.NguyThiGai (I11C) đã viết:Tìm chuỗi an toàn khác:nguyen huynh nhu (102C) đã viết:Một hệ thống có 3 máy quét hình và 3 tiến trình P1, P2, P3 với trạng thái cấp phát tài nguyên tại thời điểm Ti thể hiện bằng các vector Allocation= (0,2,1), và Max(2,2,2). Dùng thuật giải nhà băng để:
a. Chứng minh trạng thái này an toàn.
b. Xác định có đáp ứng được hay không yêu cầu thêm 1 máy nữa của P2.
Giải:
a) Allocation= (0,2,1) và Max= (2,2,2)
Available= 3-(0+2+1)=0
Tiến trình Đang giữ Max Hệ có
P1 0 2 0
P2 2 2
P3 1 2
=> Need= (2,2,2) - (0,2,1)= (2,0,1)
Tiến trình Need
P1 2
P2 0
P3 1
Work >= Need(i) P(i) Allocation(i)
0 0 P2 2
2 1 P3 1
3 2 P1 0
Tồn tại chuỗi an toàn= {P2,P3,P1}. Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
b) Request(2)= 1
Need(2)= 0
=> Request(2)> Need(2) (1> 0)
Vậy không thể đáp ứng được yêu cầu thêm 1 máy nữa của P2.
Work >= Need(i) P(i) Allocation(i)
0 0 P2 2
2 2 P1 0
2 1 P3 1
=>Tồn tại chuỗi an toàn= {P2,P1,P3}. Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
Các bạn có đồng ý cách xét như vậy thì cho ý kiến nha, để bữa sau làm bài kiểm tra mình chọn cho đúng nữa.
ThanhThao04(I11C)- Tổng số bài gửi : 34
Join date : 31/08/2011
Đến từ : Phú Yên
Bài tập thuật giải nhà băng
1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.
ngocquynh2091(i11C)- Tổng số bài gửi : 27
Join date : 04/09/2011
Re: Thảo luận Bài 8
ngocquynh2091(i11C) đã viết:1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.
Bài giải
a/ Ta có: Available = 3-(1+1)=1Need[i]=Max[i]-Allocation[i]=(2,2)-(1,1)=(1,1)
Ta được bảng tổng quát sau:
Tìm chuỗi an toàn (Xét tại thời điểm Ti)
Kết luận: Tồn tại chuỗi an toàn = {P1,P2}
Vậy trạng thái ở thời điểm Ti là an toàn
b/ Xét điều kiện: Request[2]<=Need[2] vì 1<=1
Request[2]<=Available vì 1<=1
Lúc này với Available=3-(1+2)=0
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,2)=(1,0)
Ta có trạng thái mới
Xét tại thời điểm Ti
Kết Luận: Tồn tại chuỗi an toàn ={P2,P1}
Vậy trạng thái ở Ti là an toàn
--> Do vậy ta có thể cấp thêm 1 máy của P2 tại thời điểm này.
Không biết mình làm vậy có đúng không, các bạn góp ý với nha.
Được sửa bởi ThanhThao04(I11C) ngày 10/11/2011, 05:54; sửa lần 2.
ThanhThao04(I11C)- Tổng số bài gửi : 34
Join date : 31/08/2011
Đến từ : Phú Yên
Re: Thảo luận Bài 8
ThanhThao04(I11C) đã viết:ngocquynh2091(i11C) đã viết:1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.Bài giảia/ Ta có: Available = 3-(1+1)=1
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,1)=(1,1)
Ta được bảng tổng quát sau:
Tìm chuỗi an toàn (Xét tại thời điểm Ti)
Kết luận: Tồn tại chuỗi an toàn = {P1,P2}
Vậy trạng thái ở thời điểm Ti là an toàn
b/ Xét điều kiện: Request[2]<=Need[2] vì 1<=1
Request[2]<=Available[2] vì 1<=1
Lúc này với Available=3-(1+2)=0
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,2)=(1,0)
Ta có trạng thái mới
Xét tại thời điểm Ti
Kết Luận: Tồn tại chuỗi an toàn ={P2,P1}
Vậy trạng thái ở Ti là an toàn
--> Do vậy ta có thể cấp thêm 1 máy của P2 tại thời điểm này.
Không biết mình làm vậy có đúng không, các bạn góp ý với nha.
À vậy là chỉ có 1 loại tài nguyên. Tks Thảo nhé.
ngocquynh2091(i11C)- Tổng số bài gửi : 27
Join date : 04/09/2011
Bài tập về thuật giải nhà băng(Banker's - Algorithm) hôm thứ năm tuần vừa rồi
Đề bài: Một hệ thống có 3 máy quét hình(Scanner) và 2 tiến trình P1,P2, với trạng thái cấp phát tài nguyên ở thời điểm T[i]. Thể hiện bằng các vector allocation=(1,1) và max=(2,2). Dùng thuật giải nhà băng để:
a. C/m trạng thái này an toàn<1đ>
b. Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nữa của P2<1đ>
Bài giải
a. C/m trạng thái này an toàn:
Hệ có: Available=3-(1,1)=1
Ma trận: Need[i]=max[i]-allocation[i]
Tìm chuỗi an toàn:
Hệ thống trong trạng thái an toàn vì tồn tại chuỗi <P1,P2>
b. Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nữa của P2
Ta thấy yêu cầu cấp thêm 1 máy nữa của p2 thỏa điều kiện:
Request2<=Need2 vì 1<=1
Request2<=Available vì 1<=1
Chuyển sang trạng thái mới:
Tìm chuỗi an toàn:
=> Hệ thống trong trạng thái an toàn vì tồn tại chuỗi an toàn<P2,P1>
Do vậy ta có thể cấp thêm 1 máy nữa của P2 tại thời điểm này.
** Mình trình bày bài giải theo ý của mình, khó mà tránh khỏi sai sót. Mong các bạn tham khảo và cho ý kiến để bài giải hoàn thiện hơn nha.
a. C/m trạng thái này an toàn<1đ>
b. Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nữa của P2<1đ>
Bài giải
a. C/m trạng thái này an toàn:
Hệ có: Available=3-(1,1)=1
Ma trận: Need[i]=max[i]-allocation[i]
P[i] | Allocation[i] | max[i] | Need[i] | Available |
P1 | 1 | 2 | 1 | 1 |
P2 | 1 | 2 | 1 |
work>= | Need[i] | P[i] | Allocation[i] |
1 | 1 | P1 | 1 |
2 | 1 | P2 | 1 |
b. Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nữa của P2
Ta thấy yêu cầu cấp thêm 1 máy nữa của p2 thỏa điều kiện:
Request2<=Need2 vì 1<=1
Request2<=Available vì 1<=1
Chuyển sang trạng thái mới:
P[i] | Allocation[i] | max[i] | Need[i] | Available |
P1 | 1 | 2 | 1 | 0 |
P2 | 2 | 2 | 0 |
work>= | Need[i] | P[i] | Allocation[i] |
0 | 0 | P2 | 2 |
2 | 1 | P1 | 1 |
Do vậy ta có thể cấp thêm 1 máy nữa của P2 tại thời điểm này.
** Mình trình bày bài giải theo ý của mình, khó mà tránh khỏi sai sót. Mong các bạn tham khảo và cho ý kiến để bài giải hoàn thiện hơn nha.
Nguyen Dinh Manh060(I11c)- Tổng số bài gửi : 25
Join date : 15/09/2011
Age : 35
Đến từ : Thành Phố Đà Lạt
Re: Thảo luận Bài 8
ui za, t lỡ xóa mấy cái image trên web nên hình nó mất hít trơn rùi, cũng may t phát hiện ra, sửa lại liền, q xem lại nha, khíp, kiểu này mấy bạn đọc chắc bỡ ngỡ lắm đây, hjhj.ngocquynh2091(i11C) đã viết:ThanhThao04(I11C) đã viết:ngocquynh2091(i11C) đã viết:1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.Bài giảia/ Ta có: Available = 3-(1+1)=1
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,1)=(1,1)
Ta được bảng tổng quát sau:
Tìm chuỗi an toàn (Xét tại thời điểm Ti)
Kết luận: Tồn tại chuỗi an toàn = {P1,P2}
Vậy trạng thái ở thời điểm Ti là an toàn
b/ Xét điều kiện: Request[2]<=Need[2] vì 1<=1
Request[2]<=Available[2] vì 1<=1
Lúc này với Available=3-(1+2)=0
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,2)=(1,0)
Ta có trạng thái mới
Xét tại thời điểm Ti
Kết Luận: Tồn tại chuỗi an toàn ={P2,P1}
Vậy trạng thái ở Ti là an toàn
--> Do vậy ta có thể cấp thêm 1 máy của P2 tại thời điểm này.
Không biết mình làm vậy có đúng không, các bạn góp ý với nha.
À vậy là chỉ có 1 loại tài nguyên. Tks Thảo nhé.
Được sửa bởi ThanhThao04(I11C) ngày 30/11/2011, 14:02; sửa lần 1.
ThanhThao04(I11C)- Tổng số bài gửi : 34
Join date : 31/08/2011
Đến từ : Phú Yên
Re: Thảo luận Bài 8
ngocquynh2091(i11C) đã viết:1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.
Mình cũng đóng góp thêm lời giải coi như học lại bài vậy có gì các bạn góp ý nhé:
Câu a:
- Ta có Avialable = 3 - (1+1)=1
- Need = Max - Allocation
Ta có bảng sau:
P | Allocation | Max | Need | Available |
P1 | 1 | 2 | 1 | 1 |
P2 | 1 | 2 | 1 |
Từ đây ta đi tìm chuỗi an toàn:
Work>= | Need[i] | P[i] | Allocation[i] |
1 | 1 | P2 | 1 |
2 | 1 | P1 | 2 |
- Kết luận: Tồn tại chuỗi an toàn: {P2,P1}( nếu xét cách khác cũng có thêm chuỗi an toàn là: {P1,P2})
Câu b:
Tại thời điểm T P2 yêu cầu cung cấp thêm một máy scan nữa:
Ta xét 2 đều kiện:
Request<=Avialable ta có 1<=1 đúng
Request<=Need ta có 1<=1 đúng
Khi này Allocation[2] của P2= Allocation[2]+Request=1+1=2
Và Need[2] của P2=Need[2]-Request= 1-1=0
Và Avialable = Avialable-Request=1-1=0
Ta lập bảng:
P | Allocation | Max | Need | Available |
P1 | 1 | 2 | 1 | 0 |
P2 | 2 | 2 | 0 |
Đi tìm chuỗi an toàn:
Work>= | Need[i] | P[i] | Allocation[i] |
0 | 0 | P2 | 2 |
2 | 1 | P1 | 1 |
Kết luận: Tại thời điểm T tiến trình P2 xin thêm 1 máy scan hệ thống vẫn tồn tại chuỗi an toàn: {P2,P1}
Re: Thảo luận Bài 8
ThanhThao04(I11C) đã viết:ngocquynh2091(i11C) đã viết:1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.Bài giảia/ Ta có: Available = 3-(1+1)=1
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,1)=(1,1)
Ta được bảng tổng quát sau:
Tìm chuỗi an toàn (Xét tại thời điểm Ti)
Kết luận: Tồn tại chuỗi an toàn = {P1,P2}
Vậy trạng thái ở thời điểm Ti là an toàn
b/ Xét điều kiện: Request[2]<=Need[2] vì 1<=1
Request[2]<=Available[2] vì 1<=1
Lúc này với Available=3-(1+2)=0
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,2)=(1,0)
Ta có trạng thái mới
Xét tại thời điểm Ti
Kết Luận: Tồn tại chuỗi an toàn ={P2,P1}
Vậy trạng thái ở Ti là an toàn
--> Do vậy ta có thể cấp thêm 1 máy của P2 tại thời điểm này.
Không biết mình làm vậy có đúng không, các bạn góp ý với nha.
Mình giải kết quả cũng giống như bạn, cám ơn bạn đã chia sẻ.
BuiHoangTuan.131.I11C- Tổng số bài gửi : 44
Join date : 26/08/2011
Re: Thảo luận Bài 8
ThanhThao04(I11C) đã viết:ngocquynh2091(i11C) đã viết:1 hệ thống có 3 máy quét hình và 2 tiến trình P1 và P2, với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng vector Allocation (1,1) và max (2,2). Dùng giải thuật nhà băng để:
a) CM trạng thái an toàn này.
b) Xác định có nên đáp ứng hay không yêu cầu cấp thêm 1 máy nửa của P2
Có bạn nào hiểu bài tập này không? Mình chưa hiểu đề bài tập dạng này.
Giúp mình nhé. Tks.Bài giảia/ Ta có: Available = 3-(1+1)=1
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,1)=(1,1)
Ta được bảng tổng quát sau:
Tìm chuỗi an toàn (Xét tại thời điểm Ti)
Kết luận: Tồn tại chuỗi an toàn = {P1,P2}
Vậy trạng thái ở thời điểm Ti là an toàn
b/ Xét điều kiện: Request[2]<=Need[2] vì 1<=1
Request[2]<=Available[2] vì 1<=1
Lúc này với Available=3-(1+2)=0
Need[i]=Max[i]-Allocation[i]=(2,2)-(1,2)=(1,0)
Ta có trạng thái mới
Xét tại thời điểm Ti
Kết Luận: Tồn tại chuỗi an toàn ={P2,P1}
Vậy trạng thái ở Ti là an toàn
--> Do vậy ta có thể cấp thêm 1 máy của P2 tại thời điểm này.
Không biết mình làm vậy có đúng không, các bạn góp ý với nha.
Thanks vì bài giải của bạn rất đúng và chi tiết.
LE DUY NHAT AN (I91C)- Tổng số bài gửi : 12
Join date : 26/08/2011
Trang 7 trong tổng số 10 trang • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Similar topics
» Giải giúp bài RRS này nhé
» Thảo luận các vấn đề của Môn học
» Thảo luận Bài 3
» Thảo luận bài 4
» Thảo luận Bài 7
» Thảo luận các vấn đề của Môn học
» Thảo luận Bài 3
» Thảo luận bài 4
» Thảo luận Bài 7
Trang 7 trong tổng số 10 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết