Giải pháp ngăn chặn Deadlock
Trang 1 trong tổng số 1 trang
Giải pháp ngăn chặn Deadlock
Giải pháp để ngăn chặn DeadLock là bằng cách phủ định một trong bốn điều kiện trên như sau:
+Loại trừ lẫn nhau
-> để ngăn tình trạng này xảy ra thì ta có thể tạo nhiều tài nguyên dùng chung để các tiến trình sử dụng 1 cách hiệu quả.
VD: hai xe chạy ngược chiều qua cầu hẹp sẽ dẫn đến deadlock, giải pháp là ta sẽ xây thêm một cây cầu nữa đễ phân thành 2 làn riêng biệt, như vậy sẽ tránh được deadlock. (Xây thêm cầu là tạo thêm tài nguyên dùng chung).
+Giữ và chờ
->để ngăn tình trạng này ta sẽ cho các tiến trình giữ và chờ trong một khoảng thời gian nhất định nào đó. Như thế, sẽ giải phóng được tài nguyên và các tiến trình khác tiếp tục sử dụng tài nguyên đó.
VD: xe chạy tới ngã 4, không xe nào chịu nhường xe nào qua trước, xe nào cũng cố giữ phần đường mà mình đang có và chờ xe khác nhường phần đường còn lại, dẫn đến deadlock. Để giải quyết vấn đề thì ta phải dựng đèn giao thông, quy định trong thời gian bao lâu thì phải nhường cho xe khác qua, như vậy sẽ giảm được deadlock.
+Không có tiếm quyền
-> để ngăn tình trạng này thì ta phải làm cho hệ điều hành lấy lại tài nguyên mà tiến trình đó đang giữ (có tiếm quyền).
VD: ngã 4 đang kẹt xe, không bên nào chịu nhường bên nào. Cần có người điều khiển giao thông dùng quyền lực để bắt một bên nào đó phải nhường cho bên còn lại đi trước, sau đó sẽ đến lượt bên kia đi.
+ Chờ xoay vòng
-> cách giải quyết cũng giống (Loại trừ lẫn nhau) là phải tạo nhiều tài nguyên dùng chung.
+Loại trừ lẫn nhau
-> để ngăn tình trạng này xảy ra thì ta có thể tạo nhiều tài nguyên dùng chung để các tiến trình sử dụng 1 cách hiệu quả.
VD: hai xe chạy ngược chiều qua cầu hẹp sẽ dẫn đến deadlock, giải pháp là ta sẽ xây thêm một cây cầu nữa đễ phân thành 2 làn riêng biệt, như vậy sẽ tránh được deadlock. (Xây thêm cầu là tạo thêm tài nguyên dùng chung).
+Giữ và chờ
->để ngăn tình trạng này ta sẽ cho các tiến trình giữ và chờ trong một khoảng thời gian nhất định nào đó. Như thế, sẽ giải phóng được tài nguyên và các tiến trình khác tiếp tục sử dụng tài nguyên đó.
VD: xe chạy tới ngã 4, không xe nào chịu nhường xe nào qua trước, xe nào cũng cố giữ phần đường mà mình đang có và chờ xe khác nhường phần đường còn lại, dẫn đến deadlock. Để giải quyết vấn đề thì ta phải dựng đèn giao thông, quy định trong thời gian bao lâu thì phải nhường cho xe khác qua, như vậy sẽ giảm được deadlock.
+Không có tiếm quyền
-> để ngăn tình trạng này thì ta phải làm cho hệ điều hành lấy lại tài nguyên mà tiến trình đó đang giữ (có tiếm quyền).
VD: ngã 4 đang kẹt xe, không bên nào chịu nhường bên nào. Cần có người điều khiển giao thông dùng quyền lực để bắt một bên nào đó phải nhường cho bên còn lại đi trước, sau đó sẽ đến lượt bên kia đi.
+ Chờ xoay vòng
-> cách giải quyết cũng giống (Loại trừ lẫn nhau) là phải tạo nhiều tài nguyên dùng chung.
ngothihanHC11TH2A- Tổng số bài gửi : 23
Join date : 16/02/2012
Similar topics
» Thảo luận Bài 8
» Thảo luận Bài 8
» Trình bày giải pháp ngăn chặn Deadlock
» Thảo luận Bài 8: Thuật giải Nhà băng
» Thảo luận Bài 8
» Thảo luận Bài 8
» Trình bày giải pháp ngăn chặn Deadlock
» Thảo luận Bài 8: Thuật giải Nhà băng
» Thảo luận Bài 8
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết