Thảo luận Bài 8

Trang 7 trong tổng số 10 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Re: Thảo luận Bài 8

Bài gửi  TrinhThiOanh (I11C) on 7/11/2011, 20:13

TrinhThiPhuongThaoI11C đã viết:
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.
Ví dụ cuả hai bạn rất hay! Mong hai bạn đóng góp nhiều hơn cho diễn đàn.

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 : 28
Đến từ : GIA LAI

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  08H1010052 on 7/11/2011, 20:44

nguyenquoctruong (I11C) đã viết:
DaoQuangSieu (I11C) đã viết:
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).
Chào Thầy và các bạn !!
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 ý. Very Happy
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.

Ý 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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  BuiVanHoc(I11C) on 7/11/2011, 22:27

DaoQuangSieu (I11C) đã viết:
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).
Chào Thầy và các bạn !!
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 ý. Very Happy

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ứ Smile
avatar
BuiVanHoc(I11C)

Tổng số bài gửi : 32
Join date : 26/08/2011
Age : 33
Đến từ : Ho Chi Minh City

Xem lý lịch thành viên http://csc.com.vn

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  BuiVanHoc(I11C) on 7/11/2011, 23:21

TranTrungTinh(I11C) đã viết:
doanhongdao030(I11C) đã viết:
Duongthithanhhuynh (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
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
workNeed Pi
Allocation(i)
3
2 P2
2
5
5P1
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.
mình ko hiểu lắm.có ai làm rõ hơn ko
Mình xin giải theo cách hiểu của mình!
Allocation = (5,2,2)
Max = (10,4,9)
Need = Max - Allocation = (5,2,7)
Available = 12 - (5+2+2)=3
P[i]Need MaxAllocation Available
P15 10 5 3
P2 2 4 2
P3 7 92
tìm chuỗi an toàn
Word >= NeedPi Allocation
3 2 P2 2
55 P1 5
10 7 P32
Vậy tồn tại chuỗi an toàn là <P2,P1,P3>

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 Razz
avatar
BuiVanHoc(I11C)

Tổng số bài gửi : 32
Join date : 26/08/2011
Age : 33
Đến từ : Ho Chi Minh City

Xem lý lịch thành viên http://csc.com.vn

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  tranphanhieu36_i11c on 7/11/2011, 23:29

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 Smile

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  08H1010052 on 8/11/2011, 10:43

TranTrungTinh(I11C) đã viết:
doanhongdao030(I11C) đã viết:
Duongthithanhhuynh (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
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
workNeed Pi
Allocation(i)
3
2 P2
2
5
5P1
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.
mình ko hiểu lắm.có ai làm rõ hơn ko
Mình xin giải theo cách hiểu của mình!
Allocation = (5,2,2)
Max = (10,4,9)
Need = Max - Allocation = (5,2,7)
Available = 12 - (5+2+2)=3
P[i]Need MaxAllocation Available
P15 10 5 3
P2 2 4 2
P3 7 92
tìm chuỗi an toàn
Word >= NeedPi Allocation
3 2 P2 2
55 P1 5
10 7 P32
Vậy tồn tại chuỗi an toàn là <P2,P1,P3>

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  08H1010052 on 8/11/2011, 10:47

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.
Very Happy

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é Laughing
a) Buớc 1 : Phải đi tính Need = MAX - Allocation
TT &nbsp;&nbsp; Need
&nbsp;&nbsp; ABCD
P0 &nbsp;&nbsp; 0000
P1 &nbsp;&nbsp; 0750
P2 &nbsp;&nbsp; 1002
P3 &nbsp;&nbsp; 0020
P4 &nbsp;&nbsp; 0642

Bước 2 : Tìm chuỗi an toàn của hệ thống:
Work >= &nbsp;&nbsp; Needi &nbsp;&nbsp; Pi&nbsp;&nbsp; &nbsp;&nbsp; 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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  08H1010052 on 8/11/2011, 11:11

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 Smile

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 Smile.
Thân chào các bạn!

08H1010052

Tổng số bài gửi : 52
Join date : 02/07/2010

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  08H1010052 on 8/11/2011, 15:14

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.
Very Happy

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é Laughing
a) Buớc 1 : Phải đi tính Need = MAX - Allocation
TT &nbsp;&nbsp; Need
&nbsp;&nbsp; ABCD
P0 &nbsp;&nbsp; 0000
P1 &nbsp;&nbsp; 0750
P2 &nbsp;&nbsp; 1002
P3 &nbsp;&nbsp; 0020
P4 &nbsp;&nbsp; 0642

