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 8 trong tổng số 11 trang Previous  1, 2, 3 ... 7, 8, 9, 10, 11  Next

Go down

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

Bài gửi  TrinhVinhThanh (I12A) 25/4/2012, 23:03

DeadLock : 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ụ : Do con đường nhỏ,2 xe ô tô đi ngược chiều nhau.Nên 2 xe không thể đi về phía mình muốn được.

TrinhVinhThanh (I12A)

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

Về Đầu Trang Go down

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

Bài gửi  PhamQuangHien_I12A 25/4/2012, 23:19

hoxuanvu_I12A đã viết:Giải thích thuật giải Nhà băng
Dữ liệu : - có 5 tiến trình : P0,……,P4 (Ví dụ là : 5 công ty khác nhau cần vay )
- 3 loại tài nguyên : A(10 phiên bản), B(5 phiên bản), C(7 phiên bản)
=>Đây là các loại tiền mà nhà băng có.
- Tại thời điểm To:
Đang giữ(Allocation) Max Hệ có (Available)
A B C A B C A B C
3 3 2
Po 0 1 0 7 5 3
P1 2 0 0 3 2 2
P2 3 0 2 9 0 2
P3 2 1 1 2 2 2
P4 0 0 2 4 3 3

Tổng loại tiền mà các công ty có (Cộng theo cột từ trên xuống của Allocation)
Tổng :7 2 5

Chú ý :
- Allocation tổng số các loại tiền mà các công ty đang có
- Max : Tổng các loại tiền (tối đa ) mà các công ty có thể có
- Hệ có : Available = ( 10 ,5 ,7 ) – ( 7, 2 ,5 ) = ( 3 ,3 ,2 )
Ta có : Need = Max – Allocation
=>Số loại tiền tối đa mà các công ty có thể vay thêm.
Ta có ma trận sau : Need
A B C
P0 7 4 3 (7,5,3) – (0,1,0)
P1 1 2 2 (3,2,2) – (2,0,0)
P2 6 0 0 (9,0,2) - (3,0,2)
P3 0 1 1 (2,2,2) - (2,1,1)
P4 4 3 1 (4,3,3) – (0,0,2)

Giả sử tại thời điểm To công ty : Ta phải kiểm tra tổng số các loại tiền mà công ty cần : Need <= Work : hệ số các loại tiền có trong nhà băng. Trong thời điểm này thì chỉ có P1,P3 là thỏa điều kiện được vay trước.
Giả sử P1 vay trước : Ta có bảng sau đảm bảo số tiền vay không vượt qua số tiền nhà băng cần có.
Work Need(i) P(i) Allocation
A B C A B C A B C
3 2 2 1 2 2 P1 2 0 0
Số tiền ít nhất nhà băng cần có cho P1 vay là (3,2,2)
Vậy hệ số tiền mà nhà băng có ít nhẩt cho công ty tiếp theo vay là:
Work = (3,2,2)+(2,0,0) = (5,3,2)
Ta xét hệ số các loại tiền Need <=Work. Trong trường hợp này thì P1 và P4 có thể vay.Giả sử P3 vay.Và làm các bước tương tự cho các công ty còn lại ta có bảng sau
Work Need(i) P(i) Allocation
A B C A B C A B C
3 2 2 1 2 2 P1 2 0 0

5 3 2 0 1 1 P3 2 1 1
7 4 3 4 3 1 P4 0 0 2
7 4 5 6 0 0 P2 3 0 2
10 4 7 7 4 3 P0 0 1 0

Chú ý : Hệ số các loại tiền của nhà băng cần có để cho vay (10,4,7) <= (10,5,7) các tài nguyên ban đầu
Như vậy : Ở thời điểm To hệ thống nhà băng trong trạng thái an toàn vì tồn tại chuỗi an toàn : < P1 ,P3 ,P4 ,P2 ,P0 >

Bạn Sai chỗ này available (3,2,2)->(3,3,2) mình xin sữa lại như sau
Work Need(i) P(i) Allocation
A B C A B C A B C
3 3 2 1 2 2 P1 2 0 0
Số tiền ít nhất nhà băng cần có cho P1 vay là (3,3,2)
Vậy hệ số tiền mà nhà băng có ít nhẩt cho công ty tiếp theo vay là:
Work = (3,3,2)+(2,0,0) = (5,3,2)
Ta xét hệ số các loại tiền Need <=Work. Trong trường hợp này thì P1 và P4 có thể vay.Giả sử P3 vay.Và làm các bước tương tự cho các công ty còn lại ta có bảng sau
Work Need(i) P(i) Allocation
A B C A B C A B C
3 3 2 1 2 2 P1 2 0 0

5 3 2 0 1 1 P3 2 1 1
7 4 3 4 3 1 P4 0 0 2
7 4 5 6 0 0 P2 3 0 2
10 4 7 7 4 3 P0 0 1 0

Chú ý : Hệ số các loại tiền của nhà băng cần có để cho vay (10,4,7) <= (10,5,7) các tài nguyên ban đầu
Như vậy : Ở thời điểm To hệ thống nhà băng trong trạng thái an toàn vì tồn tại chuỗi an toàn : < P1 ,P3 ,P4 ,P2 ,P0 >

PhamQuangHien_I12A

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

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty Bài tập về thuật giải nhà băng - Banker's Algorithm

Bài gửi  lethianhnhat_I12A 25/4/2012, 23:20

Một hệ thống có 3 ổ băng từ và 3 tiến trình P1, P1, P3 với trạng thái cấp phát tài nguyên ở thời điểm Ti thể hiện bằng véc-tơ Allcation=(1,0,1) và Max = (1,2,2).
Dùng thuật giải nhà băng để:
a> Chứng minh trạng thái an toàn.
b> Xác định có nên đáp ứng hay không yêu cầu xin thêm 1 ổ nữa của P3.
Giải:
a.Xét tại thời điểm Ti mà 3 tiến trình được cấp phát như đề bài ta có:
Thảo luận Bài 8 - Page 8 Nhabang1


