Phát hiện bế tắc

Một phần của tài liệu Bài giảng nguyên lý hệ điều hành chương 2 GV đặng quang hiển (Trang 100 - 104)

BẾ TẮC VÀ CHỐNG BẾ TẮCBẾ TẮC VÀ CHỐNG BẾ TẮC

2.6.4 Phát hiện bế tắc

 Để phát hiện bế tắc HĐH thường cài đặt một thuật toán để phát hiện hệ thống có tồn tại hiện tượng chờ đợi vòng tròn hay không.

 HĐH phải cài đặt cơ chế độc quyền để bảm bảo tài nguyên chia sẻ và thực hiện cấp phát tài nguyên một lần để ngăn chặng việc chiếm giữ và yêu cầu cấp mới tài nguyên.

BẾ TẮC VÀ CHỐNG BẾ TẮCBẾ TẮC VÀ CHỐNG BẾ TẮC BẾ TẮC VÀ CHỐNG BẾ TẮC

2.6.4 Phát hiện bế tắc

Khi phát hiện bế tắc HĐH sử dụng một số giải pháp:

 Thoát tất cả các tiến trình bị bế tắc.

 Sao lưu lại mỗi tiến trình bị bế tắc tại một vài điểm, sau đó khởi động lại tất cả các tiến trình

 Thu hồi tài nguyên của tiến trình bế tắc, để cấp phát cho một tiến trình trong tập tiến trình bế tắc, giúp tiến trình này ra khỏi bế tắc

 Dùng toàn bộ quyền ưu tiên sử dụng tài nguyên cho một tiến trình, để tiến trình này ra khỏi bế tắc

BẾ TẮC VÀ CHỐNG BẾ TẮCBẾ TẮC VÀ CHỐNG BẾ TẮC BẾ TẮC VÀ CHỐNG BẾ TẮC

2.6.4 Phát hiện bế tắc

Cần sử dụng các cấu trúc dữ liệu sau: int Available[NumResources];

// Available[r]= số lượng các thể hiện còn tự do của tài nguyên r int Allocation[NumProcs, NumResources];

// Allocation[p,r] = số lượng tài nguyên r thực sự cấp phát cho p int Request[NumProcs, NumResources];

BẾ TẮC VÀ CHỐNG BẾ TẮCBẾ TẮC VÀ CHỐNG BẾ TẮC BẾ TẮC VÀ CHỐNG BẾ TẮC

2.6.4 Phát hiện bế tắc

Giải thuật phát hiện bế tắc.

1. int Work[NumResources] = Available; int Finish[NumProcs];

for (i = 0; i < NumProcs; i++) Finish[i] = (Allocation[i] = = 0); 2. Tìm i sao cho

Finish[i] = = false

Request[i] <= Work ; nếu không có i như thế, đến bước 4. 3. Work = Work + Allocation[i];

Finish[i] = true ; đến bước 2

4. Nếu Finish[i] = = true với mọi i, thì hệ thống không có bế tắc. Nếu Finish[i] = = false với một số giá trị i, thì các tiến trình mà

BẾ TẮC VÀ CHỐNG BẾ TẮCBẾ TẮC VÀ CHỐNG BẾ TẮC BẾ TẮC VÀ CHỐNG BẾ TẮC

Một phần của tài liệu Bài giảng nguyên lý hệ điều hành chương 2 GV đặng quang hiển (Trang 100 - 104)

Tải bản đầy đủ (PDF)

(118 trang)