Tải bản đầy đủ (.pdf) (5 trang)

Bài Tập Hệ Điều Hành UIT chương6

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (456.98 KB, 5 trang )

Môn: HỆ ĐIỀU HÀNH

HỌ VÀ TÊN: Nguyễn Thanh Hiếu

LỚP: IT007.M21.HTCL

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?

P1
P2
P3
P4

Allocation
R1
R2
R3
1
0
0
0
2
0
1


0

0
0

0
2

Max
R1 R2 R3
1
1
0
1
2
1
1
1

c, Chuỗi an tồn? (nếu có)
- Chuỗi an toan: P4->P2->P3->P1

1
0

0
2

Need
R1 R2 R3

0
1
0
1
0
1
0
1

1
0

0
0

Available
R1
R2
R3
1
0
0
1
0
2
1
2

2
2


2
2


Bài 2:

Allocation
A
B
P0 0
0
P1 1
0
P2 1
3
P3 0
6
P4 0
0

C
1
0
5
3
1

D A
2 0

0 1
4 2
2 0
4 0

Max
B
0
7
3
6
6

C D A
1 2 0
5 0 0
5 6 1
5 2 0
5 6 0

=> chuỗi an toàn : P0->P2->P3->P4->P1
=> Hệ thống an tồn
Nếu P1 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)

Need

B
0
7
0
0
6

C D A
0 0 1
5 0 1
0 2 2
2 0 2
4 2 2

Available
B
C D
5
2 0
5
3 2
8
8 6
14
11 8
14
12 12


Allcation1 = 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 tồn là: P0 -> P2 -> P1 -> P4 -> P3 => Có thể cấp phát
được.
Bài 3:


a,
Allocation
A
B
P0 3
0
P1 2
2
P2 3
1
P3 0
5
P4 4
2

C
1
1
2
1
1

Max
D A B
4 5
1
0 3
2
1 3
3

0 4
6
2 6
3

C D A
1 7 2
1 1 1
2 1 0
1 2 4
2 5 2

Need
B
1
0
2
1
1

C D A
0 3 0
0 1 3
0 0 5
0 2 5
1 3

Available
B
3

4
6
11

C
0
2
3
4

D
1
2
2
2


=> Trạng thái khơng an tồn do khơng tìm được giá trị Needi nhỏ hơn Available =
(5,11,4,2)
b,
Allocation
Max
A
B
C D A B C
P0 3
0
1 4 5
1
1

P1 2
2
1 0 3
2
1
P2 3
1
2 1 3
3
2
P3 0
5
1 0 4
6
1
P4 4
2
1 2 6
3
2
=> Chuỗi an toàn: P1 -> P2 -> P3 -> P4 -> P0
=> Trạng thái an toàn
Bài 4:

a,

D A
7 2
1 1
1 0

2 4
5 2

Need
B
1
0
2
1
1

C D
0 3
0 1
0 0
0 2
1 3

Available
A
B
1
0
3
1
6
3
6
4
10

5

C
0
1
3
4
5

D
2
2
3
3
5


Allocation
Max
A
B
C D A B
P0 2
0
0 1 4
2
P1 3
1
2 1 5
2

P2 2
1
0 3 2
3
P3 1
3
1 2 1
4
P4 1
4
3 2 3
6
Chuỗi an toàn: P0->P3->P4->P1->P2

C D A
1 2 2
5 2 2
1 6 0
2 4 0
6 5 2

Need
B
2
1
2
2
2

C D

1 1
3 1
1 3
1 2
3 3

Available
A
B
3
3
5
3
6
6
7
10
10
11

C
2
2
3
6
8

D
1
2

4
6
7

Allocation
Max
Need
Available
A
B
C D A B C D A
B
C D A
B
C
P0 2
0
0 1 4
2
1 2 2
2
1 1 2
2
2
P1 4
2
2 1 5
2
5 2 1
0

3 1 4
2
2
P2 2
1
0 3 2
3
1 6 0
2
1 3 5
5
3
P3 1
3
1 2 1
4
2 4 0
2
1 2 6
9
6
P4 1
4
3 2 3
6
6 5 2
2
3 3 10
11
8

Chuỗi an toàn: P0 -> P3 -> P4 -> P1 -> P2

D
1
2
4
6
7

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)



×