e) Chiến lược điều phối với nhiều mức độ ưu tiên
2.5.2. Điều kiện xuất hiện tắc nghẽn
Coffman, Elphick và Shoshani đã đưa ra 4 điều kiện cần có thể làm xuất hiện tắc nghẽn:
Có sử dụng tài nguyên không thể chia sẻ (Mutual exclusion): Mỗi thời điểm, một tài nguyên không thể chia sẻ được hệ thống cấp phát chỉ cho một tiến trình , khi tiến trình sử dụng xong tài nguyên này, hệ thống mới thu hồi và cấp phát tài nguyên cho tiến trình khác.
Sự chiếm giữ và yêu cầu thêm tài nguyên (Wait for): Các tiến trình tiếp tục chiếm giữ các tài nguyên đã cấp phát cho nó trong khi chờ được cấp phát thêm một số tài nguyên mới.
Không thu hồi tài nguyên từ tiến trình đang giữ chúng (No preemption): Tài nguyên không thể được thu hồi từ tiến trình đang chiếm giữ chúng trước khi tiến trình này sủ dụng chúng xong.
Tồn tại một chu kỳ trong đồ thị cấp phát tài nguyên ( Circular wait):
một tập hợp các tiến trình {P0, P1,…,Pn} đang chờ mà trong đó P0 đang chờ một tài nguyên được giữ bởi P1,
P1 đang chờ tài nguyên đang giữ bởi P2,…, Pn-1 đang chờ tài nguyên đang giữ bởi Pn Pn đang chờ tài nguyên đang giữ bởi P0
4 điều kiện không hoàn toàn độc lập, các điều kiện là có phụ thuộc lẫn nhau. Khi có đủ 4 điều kiện này, thì tắc nghẽn xảy ra. Nếu thiếu một trong 4 điều kiện trên thì không có tắc nghẽn.
Khi có đủ 4 điều kiện này, thì tắc nghẽn xảy ra. Nếu thiếu một trong 4 điều kiện trên thì không có tắc nghẽn.
Có thể sử dụng một đồ thị để mô hình hóa việc cấp phát tài nguyên. Đồ thị này có 2 loại nút : các tiến trình được biễu diễn bằng hình tròn, và mỗi tài nguyên được hiển thị bằng hình vuông
Chủ yếu có ba hương tiếp cận để xử lý tắc nghẽn :
- Sử dụng một vài giao thức (protocol) để bảo đảm rằng hệ thống không bao giờ xảy ra tắc nghẽn.
HĐH không có khả năng chống Deadlock Lý do dung phương pháp này:
Do xác suất xảy ra đealock nhỏ
Giải quyết deadlock đòi hỏi chi phí cao
Xử lý bằng tay do người quản trị hệ thống làm.
Đây là giải pháp của hầu hết các hệ điều hành hiện nay. - Cho phép xảy ra tắc nghẽn và tìm cách sữa chữa tắc nghẽn.
- Hoàn toàn bỏ qua việc xử lý tắc nghẽn, xem như hệ thống không bao giờ xảy ra tắc nghẽn.