Trong đó: Need[i] = Max[i] - Allocation[i]
Available = 3 – (1 + 0 + 1)= 1
Tìm chuỗi an toàn:
Thảo luận Bài 8 - Page 8 Nhabang2


Vậy tai thời điểm T0 tồn tại chuỗi {P1, P2, P3}. Suy ra, hệ thống tại thời điểm Ti ở trạng thái an toàn.
b. Ta thấy, yêu cầu cần thêm 1 ổ nữa của P3 thỏa các điều kiện:
+ Requuest3 <= Need3 và Request1 <= Available
+ Hơn nữa việc cấp phát thêm 1 ổ nữa cho P3 thì hệ thống vẫn ở trạng thái an toàn vì tồn tại chuỗi an toàn {P1, P2, P3} trong khi tài nguyên trong hệ thống không còn nữa
Thảo luận Bài 8 - Page 8 Nhabang3


Do vậy ta có thể cấp thêm cho yêu cầu xin thêm 1 của P3 tại thời điểm này.




lethianhnhat_I12A

Tổng số bài gửi : 14
Join date : 18/02/2012
Age : 35
Đến từ : Kbang - Kbang - Gia lai

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty re

Bài gửi  LeXuanHau (I12C) 25/4/2012, 23:40

NgoPhuQuoc_I12C đã viết:-Hệ thống có 12 ổ băng.
-Có 3 tiến trình P1,P2,P3.


Tiến trình Được cấp (đang giữ) Max
P1 5 10
P2 2 4
P3 2 9
a) Chứng minh trạng thái là an toàn.
-Hệ có (Available)=Tổng- (P1+ P2 + P3)= 12- (5+2+2)=3.
-Need= Max- Allocation(đang giữ).
Need
P1 10-5 =5
P24-2 =2
P3 9-2= 7
Work Need(i) P(i) Allocation
3 >= 2P2 2
5 >=4 P15
10 >= 7P3 2
- Kết luận :
+Tồn tại một chuỗi an toàn= {P2,P1,P3}
+Vậy trạng thái hệ thống ở thời điểm To là an toàn.

b) Xác định có nên đáp ứng nhu cầu cần thêm một ổ băng nữa của P3?
-Xét điều kiện :
+ Request(1) <= Need(i) thỏa vì 1<=7.
+Request(1) <= Available thỏa vì 1<=3.
Available = Tổng - (P1+P2+P3) = 12- (5+2 +3)=2.
Trạng thái mới là
Đang giữ Need Hệ có
P15 52
P2 22 2
P33 6 2

[tr]
Work Need(i) P(i) Allocation
2 >= 2P2 2
4 <5 P15
Kết luận:
+ Không tồn tại chuỗi an toàn nào vì Work < P1 và nếu thay cho P3 thì Work < P3
+Vậy trạng thái ở thời điểm T1 là không an toàn
+ Không thể cấp thêm cho P3 thêm một máy nữa vỉ có thể gây ra deadlock.


bạn ơi giải thích dùm mình chỗ chuỗi an toàn được không, làm sao để mình xác định cái P nào đầu tiên, mình dựa vào cái j vậy bạn.thanks

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 8 Empty Cao thu qua ca Pro

Bài gửi  NguyenThanhCang(I12A) 25/4/2012, 23:41

Thay moi day hoi chieu ma cac anh em phang nhau ghe qua.Pai phuc.Nhin thay chong ca mat. Laughing
NguyenThanhCang(I12A)
NguyenThanhCang(I12A)

Tổng số bài gửi : 24
Join date : 23/02/2012
Age : 34
Đến từ : Vũng Tàu

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty Bài tập về giải thuật Nhà Băng

Bài gửi  letanthanh18(I12A) 25/4/2012, 23:52

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

Admin
- Cần trình bày lại cho Đẹp và Đúng !
- Nên nhập văn bản, không dùng hình tất cả !


letanthanh18(I12A)

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

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty Tránh Deadlock dùng RAG

Bài gửi  letanthanh18(I12A) 26/4/2012, 00:28

Thảo luận Bài 8 - Page 8 59779072
**Lúc 1h00 : P1 và P2 cùng có nhu cầu về tài nguyên tới R1 và R2 (R1 và R2 chỉ có 1 phiên bản duy nhất)
Thảo luận Bài 8 - Page 8 99912850
**Lúc 1h05 : yêu cầu của P1 được HĐH đáp ứng và chuyển thành Cung ấn định ,nối phiên bản duy nhất của R1 với P1,P1 được R1 cấp,P2 yêu cầu R1
Thảo luận Bài 8 - Page 8 13947050
**Lúc 1h10 :yêu cầu của P2 được HĐH đáp ứng và chuyển thành Cung ấn định,nối phiên bản duy nhất của R2 với P2 ,P2 được R2 cấp và P2 vẫn còn yêu cầu R1 =>trạng thái không an toàn có thể xảy ra Deadlock
**Nhược điểm của RAG là chỉ áp dụng trong trường hợp mỗi tài nguyên chỉ có 1 phiên bản duy nhất

Admin
Chưa đạt yêu cầu vì cần phải "chẻ nhỏ" ra nhiều trạng thái hơn nữa !

letanthanh18(I12A)

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

Về Đầu Trang Go down

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

Bài gửi  TranThiNgocQuynh(I12C) 26/4/2012, 00:58

LeXuanHau (I12C) đã viết:
NgoPhuQuoc_I12C đã viết:-Hệ thống có 12 ổ băng.
-Có 3 tiến trình P1,P2,P3.


