hôm này chúng ta cùng ôn tập lại Deadlock

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

hôm này chúng ta cùng ôn tập lại Deadlock

Bài gửi  phanhung09h1012049_i92c on 22/12/2010, 14:29

1 Định nghĩa Deadlock
Deadlock: là tình huống kẹt tiến trình (process) với một tập các process bị blocked, mỗi process giữ tài nguyên và đang chờ tài nguyên mà process khác trong tập đang có.
Ví dụ 1
Giả sử hệ thống có 2 file trên đĩa.
P1 và P2 mỗi process đang mở một file và yêu cầu mở file kia.
ví dụ 2:giả sử trên đoạn đường hai chiếc ô tô qua một cây cầu hẹp chiếc này không nhường chiếc kia,do đó hai chiếc xe mắc kẹt tại chỗ,do đó tình huống kẹt tiến trình sẽ xây ra
2.Bốn điều kiện dẫn đến Deadlock là những điều kiện gì?
- Mutual exclusion: với mỗi tài nguyên, chỉ có một process sử dụng tại một thời điểm.
- Hold and wait: một process vẫn sở hữu tài nguyên đã được cấp phát trong khi yêu cầu một tài ngyên khác.
- No preemption: một tài nguyên không thể bị đoạt lại từ chính process đang sở hữu tài nguyên đó.
- Circular wait: tồn tại một chu kỳ khép kín các yêu cầu tài nguyên.
3. Làm thế bào để ngăn chặn Deadlock.?
Để 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ể:
+ Với Mutual Exclusion: Đảm bảo TN nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình.
+ Với Hold and Wait:
+ Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
+ TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
+ Với No Preemption:
+ Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
+ Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền sử dụng để cấp cho TT đang xin.

phanhung09h1012049_i92c

Tổng số bài gửi : 15
Join date : 17/11/2010

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết