Professional Documents
Culture Documents
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-----o0o----
NHÓM 5
ĐỀ TÀI 05
TÌM HIỂU CÁC GIẢI THUẬT QUẢN LÝ TẮC NGHẼN VÀ
VIẾT CHƯƠNG TRÌNH MINH HỌA
BÀI TẬP CUỐI KÌ – MÔN HỆ ĐIỀU
HÀNH
GVHD : ĐINH HUY HOÀNG
Định nghĩa:
- Một tập hợp các tiến trình được định nghĩa ở trong tình trạng tắc nghẽn khi mỗi
tiến trình trong tập hợp đều chờ đợi một sự kiện mà chỉ có một tiến trình khác
trong tập hợp mới có thể phát sinh được.
- Nói cách khác, mỗi tiến trình trong tập hợp đều chờ được cấp phát một tài
nguyên hiện đang bị một tiến trình khác cũng ở trạng thái blocked chiếm giữ.
Như vậy không có tiến trình nào có thể tiếp tục xử lý , cũng như giải phóng tài
nguyên cho tiến trình khác sử dụng, tất cả các tiến trình trong tập hợp đều bị
khóa vĩnh viễn !
1
- Max: ma trận nxm, số thực thể tối đa mà tiến trình yêu cầu. Nếu
- Max[i,j]=k, thì tiến trình Pi có thể yêu cầu nhiều nhất k thực thể của tài nguyên
Rj
- Allocation: ma trận nxm, số thực thể của tài nguyên đã cấp phát
- cho tiến trình. Nếu Allocation[i,j]=k, thì hiện hành tiến trình Pi được
- cấp phát k thực thể của tài nguyên Rj
- Need: ma trận nxm, số thực thể tiến trình cần để hoàn thành tác vụ.Nếu
Need[i,j]=k, thì tiến trình Pi cần thêm k thực thể của Rj để hoàn thành tác vụ
Need[i,j]=Max[i,j]-Allocation[i,j]
2
Ví dụ về giải thuật Banker
- 5 tiến trình: P0 đến P4
P1 200 322
P2 302 902
P3 211 222
P4 002 433
3
- Ma trận Need được xác định bởi Max – Allocation
Need
ABC
P0 743
P1 122
P2 600
P3 011
P4 431
- Hệ thống ở trạng thái an toàn vì chuỗi < P1 , P3 , P4 , P2 , P 0> ¿ thỏa mãn điều kiện
an toàn
- Nếu trạng thái là an toàn => tài nguyên được cấp phát cho Pi
- Nếu trạng thái là không an toàn => Pi phải chờ, và trạng thái cấp phát tài nguyên
cũ được phục hồi
4
3. PHÁT HIỆN TẮC NGHẼN
- Cho phép hệ thống rơi vào trạng thái tắc nghẽn
- Giải thuật phát hiện tắc nghẽn
- Cách thức phục hồi
5
Tài nguyên có nhiều thực thể
- Available: vector với độ dài m, cho biết số tài nguyên khả dụng của mỗi loại
- Allocation: ma trận nxm, xác định số tài nguyên của mỗi loại được cấp phát
hiện hành cho mỗi tiến trình
- Request: ma trận nxm, cho biết yêu cầu hiện tại của mỗi tiến trình. Nếu
Request[i][j]=k thì tiến trình Pi đang yêu cầu thêm k thực thể của tài nguyên R j
6
Ví dụ về giải thuật phát hiện tắc nghẽn
- Cho 5 tiến trình từ P0 đến P4; 3 tài nguyên: A (7 thực thể), B (2 thực thể) và C
(6 thực thể)
- Hiện trạng tại thời điểm T0
Allocation Request Available
ABC ABC ABC
P0 010 000 000
P1 200 202
P2 303 000
P3 211 100
P4 002 002
- Chuỗi < P0 , P 2 , P3 , P1 , P 4> sẽ cho kết quả Finish[i] = true với mọi i
- P2 yêu cầu thêm 1 thực thể tài nguyên C
Request
ABC
P0 000
P1 202
P2 001
P3 100
P4 002
- Hệ thống có an toàn?
+ Có thể đòi lại tài nguyên được giữ bởi tiến trình P0, nhưng không đủ tài
nguyên để thi hành các tiến trình khác
+ Tắc nghẽn tồn tại, bao gồm các tiến trình P1, P2, P3 và P4