Tiến trình Được cấp (đang giữ) Max
P1 5 10
P2 2 4
P3 2 9
a) Chứng minh trạng thái là an toàn.
-Hệ có (Available)=Tổng- (P1+ P2 + P3)= 12- (5+2+2)=3.
-Need= Max- Allocation(đang giữ).
Need
P1 10-5 =5
P24-2 =2
P3 9-2= 7
Work Need(i) P(i) Allocation
3 >= 2P2 2
5 >=4 P15
10 >= 7P3 2
- Kết luận :
+Tồn tại một chuỗi an toàn= {P2,P1,P3}
+Vậy trạng thái hệ thống ở thời điểm To là an toàn.

b) Xác định có nên đáp ứng nhu cầu cần thêm một ổ băng nữa của P3?
-Xét điều kiện :
+ Request(1) <= Need(i) thỏa vì 1<=7.
+Request(1) <= Available thỏa vì 1<=3.
Available = Tổng - (P1+P2+P3) = 12- (5+2 +3)=2.
Trạng thái mới là
Đang giữ Need Hệ có
P15 52
P2 22 2
P33 6 2

[tr]
Work Need(i) P(i) Allocation
2 >= 2P2 2
4 <5 P15
Kết luận:
+ Không tồn tại chuỗi an toàn nào vì Work < P1 và nếu thay cho P3 thì Work < P3
+Vậy trạng thái ở thời điểm T1 là không an toàn
+ Không thể cấp thêm cho P3 thêm một máy nữa vỉ có thể gây ra deadlock.


bạn ơi giải thích dùm mình chỗ chuỗi an toàn được không, làm sao để mình xác định cái P nào đầu tiên, mình dựa vào cái j vậy bạn.thanks

Bạn dựa vào hai giá trị Available (TN hệ thống đang sẵn sàng) và giá trị Needi của tiến trình Pi (tiến trình này xét theo thứ tự từ trên xuống dưới) để biết sẽ cấp TN cho tiến trình thứ i nào là hợp lý.

a) Giải thích bảng:
Work Need(i) P(i) Allocation
3 >= 2P2 2
5 >=5 P15
10 >= 7P3 2

hàng 1:
+ TN hệ thống đang có sẵn= 12 - (5+2+2) = 3
+ P1 cần 5 TN, TN hệ thống đang có sẵn kg đủ để cấp cho P1. Xét tiếp tới tiến trình P2, P2 chỉ cần 2 TN, (2<=3) nên tại thời điểm này, sẽ chọn P2 để cấp TN.
hàng 2:
+ Sau khi P2 thực hiện xong, nó sẽ trả hết TN lại cho hệ thống. Tại thời điểm này TN hệ thống đang có sẵn là 5.
+ P1 cần 5 TN, TN hệ thống sẵn sàng là 5, (5<=5) => chọn P1 để cấp tiếp tài nguyên
hàng 3:
+ Sau khi P1 thực hiện xong, nó sẽ trả hết TN lại cho hệ thống. Tại thời điểm này, TN hệ thống đang có sẵn là 10.
+ P3 cần 7 TN, hệ thống có sẵn là 10, (7<=10) => chọn tiếp P3 để cấp tài nguyên

=>Tìm được chuỗi an toàn {P2, P1, P3}. Vậy trạng thái hệ thống là an toàn



TranThiNgocQuynh(I12C)

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

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty BT thuật giải nhà băng

Bài gửi  NguyenHongHaiI12C 26/4/2012, 07:47

-Hệ thống có 12 ổ băng.
-Có 3 tiến trình P1,P2,P3.
Tiến trìnhĐược cấp (đang giữ)Max
P1 510
P2 24
P329
a) Chứng minh trạng thái là an toàn.
-Hệ có (Available)=Tổng- (P1 P2 P3)= 12- (5 2 2)=3.
-Need= Max- Allocation(đang giữ).
Need
P1 10-5=5
P24-2=2
P3 9-2=7
vì hệ số là 3, nên để work >= Need(i), nên chỉ chọn P2 vì Need của P2 =2 thỏa điều kiện nên tiến trình P2 xét trước.
Tiếp tục lấy allocation work (2 3=5) ,5 so với bảng Need(i) thỏa điều kiện với P1 vì Need (P1=5), nên P(i) lúc này =5, Làm tương tự ta cho đến P3, sẽ được bảng như sau
Work Need(i) P(i)Allocation
Available3 >= 2 P2 2
5 >= 5 P15
10 >= 7 P32
- Kết luận :
-Tìm được chuỗi an toàn= {P2,P1,P3} vậy trạng thái hệ thống an toàn.
b) Xác định có nên đáp ứng nhu cầu cần thêm một ổ băng nữa của P3?
-Xét điều kiện :
Request(1) <= Need(i) thỏa vì 1<=7.
Request(1) <= Available thỏa vì 1<=3.
Available = Max - (P1 P2 P3) = 12- (5 2 3)=2.
Ta có trạng thái mới là
Đang giữ Need Hệ có
P155 2
P22 2
P3 36
Work Need(i) P(i) Allocation
2 >= 2P22
4 < 5P15
Kết luận:
Không tồn tại chuỗi an toàn nào vì Work < P1 và nếu thay cho P3 thì Work < P3
Vậy trạng thái ở thời điểm lúc ban đầu là an toàn
Nên không thể cấp thêm cho P3 thêm một máy nữa vỉ có thể gây ra deadlock.

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 8 Empty Tránh Deadlock dùng RAG

Bài gửi  TranHuyCuong17 (I12A) 26/4/2012, 09:02

