Thảo luận Bài 8
+75
NguyenThiNgocPhuoc(122A)
PhamThiThao (I22B)
phungvanduong24(I12A)
NguyenHoangMinh_I22B
NguyenCaoDuong(I22B)
LeQuangLong (I22B)
LêAnhNgữ(I22A)
LeSonCa(I22B)
PhamPhuKhanh52(I22B)
HuynhDucQuang(I22B)
LETHIANHDAO48(I22B)
TruongMinhTriet(I22B)
NguyenThiNgocHuyen (I22B)
DuongTrungQuan
NguyenHoangKimVu (I11C)
NguyenTanDat(I22B)
NguyenThiPhongLan(I22A)
NguyenManhHuy(I22B)
TrieuDucMinh(I22A)
nguyenhoanglam_I22B
nguyenvankhoa59(122B)
lehongphong(I22B)
TranBinhCongLuanI12A
Ng0HaiQuan(i22B)
TranAnhTam(I22B)
TranQuocLoc(I22A)
VanNhatDongGiang(I22A)
xuantri27 (I11C)
NguyenTrongTinh(I22A)
ToThiMy(I22A)
NguyenNgocMinh(I22B)
phuquoccuong(I22A)
NguyenThanhTung(I22B)
TruongTranThanhTu(I22B)
NguyenThiThom(I22A)
NguyenThanhSoai(I22A)
DamQuangBinh (I22A)
tranvanminh82(I22A)
NguyenXuanThi(I22A)
PhamQuocCuong (I22A)
LeThanhQuang (I22B)
dangthihoangly(I12A)
NguyenXuanLinh(HLT3)
NguyenMinhTam(I22B)
TranVuSang (I22B)
LuGiaLam(I22A)
LeVanVan (I22B)
NguyenVanLanh (I22A)
HongGiaPhu (I22A)
BuiHuuDang(I22B)
Dao Duy Thanh(I22B)
NguyenThiMai(I22A)
ThaiMyTu (I22B)
MaiXuanSon (I22B)
NguyenTrungTin(I22A)
NguyenNhatHuy64(I22B)
vivanbieu(I22B)
VoMinhThang(I22B)
AnhDao(I22B)
NguyenQuocHuy (I22B)
NguyenVietDuc39 (I22B)
NguyenVanQuoc (I22B)
BuiThucTuan(I22B)
NguyenVanTu(I22A)
VoMinhDien(I22B)
QuangMinhTuan(I22B)
TranDangKhoa(I22A)
NguyenHoangThien(I22B)
lekhanhhoa(I22B)
Huynh Xuan Dat(I22A)
vokimthong
NguyenTienDat (I22A)
NguyenThanhQuoc(I22A)
TruongNhuNgoc (I22A)
Admin
79 posters
Trang 9 trong tổng số 9 trang
Trang 9 trong tổng số 9 trang • 1, 2, 3, 4, 5, 6, 7, 8, 9
Bai 8: Deadlock
Operating Systems- Banker's Algorithm (Concept)
https://www.youtube.com/watch?v=oIXj9FfSyxY
https://www.youtube.com/watch?v=oIXj9FfSyxY
TranAnhTam(I22B)- Tổng số bài gửi : 19
Join date : 28/03/2013
Re: Thảo luận Bài 8
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:
Câu a:
Hệ có:Available=12-(5 2 2)=3
Need=Max-Allocation
=>Chuỗi an toàn={P2,P1,P3}
Câu b:]Giả sử cấp thêm chi P3 1 ổ
-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
Hoặc:
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[table]
Tiến trình | Đã được cấp | Max |
P1 | 5 | 10 |
P2 | 2 | 4 |
P3 | 2 | 9 |
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) | P3 | 2 |
=>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 | 2 | 4 |
P3 | 3 | 9 |
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 |
P2 | 2 |
P3 | 6 |
Work | =>Need(i) | P(i) | Allocation(i) | |
Available | 2 | 2 | P2 | 2 |
4 | 5(ko thỏa) | P1 | 5 |
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[table]
NguyenThiMai(I22A)- Tổng số bài gửi : 32
Join date : 28/03/2013
Re: Thảo luận Bài 8
Bài 1: 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.
Bai 2:
Một hệ thống có 3 máy quét hình và 2 tiến trình P1,P2 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(1,1) và Max(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 cấp thêm 1 máy nữa P2 ./.
Giải:
a) Allocation=(1,1), Max=(2,2);
Available=3-(1+1)=1;
Ta có: Need(i)=Max(i)-Allocation(i)
=> p1=(2-1)=1; p2=(2-1)=1;
Work >= Need(i) P(i ) Allocation
1 1 p1 1
2 1 p2 1
. Tồn tại chuỗi an toàn=.
Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
b)
Request(2)<=Need(2) vì 1<=1
Request(2)<=Available vì 1<=1
Trạng thái mới:
Allocation(1,1+1)(vì thêm 1 máy nữa nên cộng thêm 1)
Available=3-(1+1+1)=0
Need(i):
p1 1
p2 0
Work >= Need(i) P(i) Allocation
0 0 p2 2
2 1 p1 1
Tồn tại trạng thái an toàn=
Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
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.
Bai 2:
Một hệ thống có 3 máy quét hình và 2 tiến trình P1,P2 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(1,1) và Max(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 cấp thêm 1 máy nữa P2 ./.
Giải:
a) Allocation=(1,1), Max=(2,2);
Available=3-(1+1)=1;
Ta có: Need(i)=Max(i)-Allocation(i)
=> p1=(2-1)=1; p2=(2-1)=1;
Work >= Need(i) P(i ) Allocation
1 1 p1 1
2 1 p2 1
. Tồn tại chuỗi an toàn=
Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
b)
Request(2)<=Need(2) vì 1<=1
Request(2)<=Available vì 1<=1
Trạng thái mới:
Allocation(1,1+1)(vì thêm 1 máy nữa nên cộng thêm 1)
Available=3-(1+1+1)=0
Need(i):
p1 1
p2 0
Work >= Need(i) P(i) Allocation
0 0 p2 2
2 1 p1 1
Tồn tại trạng thái an toàn=
Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
TrỉnhToQuyen(I12A)- Tổng số bài gửi : 23
Join date : 10/03/2013
Re: Thảo luận Bài 8
TrỉnhToQuyen(I12A) đã viết:Bài 1: 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.
Bai 2:
Một hệ thống có 3 máy quét hình và 2 tiến trình P1,P2 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(1,1) và Max(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 cấp thêm 1 máy nữa P2 ./.
Giải:
a) Allocation=(1,1), Max=(2,2);
Available=3-(1+1)=1;
Ta có: Need(i)=Max(i)-Allocation(i)
=> p1=(2-1)=1; p2=(2-1)=1;
Work >= Need(i) P(i ) Allocation
1 1 p1 1
2 1 p2 1
. Tồn tại chuỗi an toàn=.
Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
b)
Request(2)<=Need(2) vì 1<=1
Request(2)<=Available vì 1<=1
Trạng thái mới:
Allocation(1,1+1)(vì thêm 1 máy nữa nên cộng thêm 1)
Available=3-(1+1+1)=0
Need(i):
p1 1
p2 0
Work >= Need(i) P(i) Allocation
0 0 p2 2
2 1 p1 1
Tồn tại trạng thái an toàn=
Vậy trạng thái hệ thống ở thời điểm Ti là an toàn.
Cảm ơn. Chúc các bạn lấy được điểm tối đa trong 2 câu bài tập nhé
NguyenThiMyThoa(I22A)- Tổng số bài gửi : 12
Join date : 15/03/2013
Age : 34
Đến từ : 12H1010134
Re: Thảo luận Bài 8
NguyenThiNgocPhuoc(122A) đã viết:Để ngăn chặn Deadlock, ta phải làm sao cho ít nhất 1 trong 4 điều kiện dẫn đến Deadlock không xảy ra. Cụ thể là:
1 Với Mutual Exclusion: Đảm bảo tài nguyên nào cũng được dùng chung cùng 1 lúc bởi nhiều tiến trình.
2 Với Hold and Wait:
+ Khi tiến trình yêu cầu tài nguyên thì tiến trình đó không được giữ 1 tài nguyên nào khác.
+ Tiến trình phải yêu cầu và được cấp tất cả các tài nguyên mà nó cần ngay đầu công việc.
3 Với No Preemption:
+ Khi tiến trình giữ tài nguyên nhưng muốn xin thêm tài nguyên khác thì tài nguyên mà nó đang giữ phải bị tiếm quyền sử dụng và trả lại cho hệ điều hành.
+ KHi tiến trình yêu cầu tài nguyên nhưng tài nguyên đó đang được tiền trình khác giữ (ở trạng thái chờ) thì tài nguyên đó bị tiếm quyền sử dụng và được cấp cho tiến trình đang xin.
4 Với Circular Wait: Tài nguyên được cấp theo 1 thứ tự nào đấy.
1. Một thiết bị không thể thực hiện nhiều việc cùng 1 lúc.
2. Nếu 1 tiến trình được cấp phát tất cả những tài nguyên nó cần 1 lúc thì các tiến trình còn lại...làm việc gì?
3.
+ Khi một máy tính đang nạp dữ liệu vào máy in giữa chừng và yêu cầu máy scan thì việc tiếm quyền sử dụng máy in sẽ gây rắc rối.
+ Hệ điều hành này "độc tài" quá @@
4. Không thể xác định thứ tự chính xác vì các tiến trình không yêu cầu cùng 1 lúc.
Trên là các ý kiến của cá nhân mình, các bạn vui lòng comment nếu có sai sót nha. Thanks!!
TranQuocLoc(I22A)- Tổng số bài gửi : 10
Join date : 09/03/2013
Age : 34
Đến từ : Bà Rịa- Vũng Tàu
Trang 9 trong tổng số 9 trang • 1, 2, 3, 4, 5, 6, 7, 8, 9
Similar topics
» THẢO LUẬN MÔN HỌC
» Thảo luận Bài 8
» Thảo luận Bài 3
» Thảo luận về đề thi HK1
» [Đề thi giữa kỳ] I22B ( 8-4-2013 )
» Thảo luận Bài 8
» Thảo luận Bài 3
» Thảo luận về đề thi HK1
» [Đề thi giữa kỳ] I22B ( 8-4-2013 )
Trang 9 trong tổng số 9 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết