Các trường hợp sau có thể diễn ra trong quá trình thực thi tiến trình: (1) Loại trừ tương hỗ, (2) Giữ và chờ cấp thêm tài nguyên, (3) Không cho trưng dụng tài nguyên, (4) Đợi xoay vòng. Để NGĂN CHẶN Deadlock, Hệ điều hành cần phải ngăn chặn không cho xảy ra trường hợp nào?
Trả lời:
Đáp án đúng: C
Để ngăn chặn deadlock, hệ điều hành cần ngăn chặn ít nhất một trong bốn điều kiện cần để deadlock xảy ra. Bốn điều kiện đó là:
1. **Loại trừ tương hỗ (Mutual Exclusion):** Tài nguyên chỉ có thể được sử dụng bởi một tiến trình tại một thời điểm.
2. **Giữ và chờ (Hold and Wait):** Một tiến trình giữ ít nhất một tài nguyên và đang chờ để có được các tài nguyên khác do các tiến trình khác giữ.
3. **Không trưng dụng (No Preemption):** Tài nguyên chỉ có thể được giải phóng tự nguyện bởi tiến trình đang giữ nó, sau khi tiến trình đó hoàn thành nhiệm vụ của nó.
4. **Chờ đợi vòng tròn (Circular Wait):** Một tập hợp các tiến trình {P0, P1, ..., Pn} đang chờ đợi, trong đó P0 đang chờ một tài nguyên do P1 giữ, P1 đang chờ một tài nguyên do P2 giữ, ..., và Pn đang chờ một tài nguyên do P0 giữ.
Vì vậy, ngăn chặn một trong 4 điều kiện trên sẽ phá vỡ chu trình deadlock và ngăn chặn nó xảy ra. Do đó, đáp án đúng là C. Ngăn chặn 1 trong 4 trường hợp.
50 câu hỏi 60 phút