Bước 2 : Tìm chuỗi an toàn của hệ thống:
Work >= &nbsp;&nbsp; Needi &nbsp;&nbsp; Pi&nbsp;&nbsp; &nbsp;&nbsp; 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

Xem lý lịch thành viên

Về Đầu Trang Go down

Đ/N Deadlook

Bài gửi  PhamDuyPhuong87(I11C) on 8/11/2011, 17:39

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
avatar
PhamDuyPhuong87(I11C)

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Giải pháp ngăn ngừa Deadlook

Bài gửi  PhamDuyPhuong87(I11C) on 8/11/2011, 17:43

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
avatar
PhamDuyPhuong87(I11C)

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  TrinhThiOanh (I11C) on 8/11/2011, 20:08

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 : 28
Đến từ : GIA LAI

Xem lý lịch thành viên

Về Đầu Trang Go down

Hệ thống có 12 ổ băng và 3 tiến trình

Bài gửi  TranQuyThanh (I11C) on 9/11/2011, 12:00

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.

TranQuyThanh (I11C)

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Xét ví dụ về Thuật giải nhà băng

Bài gửi  ngocquynh2091(i11C) on 9/11/2011, 12:30

doanhongdao030(I11C) đã viết:
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).
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.
Em cám ơn thầy đã giải đáp
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}

ngocquynh2091(i11C)

Tổng số bài gửi : 27
Join date : 04/09/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  NguyenThiThanhThuy(I11C) on 9/11/2011, 12:38

- 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.

NguyenThiThanhThuy(I11C)

Tổng số bài gửi : 10
Join date : 07/09/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  NguyenThiThanhThuy(I11C) on 9/11/2011, 12:48

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 .


NguyenThiThanhThuy(I11C)

Tổng số bài gửi : 10
Join date : 07/09/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  ThanhThao04(I11C) on 9/11/2011, 14:02

NguyThiGai (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.
Tìm chuỗi an toàn khác:
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.
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.
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.
avatar
ThanhThao04(I11C)

Tổng số bài gửi : 34
Join date : 31/08/2011
Đến từ : Phú Yên

Xem lý lịch thành viên

Về Đầu Trang Go down

Bài tập thuật giải nhà băng

Bài gửi  ngocquynh2091(i11C) on 9/11/2011, 14:07

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.

ngocquynh2091(i11C)

Tổng số bài gửi : 27
Join date : 04/09/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  ThanhThao04(I11C) on 9/11/2011, 14:46

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)=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 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.
avatar
ThanhThao04(I11C)

Tổng số bài gửi : 34
Join date : 31/08/2011
Đến từ : Phú Yên

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  ngocquynh2091(i11C) on 9/11/2011, 15:17

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ải
a/ 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

Xem lý lịch thành viên

Về Đầu Trang Go down

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 gửi  Nguyen Dinh Manh060(I11c) on 9/11/2011, 16:52

Đề 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]

P[i] Allocation[i] max[i] Need[i] Available
P1 1 2 11
P21 21
Tìm chuỗi an toàn:
work>=Need[i] P[i] Allocation[i]
1 1P1 1
2 1P2 1
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:

P[i] Allocation[i] max[i] Need[i] Available
P1 1 2 10
P22 20
Tìm chuỗi an toàn:
work>=Need[i] P[i] Allocation[i]
0 0P2 2
2 1P1 1
=> 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.

Nguyen Dinh Manh060(I11c)

Tổng số bài gửi : 25
Join date : 15/09/2011
Age : 27
Đến từ : Thành Phố Đà Lạt

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  ThanhThao04(I11C) on 9/11/2011, 20:11

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ải
a/ 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é.
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.


Được sửa bởi ThanhThao04(I11C) ngày 30/11/2011, 14:02; sửa lần 1.
avatar
ThanhThao04(I11C)

Tổng số bài gửi : 34
Join date : 31/08/2011
Đến từ : Phú Yên

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  BuiVanHoc(I11C) on 9/11/2011, 22:32

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}
avatar
BuiVanHoc(I11C)

Tổng số bài gửi : 32
Join date : 26/08/2011
Age : 33
Đến từ : Ho Chi Minh City

Xem lý lịch thành viên http://csc.com.vn

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  BuiHoangTuan.131.I11C on 9/11/2011, 22:50

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ải
a/ 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ẻ.
avatar
BuiHoangTuan.131.I11C

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  LE DUY NHAT AN (I91C) on 9/11/2011, 22:50

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ải
a/ 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

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Thảo luận Bài 8

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 7 trong tổng số 10 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


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