Professional Documents
Culture Documents
DEADL
8
OCK
Môn: Hệ Điều Hành
Khoa: Công Nghệ Thông Tin
Trường ĐH Giao Thông Vận Tải
Tp.HCM
DEADLOCK
Deadlock
01 System model Characterization
3.1 Necessary Conditions
03
3.2 Resource-Allocation Graph
Deadlock in
Multithreaded
Methods for Handing
02 Applications
Deadlocks 04
2.1 Livelock
Lời mở đầu
Trong một môi trường multiprogramming,
một số luồng có thể cạnh tranh một số tài
nguyên hữu hạn. Một luồng yêu cầu tài
nguyên, nếu tài nguyên không có sẵn vào
thời điểm đó, luồng sẽ vào trạng thái chờ.
Đôi khi, một luồng đang đợi không bao giờ
có thể thay đổi trạng thái lại nữa, vì tài
nguyên mà nó đã yêu cầu đang được các
luồng khác giữ. Tình huống này được gọi là
deadlock.
Chúng ta xác định deadlock là tình huống
mà mỗi tiến trình trong một tập hợp các tiến
trình đang chờ đợi một sự kiện chỉ có thể
được gây ra bởi một tiến trình khác trong
tập hợp đó.
Deadlock là gì
Deadlock là một trạng thái mà hệ thống đó:
• Một tập hợp các tiến trình bị nghẽn
• Mỗi tiến trình đang giữ một tài nguyên và
cũng đang chờ một tài nguyên đang bị giữ bởi
một tiến trình khác trong tập các tiến trình
đang bị nghẽn.
T1 → R1 → T3 → R2 →
04
METHOD
FOR
HANDING
DEADLOCK
4. Method for Handing Deadlock:
40
Chúng ta có thể xử lý deadlock theo một trong ba cách sau:
%
o Chúng ta có thể hoàn toàn bỏ qua vấn đề và giả vờ rằng deadlock
không bao giờ xảy ra trong hệ thống.
o Chúng ta có thể sử dụng một giao thức để ngăn chặn hoặc tránh
10deadlock, đảm bảo rằng hệ thống sẽ không bao giờ vào trạng thái
%deadlock.
o Chúng ta có thể cho phép hệ thống vào trạng thái deadlock, phát hiện
nó và phục hồi sau đó.
4. Method for Handing Deadlock:
40
● Bảo đảm rằng hệ thống không rơi vào tình trạng deadlock bằng cách
%ngắn (Prevention) hoặc tránh ( Avoidance) deadlock
● Sự khác biệt giữa ngăn và tránh deadlock:
○ Ngăn deadlock: không cho phép một trong 4 điều kiện cần cho
10 deadlock
% ○ Tránh deadlock: các quá trình cần cung cấp thông tin về tài
nguyên nó cần để hệ thống cấp tài nguyền một cách thích hợp
4. Method for Handing Deadlock:
40
● Cho phép hệ thống vào trạng thái deadlock, nhưng sau đó phát hiện
%deadlock( Detection) và phục hồi hệ thống ( Recovery)
● Bỏ qua mọi vấn đề, xem như deadlock không bào giờ xảy ra trong hệ
thống
10 ○ Khá nhiều hệ điều hành sử dụng phương pháp này.
% ○ Deadlock không được phát hiện, dẫn đến việc giảm hiệu suất của
hệ thống. Cuối cùng, hệ thống có thể ngưng hoạt động và phải khởi
động lại.