Hệ điều hành ngăn chặn deadlock bằng cách đặt ra quy định: - Nếu: tiến trình P đang giữ các tài nguyên Ri và P yêu cầu thêm tài nguyên Rj, thì: - P phải trả lại các tài nguyên Ri với thứ tự (i > j). Quy định này là:
Trả lời:
Đáp án đúng: D
Quy định "Nếu tiến trình P đang giữ các tài nguyên Ri và P yêu cầu thêm tài nguyên Rj, thì P phải trả lại các tài nguyên Ri với thứ tự (i > j)" nhằm mục đích phá vỡ điều kiện "chờ xoay vòng" (circular wait). Điều kiện chờ xoay vòng xảy ra khi có một chuỗi các tiến trình, mỗi tiến trình trong chuỗi đó đang chờ một tài nguyên mà tiến trình kế tiếp trong chuỗi đang giữ. Việc yêu cầu tiến trình trả lại các tài nguyên đang giữ theo một thứ tự nhất định sẽ ngăn chặn việc hình thành chuỗi chờ đợi này, do đó ngăn chặn deadlock.
Các lựa chọn khác không đúng vì:
- A. Ngăn chặn điều kiện “loại trừ tương hỗ” (Mutual exclusion): Loại trừ tương hỗ là bản chất của một số tài nguyên, không thể ngăn chặn nó.
- B. Ngăn chặn điều kiện “giữ và chờ tài nguyên” (Hold and Wait): Điều này có nghĩa là tiến trình phải yêu cầu tất cả các tài nguyên cần thiết trước khi bắt đầu hoặc không giữ bất kỳ tài nguyên nào khi yêu cầu tài nguyên mới. Quy định trên không trực tiếp giải quyết điều này.
- C. Ngăn chặn điều kiện “không trưng dụng” (Non-preemption): Điều này có nghĩa là tài nguyên chỉ có thể được giải phóng tự nguyện bởi tiến trình đang giữ nó. Quy định trên không đề cập đến việc trưng dụng tài nguyên.
50 câu hỏi 60 phút