Đã chỉnh sửa
Thảo luận Bài 8 - Page 8 Rag01
-------------------------------------------------------------------------------------------------------
Thảo luận Bài 8 - Page 8 Rag02
-------------------------------------------------------------------------------------------------------
Thảo luận Bài 8 - Page 8 Rag03
-------------------------------------------------------------------------------------------------------
Thảo luận Bài 8 - Page 8 Rag04
-------------------------------------------------------------------------------------------------------
Thảo luận Bài 8 - Page 8 Rag05
-------------------------------------------------------------------------------------------------------
Thảo luận Bài 8 - Page 8 Rag06
-------------------------------------------------------------------------------------------------------
Thảo luận Bài 8 - Page 8 Rag07

Admin
- Rất đẹp và Đúng với yêu cầu ! Trình bày có Sáng tạo !
- Cần sửa: "Cung Ứng định" (sai !) thành "Cung Ấn định" (Assignment Edge)
- Tiến trình P1 không nhất thiết phải có 2 luồng A-B. Chỉ 1 luồng A cũng được: Lúc đầu A yêu cầu R1 và được cấp, sau đó một khoảng thời gian, yêu cầu thêm R2 vì cần cả 2 loại tài nguyên cùng một lúc.


Được sửa bởi TranHuyCuong17 (I12A) ngày 26/4/2012, 12:36; sửa lần 1.
TranHuyCuong17 (I12A)
TranHuyCuong17 (I12A)

Tổng số bài gửi : 37
Join date : 16/02/2012
Age : 36
Đến từ : DLY™

Về Đầu Trang Go down

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

Bài gửi  Nguyen Doan Linh051(I11c) 26/4/2012, 09:15

Câu 4: KHÁI NIỆM TRẠNG THÁI AN TOÀN VÀ GIẢI PHÁP TRÁNH DEADLOCK
Thế nào là trạng thái an toàn của hệ thống
- Một trạng thái được gọi là an toàn "safe" nếu tồn tại một cách mà trong một khoảng thời gian hữu hạn nào đó hệ thống có thể cấp phát tài nguyên thảo mãn cho tất cả Process thực thi hoàn tất
- khi đó hệ thống tồn tại một chuỗi an toàn (p1,p2.......,pn) bao gồm tất cả các tiến trình sao cho với mỗi pi các tài nguyên mà nó yêu cầu có thể được đáp ứng bởi số lượng hiện có cộng thêm của tất cả các pj mà j<i
- nếu các TN yêu cầu không có đủ pi phải chờ cho đến khi tất cả các pj trả lại các TN mà chúng chiễm giữ
- Khi pi nhận được đủ TN cần thiết nó sự dụng và trả lại HĐH để pi+1 có thể vận hành cứ như thế cho đến pn
- Khi một process yêu cầu một tài nguyên đang sẵn có hệ thống sẽ kiểm tra nếu việc cấp phát này không dẫn đến tình trạng unsafe thì sẽ cấp phát ngay
Trình bày 4 cách ngăn chặn Deadlock
-Để ngăn chặn Deadlock ta phải làm sao cho ít nhất 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ữ 1TN 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 sao 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ê 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 : Cấp TN theo một thứ tự nào đấy

Nguyen Doan Linh051(I11c)

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

Về Đầu Trang Go down

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

Bài gửi  HoNgocTuan142(I12A) 26/4/2012, 09:45

LeXuanHau (I12C) đã viết:
bạn ơi giải thích dùm mình chỗ chuỗi an toàn được không, làm sao để mình xác định cái P nào đầu tiên, mình dựa vào cái j vậy bạn.thanks
mình xin trả lời câu hỏi của bạn Lê Xuân Hậu, nếu ace thấy chưa đúng hay chưa thỏa đáng thì cứ chém thẳng tay nha. What a Face What a Face What a Face What a Face tongue tongue tongue
thực ra tìm chuỗi an toàn rất dễ, tại một thời điểm (ở đây mình xin phép nói là bài toán cho dễ hiểu) có thể có nhiều chuỗi an toàn khác nhau.
Ở ví dụ của thầy trong Slide là thầy đã biết trước kết quả nên thầy chọn ra một chuỗi an toàn tốt nhất đấy thôi, còn nếu muốn dễ hiểu thì bạn cứ duyệt từ trên xuống, nếu thấy tiến trình Pi nào có Needi <= Work thì bạn đưa vào xét thôi (chú ý: Work đầu tiên cho bằng Available, sau đó Work = Work + Allocationi của tiến trình Pi vừa được chọn).
nói thì có vẻ khó hiểu để mình làm luôn một ví dụ cho dễ hiểu (tuy hơi lười nhưng vì sự nghiệp kháng chiến... quất tới thôi lol! lol! lol! lol! )
Bài Tập (lấy lại ví dụ của mình trong bài trước)
Thảo luận Bài 8 - Page 8 5d36ec47e7474218f07ac48f59ae2d4a_43918110.bang
1/ dùng giải thuật nhà băng để chứng minh trạng thái này an toàn.
2/ xác định có nên đáp ứng yêu cầu <0,4,3,0> của tiến trình P1?

GIẢI:
1/chứng minh trạng thái an toàn
-tính Need = MAX - Allocation

Tiến Need
Trình A B C D
P0 0 0 0 0
P1 0 7 5 0
P2 1 0 0 2
P3 0 0 2 0
P4 0 6 4 2

-Tìm chuỗi an toàn của hệ thống:
trước tiên cho Work = Available. Sau đó duyệt theo bảng Need từ trên xuống nếu thỏa Need<=Work thì chọn. Tiến trình nào chọn rồi hoặc không thỏa thì bỏ qua, kiểm tra tiến trình kế tiếp, đến cuối dãy thì lặp lại.

Work >= Needi Pi Allocation
A B C D A B C D A B C D
1 5 2 0 0 0 0 0 P0 0 0 1 2
1 5 3 2 1 0 0 2 P2 1 3 5 4
2 8 8 6 0 0 2 0 P3 0 6 3 2
2 14 11 8 0 6 4 2 P4 0 0 1 4
2 14 12 12 0 7 5 0 P1 1 0 0 0

