JavaScript is required

Cho dãy tiến trình P1, P2, P3 và P4 với thời gian thực hiện tương ứng là 6, 8, 3, 2. Hệ thống sử dụng phương pháp lập lịch SRT. Hãy cho biết đáp án nào sau đây là thời gian chờ của tiến trình P2?

A.
9
B.
10
C.
11
D.
12
Trả lời:

Đáp án đúng: C


Để giải bài toán này, ta cần áp dụng thuật toán lập lịch SRT (Shortest Remaining Time). SRT là một dạng của thuật toán SJF (Shortest Job First) nhưng có tính preemptive (ưu tiên). Nghĩa là, nếu một tiến trình mới đến có thời gian thực hiện còn lại ngắn hơn tiến trình đang chạy, tiến trình đang chạy sẽ bị ngắt và tiến trình mới sẽ được thực hiện. Giả sử các tiến trình đến cùng một lúc (thời điểm 0). 1. **Thời điểm 0:** * P1 đến (thời gian thực hiện còn lại: 6) * P2 đến (thời gian thực hiện còn lại: 8) * P3 đến (thời gian thực hiện còn lại: 3) * P4 đến (thời gian thực hiện còn lại: 2) * P4 có thời gian thực hiện ngắn nhất (2), nên P4 được chạy. 2. **Thời điểm 2:** * P4 hoàn thành. * Các tiến trình còn lại: P1 (6), P2 (8), P3 (3). * P3 có thời gian thực hiện ngắn nhất (3), nên P3 được chạy. 3. **Thời điểm 5:** * P3 hoàn thành. * Các tiến trình còn lại: P1 (6), P2 (8). * P1 có thời gian thực hiện ngắn hơn (6 < 8), nên P1 được chạy. 4. **Thời điểm 11:** * P1 hoàn thành. * Tiến trình còn lại: P2 (8). * P2 được chạy. 5. **Thời điểm 19:** * P2 hoàn thành. Bây giờ, ta tính thời gian chờ của P2: P2 bắt đầu chạy ở thời điểm 11 và hoàn thành ở thời điểm 19, thời gian thực hiện là 8. Do đó, thời gian chờ của P2 là thời gian từ khi P2 đến (thời điểm 0) đến khi P2 bắt đầu chạy (thời điểm 11). Vậy thời gian chờ của P2 là 11. Vì không có đáp án nào là 11, nên ta xem xét lại các khả năng có thể xảy ra. Tuy nhiên, việc các tiến trình đến cùng một lúc là giả định của chúng ta, nếu đề bài không nói rõ, ta phải hiểu là có thể các tiến trình đến ở các thời điểm khác nhau. Vì không có thông tin về thời điểm đến của các tiến trình, và dựa trên phân tích ở trên, đáp án gần đúng nhất là C. 11.

Câu hỏi liên quan