Môn HỆ ĐIỀU HÀNH LỚP IT007 M21 HTCL BÀI 1 Cho 1 hệ thống có 4 tiến trình P1 đến P4 và 3 loại tài nguyên R1 (3), R2 (2) R3 (2) P1 giữ 1 R1 và yêu cầu 1 R2; P2 giữ 2 R2 và yêu cầu 1 R1 và 1 R3; P3 giữ 1 R1 và yêu cầu 1 R2; P4 giữ 2 R3 và yêu cầu 1 R1 a, Vẽ đồ thị tài nguyên cho hệ thống này? b, Deadlock? Allocation Max Need Available R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 1 0 0 1 1 0 0 1 0 1 0 0 P2 0 2 0 1 2 1 1 0 1 1 0 2 P3 1 0 0 1 1 0 0 1 0 1 2 2 P4 0 0.
Trang 1Môn: HỆ ĐIỀU HÀNH
LỚP: IT007.M21.HTCL
HỌ VÀ TÊN: Nguyễn Thanh Hiếu
MSSV: 20521328
BÀI 1: Cho 1 hệ thống có 4 tiến trình P1 đến P4 và 3 loại tài nguyên R1 (3), R2 (2) R3
(2) P1 giữ 1 R1 và yêu cầu 1 R2; P2 giữ 2 R2 và yêu cầu 1 R1 và 1 R3; P3 giữ 1 R1 và
yêu cầu 1 R2; P4 giữ 2 R3 và yêu cầu 1 R1
a, Vẽ đồ thị tài nguyên cho hệ thống này?
b, Deadlock?
Allocation Max Need Available R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3
P1 1 0 0 1 1 0 0 1 0 1 0 0
P2 0 2 0 1 2 1 1 0 1 1 0 2
P3 1 0 0 1 1 0 0 1 0 1 2 2
P4 0 0 2 1 0 2 1 0 0 2 2 2
c, Chuỗi an toàn? (nếu có)
- Chuỗi an toan: P4->P2->P3->P1
Trang 2Bài 2:
Allocation Max Need Available
A B C D A B C D A B C D A B C D P0 0 0 1 2 0 0 1 2 0 0 0 0 1 5 2 0 P1 1 0 0 0 1 7 5 0 0 7 5 0 1 5 3 2 P2 1 3 5 4 2 3 5 6 1 0 0 2 2 8 8 6 P3 0 6 3 2 0 6 5 2 0 0 2 0 2 14 11 8 P4 0 0 1 4 0 6 5 6 0 6 4 2 2 14 12 12
=> chuỗi an toàn : P0->P2->P3->P4->P1
=> Hệ thống an toàn
Nếu P1 yêu cầu (0,4,2,0)
Ta có: Request1 <= Need1
Request1 <= Available
Giả sử cấp phát tài nguyên cho P1 thành công, ta có:
Available = Available – Request1 = (1,1,0,0)
Need1 = Need1 - Request1 = (0,3,3,0)
Trang 3Allcation1 = Allocation1 + Request1 = (1,4,2,0)
Allocation Max Need Available
A B C D A B C D A B C D A B C D P0 0 0 1 2 0 0 1 2 0 0 0 0 1 1 0 0 P1 1 4 2 0 1 7 5 0 0 3 3 0 1 1 1 2 P2 1 3 5 4 2 3 5 6 1 0 0 2 2 4 6 6 P3 0 6 3 2 0 6 5 2 0 0 2 0 3 8 8 6 P4 0 0 1 4 0 6 5 6 0 6 4 2 3 8 9 10
Sau khị cấp phát ta có chuỗi an toàn là: P0 -> P2 -> P1 -> P4 -> P3 => Có thể cấp phát
được
Bài 3:
a,
Allocation Max Need Available
A B C D A B C D A B C D A B C D P0 3 0 1 4 5 1 1 7 2 1 0 3 0 3 0 1 P1 2 2 1 0 3 2 1 1 1 0 0 1 3 4 2 2 P2 3 1 2 1 3 3 2 1 0 2 0 0 5 6 3 2 P3 0 5 1 0 4 6 1 2 4 1 0 2 5 11 4 2 P4 4 2 1 2 6 3 2 5 2 1 1 3
Trang 4=> Trạng thái không an toàn do không tìm được giá trị Needi nhỏ hơn Available =
(5,11,4,2)
b,
Allocation Max Need Available
A B C D A B C D A B C D A B C D P0 3 0 1 4 5 1 1 7 2 1 0 3 1 0 0 2 P1 2 2 1 0 3 2 1 1 1 0 0 1 3 1 1 2 P2 3 1 2 1 3 3 2 1 0 2 0 0 6 3 3 3 P3 0 5 1 0 4 6 1 2 4 1 0 2 6 4 4 3 P4 4 2 1 2 6 3 2 5 2 1 1 3 10 5 5 5
=> Chuỗi an toàn: P1 -> P2 -> P3 -> P4 -> P0
=> Trạng thái an toàn
Bài 4:
a,
Trang 5Allocation Max Need Available
A B C D A B C D A B C D A B C D P0 2 0 0 1 4 2 1 2 2 2 1 1 3 3 2 1 P1 3 1 2 1 5 2 5 2 2 1 3 1 5 3 2 2 P2 2 1 0 3 2 3 1 6 0 2 1 3 6 6 3 4 P3 1 3 1 2 1 4 2 4 0 2 1 2 7 10 6 6 P4 1 4 3 2 3 6 6 5 2 2 3 3 10 11 8 7 Chuỗi an toàn: P0->P3->P4->P1->P2
b,
Ta có: Request1 <= Need1
Request1 <= Available
Giả sử cấp phát tài nguyên cho P1 thành công:
Available = Available – Request1 = (2,2,2,1)
Need1 = Need1 – Request1 = (1,0,3,1)
Allocation1 = Allocation1 + Request1 = (4,2,2,1)
Allocation Max Need Available
A B C D A B C D A B C D A B C D P0 2 0 0 1 4 2 1 2 2 2 1 1 2 2 2 1 P1 4 2 2 1 5 2 5 2 1 0 3 1 4 2 2 2 P2 2 1 0 3 2 3 1 6 0 2 1 3 5 5 3 4 P3 1 3 1 2 1 4 2 4 0 2 1 2 6 9 6 6 P4 1 4 3 2 3 6 6 5 2 2 3 3 10 11 8 7
Chuỗi an toàn: P0 -> P3 -> P4 -> P1 -> P2