Từ đây suy ra hệ thống tồn tại chuỗi an toàn = {P0,P2,P3,P4,P1} => hệ thống tại thời điểm này là an toàn.
-ở đây đã "may mắn" tìm ra được chuỗi an toàn. dừng lại và kết luận trạng thái này an toàn.
-nếu không tìm ra chuỗi an toàn thì ta duyệt theo một thứ tự khác cũng gần như vậy. miễn tìm ra được chuỗi an toàn thỏa mãn tất cả các điều kiện. Twisted Evil Twisted Evil Twisted Evil
****Trên đây là cách duyệt cơ bản. Vì có thể có nhiều chuỗi an toàn khác nhau nên có nhiều cách tìm ra nó. Theo mình nghĩ cách của thầy trong ví dụ ở Slide là khá tối ưu, vì trong những tiến trình thỏa điều kiện Need<= Word thì chọn tiến trình nào có Need thấp và Allocation cao trước. Như thế sẽ có nhiều Availble (Work) dư ra để dễ dàng cấp cho các tiến trình sau hơn. cách này mà không tìm ra được chuỗi an toàn thì không cách nào tìm ra được (Nghĩa là không tồn tại chuỗi an toàn) cyclops cyclops cyclops cyclops cyclops
Và đây là kết quả của một thứ tự duyệt khác:


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.
giống như bài viết của bạn Hiển đã tìm ra tất cả các chuỗi an toàn rồi đấy, các bạn có thể tham khảo thêm tại đây
2/Giả sử P1 có yêu cầu mới = (0,4,3,0)
Dựa vào yêu cầu mới của P1 ta có thể khẳng định không nên đáp ứng yêu cầu của P1 lý do:
vì không đáp ứng điều kiện Request1 <= Available
Suy ra: (0,4,3,0) Không <= (1,5,2,0)

đó là theo cách hiểu của mình tự "mổ xẻ" từ ví dụ thầy giải trên lớp. các bạn thấy không đúng chỗ nào không đúng hay không thỏa đáng thì góp ý cho mình nha.
tất cả vì sự nghiệp thi đậu pirat pirat pirat pirat pirat pirat pirat pirat pirat pirat pirat

Admin
- Rất Hiểu bài, Nhiệt tình và Tự nhiên !
- Đã sửa đôi chỗ, nhất là Word (từ) => Work (biến tạm, làm việc, trung gian, dùng tích lũy tổng Available+Allocationi1+Allocationi2+...)


Được sửa bởi HoNgocTuan142(I12A) ngày 26/4/2012, 15:39; sửa lần 2.
HoNgocTuan142(I12A)
HoNgocTuan142(I12A)

Tổng số bài gửi : 33
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 8 Empty Re: Thảo luận Bài 8

Bài gửi  HoNgocTuan142(I12A) 26/4/2012, 09:54

TranHuyCuong17 (I12A) đã viết:Thảo luận Bài 8 - Page 8 Rag01
ốh, Bác Cường vẽ đẹp quá. có đầu tư. phát huy nhé. chả bù với hình của em vẽ, hình của Bác ăn đứt rồi. khà khà


Được sửa bởi HoNgocTuan142(I12A) ngày 26/4/2012, 15:42; sửa lần 1.
HoNgocTuan142(I12A)
HoNgocTuan142(I12A)

Tổng số bài gửi : 33
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 8 Empty Re: Thảo luận Bài 8

Bài gửi  TranHuyCuong17 (I12A) 26/4/2012, 10:09

Một hệ thống có 12 ổ băng từ và 3 tiến trình với bảng cấp phát tài nguyên như sau:
Tiến trình
Đang giữ
Max
P1 5 10
P2 2 4
P3 2 9
Hệ thống có: Available = (số tài nguyên lúc đầu - đang giữ) = 12 - (5+2+2) = 3

Need = (Max - Đang giữ)
Tiến trình Need
P1 5
P2 2
P3 7

Work
>=
Need i
P i
Allocation
Available
3
2
P2
2
5
5
P1
5
10
7
P3
2

=> tìm được chuỗi an toàn = {P2,P1,P3}, vậy trạng thái hệ thống an toàn


Giả sử P3 yêu cầu thêm 1 ổ

yêu cầu này thỏa các điều kiện

Request3 <= Need 3 vì 1<=7

Request3 <= Availabe vì 1<=3

Tiến trình
Đang giữ
Max
P1 5 10
P2 2 4
P3 3 9

Hệ thống có: Available = (số tài nguyên lúc đầu - đang giữ) = 12 - (5+2+3) = 2

Need = (Max - Đang giữ)

Tiến trình Need
P1 5
P2 2
P3 6

Work
>=
Need i
P i
Allocation
Available
2
2
P2
2
4
5
P1
3
ko thỏa
4
6
P3
5
ko thỏa
--> tới đây, ko thỏa, nên ko biết kết luận thế nào, ai giúp dùm với
TranHuyCuong17 (I12A)
TranHuyCuong17 (I12A)

Tổng số bài gửi : 37
Join date : 16/02/2012
Age : 36
Đến từ : DLY™

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty Tránh Deadlock dùng RAG

Bài gửi  tranvanthien27(I12C) 26/4/2012, 10:13

Thảo luận Bài 8 - Page 8 Ff18eaaf1c9308875db1cbb28906a48a_43931753.1
Thảo luận Bài 8 - Page 8 5e025c4aaed1c36e0c7289c164079476_43931754.2
Thảo luận Bài 8 - Page 8 2a990bde3308b830d68a1befca556846_43931757.3

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 8 Empty Tránh Deadlock bằng Banker’s Algorithm.

