Điều phối tiến trình (hay định thời / lập lịch cho CPU) của Hệ điều hành là gì?
Trả lời:
Đáp án đúng: B
Điều phối tiến trình (process scheduling) là một chức năng quan trọng của hệ điều hành, liên quan đến việc quản lý và lựa chọn tiến trình nào sẽ được cấp phát CPU để thực thi. Các tiến trình thường trải qua nhiều trạng thái khác nhau trong suốt vòng đời của chúng, bao gồm new, ready, running, waiting, và terminated.
* **Ready queue:** Là hàng đợi chứa các tiến trình đã sẵn sàng để thực thi và đang chờ được cấp phát CPU.
* **I/O queue:** Là hàng đợi chứa các tiến trình đang chờ hoàn thành các thao tác nhập/xuất (I/O).
Khi một tiến trình đang chạy cần phải chờ một sự kiện nào đó (ví dụ: hoàn thành I/O), nó sẽ tạm thời bị chuyển ra khỏi CPU và đưa vào hàng đợi tương ứng (ví dụ: I/O queue). Khi sự kiện đó hoàn thành, tiến trình sẽ được chuyển trở lại hàng đợi Ready queue để chờ được cấp phát CPU trở lại.
Bộ điều phối tiến trình (scheduler) chịu trách nhiệm chọn một tiến trình từ Ready queue để cấp phát CPU. Do đó, đáp án đúng là B: là việc chọn thời điểm cho CPU thực thi một process nào đó từ Ready queue. Các đáp án khác không chính xác vì:
* **Đáp án A:** Chọn từ I/O queue là không chính xác. I/O queue chứa các tiến trình đang chờ I/O, không phải các tiến trình sẵn sàng để chạy ngay lập tức.
* **Đáp án C:** Hệ điều hành không trực tiếp thực thi một process, mà CPU thực thi process đó. Hệ điều hành quản lý và điều phối việc thực thi.
* **Đáp án D:** Việc nạp process vào bộ nhớ là một bước chuẩn bị trước khi process có thể chạy, không phải là điều phối tiến trình.
Tóm lại, điều phối tiến trình tập trung vào việc chọn tiến trình nào từ Ready queue để cấp CPU, nhằm tối ưu hóa hiệu suất và đáp ứng các tiêu chí khác của hệ thống.
50 câu hỏi 60 phút