Bài gửi  LuongHueChanh_I12A 26/4/2012, 10:54

Banker’s Algorithm.
Là thuật giải tránh Deadlock cho trường hợp mỗi loại tài nguyên có n phiên bản.
- Áp dụng cho hệ thống cấp phát tài nguyên trong đó mỗi loại tài nguyên có thể có nhiều phiên bản.
- Mô phỏng nghiệp vụ ngân hàng (banking)
- Một số giả thiết:
  • Mỗi tiến trình (process) phải khai báo số lượng tối đa tài nguyên mỗi loại mà process đó cần để hoàn tất công việc.
    Khi tiến trình yêu cầu một tài nguyên thì có thể phải đợi mặc dù tài nguyên được yêu cầu đang có sẵn
    Khi t
iến trình đã có được đầy đủ tài nguyên thì phải hoàn trả trong một khoản thời gian hữu hạn nào đó.

LuongHueChanh_I12A

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

Về Đầu Trang Go down

Thảo luận Bài 8 - Page 8 Empty Bài tập về nhà

Bài gửi  thailongI12C 26/4/2012, 10:56

Tiến trình Đã được cấp Max
P1 5 10
P2 2 4
P3 2 9
Câu a:
Hệ có:Available=12-(5+2+2)=3
Need=Max-Allocation(Đã được cấp)
Need
P110-5=5
P2 4-2=2
P3 9-2=7
Work=> Need(i) P(i) Allocation(i)
Available 32 P2 2
3+2=5 5 P1 5
5+5=10 7 P3 2
Giải thích:
  • Vì hệ số là 3,ta chọn need của P2 là 2(thỏa dk Work=>Need(3>2)).

  • Sau khi P2 thực hiện xong,nó trả tài nguyên cho hệ thống.Lúc này tài nguyên hệ thống đang có là (3+2=5).Ta lấy need của P1 và P3 so với Work thì thầy need của P1 thỏa dk(Work=>Need(5=>5)).

  • Sau khi P1 thực hiện xong,tài nguyên hệ thống đang có là 10.Xét need của P3 là 7 thỏa đk(10>7).

=>Tìm được chuỗi an toàn={P2,P1,P3}
Câu b:
Tiến trình Đã được cấp Max
P1 5 10
P2 2 4
P3 3 9
-Xét điều kiện:
Request(3)<=Need(3) vì 1<7
Request(3)<=Need(3) vì 1<3
Hệ có:Available=12-(5+2+3)=2
Need=Max-Allocation
Need
P110-5=5
P2 4-2=2
P3 9-3=6
Work=> Need(i)P(i) Allocation
2 2 P2 2
45(ko thỏa) P1 5
=>Không tồn tại chuỗi an toàn.
Kết luận:
Vậy trạng thái ở thời điểm đầu là an toàn,không thể cấp thêm cho P3 vì có thể gây ra Deadlock.


Được sửa bởi thailongI12C ngày 26/4/2012, 11:57; sửa lần 1.

thailongI12C

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

Về Đầu Trang Go down

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

Bài gửi  phamphihung55 26/4/2012, 11:12

NguyenHongHaiI12C đã viết:-Hệ thống có 12 ổ băng.
-Có 3 tiến trình P1,P2,P3.
Tiến trìnhĐược cấp (đang giữ)Max
P1 510
P2 24
P329
a) Chứng minh trạng thái là an toàn.
-Hệ có (Available)=Tổng- (P1 P2 P3)= 12- (5 2 2)=3.
-Need= Max- Allocation(đang giữ).
Need
P1 10-5=5
P24-2=2
P3 9-2=7
vì hệ số là 3, nên để work >= Need(i), nên chỉ chọn P2 vì Need của P2 =2 thỏa điều kiện nên tiến trình P2 xét trước.
Tiếp tục lấy allocation work (2 3=5) ,5 so với bảng Need(i) thỏa điều kiện với P1 vì Need (P1=5), nên P(i) lúc này =5, Làm tương tự ta cho đến P3, sẽ được bảng như sau
Work Need(i) P(i)Allocation
Available3 >= 2 P2 2
5 >= 5 P15
10 >= 7 P32
- Kết luận :
-Tìm được chuỗi an toàn= {P2,P1,P3} vậy trạng thái hệ thống an toàn.
b) Xác định có nên đáp ứng nhu cầu cần thêm một ổ băng nữa của P3?
-Xét điều kiện :
Request(1) <= Need(i) thỏa vì 1<=7.
Request(1) <= Available thỏa vì 1<=3.
Available = Max - (P1 P2 P3) = 12- (5 2 3)=2.
Ta có trạng thái mới là
Đang giữ Need Hệ có
P155 2
P22 2
P3 36
Work Need(i) P(i) Allocation
2 >= 2P22
4 < 5P15
Kết luận:
Không tồn tại chuỗi an toàn nào vì Work < P1 và nếu thay cho P3 thì Work < P3
Vậy trạng thái ở thời điểm lúc ban đầu là an toàn
Nên không thể cấp thêm cho P3 thêm một máy nữa vỉ có thể gây ra deadlock.

cho mình bổ sung ý kiến của mình vào đáp án câu b của bạn:

vì chuỗi an toàn phải có đủ p1,p2,p3. nếu chỉ tìm được p1 và p2 thì khả năng gây ra deadlock .
vậy:hệ không tồn tại chuỗi an toàn
phamphihung55
phamphihung55

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

Về Đầu Trang Go down

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

Bài gửi  thailongI12C 26/4/2012, 11:17

phamphihung55 đã viết:
NguyenHongHaiI12C đã viết:-Hệ thống có 12 ổ băng.
-Có 3 tiến trình P1,P2,P3.
Tiến trìnhĐược cấp (đang giữ)Max
P1 510
P2 24
P329
a) Chứng minh trạng thái là an toàn.
-Hệ có (Available)=Tổng- (P1 P2 P3)= 12- (5 2 2)=3.
-Need= Max- Allocation(đang giữ).
Need
P1 10-5=5
P24-2=2
P3 9-2=7
vì hệ số là 3, nên để work >= Need(i), nên chỉ chọn P2 vì Need của P2 =2 thỏa điều kiện nên tiến trình P2 xét trước.
Tiếp tục lấy allocation work (2 3=5) ,5 so với bảng Need(i) thỏa điều kiện với P1 vì Need (P1=5), nên P(i) lúc này =5, Làm tương tự ta cho đến P3, sẽ được bảng như sau
Work Need(i) P(i)Allocation
Available3 >= 2 P2 2
5 >= 5 P15
10 >= 7 P32
- Kết luận :
-Tìm được chuỗi an toàn= {P2,P1,P3} vậy trạng thái hệ thống an toàn.
b) Xác định có nên đáp ứng nhu cầu cần thêm một ổ băng nữa của P3?
-Xét điều kiện :
Request(1) <= Need(i) thỏa vì 1<=7.
Request(1) <= Available thỏa vì 1<=3.
Available = Max - (P1 P2 P3) = 12- (5 2 3)=2.
Ta có trạng thái mới là
Đang giữ Need Hệ có
P155 2
P22 2
P3 36
Work Need(i) P(i) Allocation
2 >= 2P22
4 < 5P15
Kết luận:
Không tồn tại chuỗi an toàn nào vì Work < P1 và nếu thay cho P3 thì Work < P3
Vậy trạng thái ở thời điểm lúc ban đầu là an toàn
Nên không thể cấp thêm cho P3 thêm một máy nữa vỉ có thể gây ra deadlock.

cho mình bổ sung ý kiến của mình vào đáp án câu b của bạn:

vì chuỗi an toàn phải có đủ p1,p2,p3. nếu chỉ tìm được p1 và p2 thì khả năng gây ra deadlock .
vậy:hệ không tồn tại chuỗi an toàn
Câu b P1 cũng không thỏa mà bạn.

thailongI12C

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

Về Đầu Trang Go down

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

Bài gửi  huynhthao.hc11th2a 26/4/2012, 11:51

thailongI12C đã viết:
Tiến trình Đã được cấp Max
P1 5 10
P2 2 4
P3 2 9
Câu a:
Hệ có:Available=12-(5+2+2)=3
Need=Max-Allocation(Đã được cấp)
Need
P110-5=5
P2 4-2=2
P3 9-2=7
Work=> Need(i) P(i) Allocation(i)
Available 32 P2 2
3+2=5 5 P1 5
5+5=10 7 P3 2
Giải thích:
  • Vì hệ số là 3,ta chọn need của P2 là 2(thỏa dk Work=>Need(3>2)).

  • Sau khi P2 thực hiện xong,nó trả tài nguyên cho hệ thống.Lúc này tài nguyên hệ thống đang có là (3+2=5).Ta lấy need của P1 và P3 so với Work thì thầy need của P1 thỏa dk(Work=>Need(5=>5)).

  • Sau khi P1 thực hiện xong,tài nguyên hệ thống đang có là 10.Xét need của P3 là 7 thỏa đk(10>7).

=>Tìm được chuỗi an toàn={P2,P1,P3}
Câu b:
Tiến trình Đã được cấp Max
P1 5 10
P2 2 4
P3 3 9
-Xét điều kiện:
Request(3)<=Need(3) vì 1<7
Request(3)<=Need(3) vì 1<3
Hệ có:Available=12-(5+2+3)=2
Need=Max-Allocation
Need
P110-5=5
P2 4-2=2
P3 9-3=6
Work=> Need(i)P(i) Allocation
2 2 P2 2
45 P1 5
Do need của P1 không thỏa dk vì Work=>Không tồn tại chuỗi an toàn.
Kết luận:
Vậy trạng thái ở thời điểm đầu là an toàn,không thể cấp thêm cho P3 vì có thể gây ra Deadlock.
nho bai ban minh hieu thêm.Thanks nha

huynhthao.hc11th2a

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

Về Đầu Trang Go down

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

Bài gửi  plminhhoangI12A 26/4/2012, 11:53

Bài tập: Một hệ thống có 12 ổ băng từ và 3 tiến trình với tình trạng cấp phát tài nguyên như sau:
Tiến trình Đã được cấp Max
P1 5 10
P2 24
P3 2 9
Câu a:

  • Hệ có:Available=12-(5 2 2)=3


  • Need=Max-Allocation

Need
P1 5
P2 2
P3 7
Work=> Need(i) P(i)Allocation(i)
Available 3 2(thỏa đk) P2 2
5 5(thỏa đk) P1 5
10 7(thỏa đk) P32
=>Chuỗi an toàn={P2,P1,P3}

Câu b:]Giả sử cấp thêm chi P3 1 ổ

Tiến trình Đã được cấp Max
P1 5 10
P2 24
P3 3 9
-Yêu cầu này thỏa các đk:

  • Request(3)<=Need(3) vì 1<=7


  • Request(3)<=Available vì 1<=3


  • Hệ có:Available=12-(5 2 3)=2


  • Need=Max-Allocation

Need
P1 5
P22
P3 6
Work=> Need(i) P(i) Allocation(i)
Available 2 2 P2 2
4 5(ko thỏa) P1 5
Hoặc:
Work=> Need(i) P(i) Allocation(i)
Available 2 2 P2 2
4 6(ko thỏa) P3 3

Kết luận:Vậy không có chuỗi an toàn,không nên đáp ứng cấp cho P3 1 ỗ nữa vì có thể dẫn đến Deadlock

Admin
Giải và Trình bày tốt !

plminhhoangI12A

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

Về Đầu Trang Go down

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

Bài gửi  huynhthao.hc11th2a 26/4/2012, 11:54

TranHuyCuong17 (I12A) đã viết:Một hệ thống có 12 ổ băng từ và 3 tiến trình với bảng cấp phát tài nguyên như sau:
Tiến trình
Đang giữ
Max
P1 5 10
P2 2 4
P3 2 9
Hệ thống có: Available = (số tài nguyên lúc đầu - đang giữ) = 12 - (5+2+2) = 3

Need = (Max - Đang giữ)
Tiến trình Need
P1 5
P2 2
P3 7

Work
>=
Need i
P i
Allocation
Available
3
2
P2
2
5
5
P1
5
10
7
P3
2

=> tìm được chuỗi an toàn = {P2,P1,P3}, vậy trạng thái hệ thống an toàn


Giả sử P3 yêu cầu thêm 1 ổ

yêu cầu này thỏa các điều kiện

Request3 <= Need 3 vì 1<=7

Request3 <= Availabe vì 1<=3

Tiến trình
Đang giữ
Max
P1 5 10
P2 2 4
P3 3 9

Hệ thống có: Available = (số tài nguyên lúc đầu - đang giữ) = 12 - (5+2+3) = 2

Need = (Max - Đang giữ)

Tiến trình Need
P1 5
P2 2
P3 6

Work
>=
Need i
P i
Allocation
Available
2
2
P2
2
4
5
P1
3
ko thỏa
4
6
P3
5
ko thỏa
--> tới đây, ko thỏa, nên ko biết kết luận thế nào, ai giúp dùm với
thanks ban nha.Nho bai ban minh hieu them.

huynhthao.hc11th2a

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

Về Đầu Trang Go down

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

Bài gửi  thailongI12C 26/4/2012, 11:58

huynhthao.hc11th2a đã viết:
thailongI12C đã viết:
Tiến trình Đã được cấp Max
P1 5 10
P2 2 4
P3 2 9
Câu a:
Hệ có:Available=12-(5+2+2)=3
Need=Max-Allocation(Đã được cấp)
Need
P110-5=5
P2 4-2=2
P3 9-2=7
Work=> Need(i) P(i) Allocation(i)
Available 32 P2 2
3+2=5 5 P1 5
5+5=10 7 P3 2
Giải thích:
  • Vì hệ số là 3,ta chọn need của P2 là 2(thỏa dk Work=>Need(3>2)).

  • Sau khi P2 thực hiện xong,nó trả tài nguyên cho hệ thống.Lúc này tài nguyên hệ thống đang có là (3+2=5).Ta lấy need của P1 và P3 so với Work thì thầy need của P1 thỏa dk(Work=>Need(5=>5)).

  • Sau khi P1 thực hiện xong,tài nguyên hệ thống đang có là 10.Xét need của P3 là 7 thỏa đk(10>7).

=>Tìm được chuỗi an toàn={P2,P1,P3}
Câu b:
Tiến trình Đã được cấp Max
P1 5 10
P2 2 4
P3 3 9
-Xét điều kiện:
Request(3)<=Need(3) vì 1<7
Request(3)<=Need(3) vì 1<3
Hệ có:Available=12-(5+2+3)=2
Need=Max-Allocation
Need
P110-5=5
P2 4-2=2
P3 9-3=6
Work=> Need(i)P(i) Allocation
2 2 P2 2
45 P1 5
Do need của P1 không thỏa dk vì Work=>Không tồn tại chuỗi an toàn.
Kết luận:
Vậy trạng thái ở thời điểm đầu là an toàn,không thể cấp thêm cho P3 vì có thể gây ra Deadlock.
nho bai ban minh hieu thêm.Thanks nha
Có j đâu bạn,cùng giúp đỡ nhau là chính Very Happy

thailongI12C

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

Về Đầu Trang Go down

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

Bài gửi  plminhhoangI12A 26/4/2012, 12:23

Trạng thái an toàn(Safe State):
  • Khi 1 tiến trình yêu cầu tài nguyên, HĐH phải xác định việc cấp phát TN đó có đảm bảo hệ thống trong Trạng thái an toàn hay không. Nếu an toàn, tiến trình nhận được tài nguyên cần. Nếu không an toàn, tiến trình phải chờ.

  • Trạng thái hệ thống được gọi là An toàn nếu tồn tại một Chuỗi an toàn {P1, P2, … , Pn } bao gồm tất cả các tiến trình sao cho với mỗi Pi, các tài nguyên mà nó yêu cầu có thể được đáp ứng bởi số lượng hiện có cộng thêm của tất cả các Pj mà j < i.

  • Nếu các TN yêu cầu không có đủ, Pi phải chờ cho đến khi tất cả các Pj trả lại các TN mà chúng chiếm giữ.

  • Khi Pi nhận được đủ TN cần thiết, nó sử dụng và trả lại HĐH để Pi+1 có thể vận hành, cứ như thế cho đến Pn

  • Cấp phát tài nguyên theo chuỗi an toàn sẽ không dẫn đến Deadlock.

  • Nếu không tồn tại chuỗi an toàn, trạng thái hệ thống gọi là Không an toàn.

  • Deadlock là trạng thái không an toàn nhưng không phải tất cả các trạng thái không an toàn là trạng thái Deadlock.




plminhhoangI12A

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

Về Đầu Trang Go down

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

Bài gửi  LeHoangYen_11H1010157 26/4/2012, 13:11

Định nghĩa DeadLock và ví dụ minh họa về hiện tượng này.

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

LeHoangYen_11H1010157

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

Về Đầu Trang Go down

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

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 8 trong tổng số 11 trang Previous  1, 2, 3 ... 7, 8, 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