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 MLFQ. Trong đó P1 và P2 ở hàng đợi 1 sử dụng thuật toán SRT, P3 và P4 ở hàng đợi 2 sử dụng thuật toán FCFS. Hãy cho biết trong các phương án sau, phương án nào là thời gian chờ của tiến trình P1?

A.
2,3
B.
2,5
C.
2,8
D.
Cả 3 phương án đều sai
Trả lời:

Đáp án đúng: D


Để giải bài toán này, ta cần phân tích thứ tự thực hiện của các tiến trình theo thuật toán MLFQ, SRT và FCFS. Vì P1 và P2 ở hàng đợi 1 dùng SRT (Shortest Remaining Time), P3 và P4 ở hàng đợi 2 dùng FCFS (First Come First Serve). - **Ban đầu:** P1 (6), P2 (8), P3 (3), P4 (2). - **Thời điểm 0:** P1 và P2 ở hàng đợi 1 được ưu tiên. SRT chọn P1 vì có thời gian thực hiện ngắn hơn so với P2. P1 chạy. - **Thời điểm 2:** P4 (2) đến. - **Thời điểm 2:** P1 vẫn đang chạy (còn 4 đơn vị). P2 chưa được chạy, P3 và P4 ở hàng đợi 2 vẫn phải chờ. - **Thời điểm 2:** Vì P4 có thời gian ngắn hơn P1 còn lại, nên P4 được đưa lên để chạy. - **Thời điểm 4:** P4 hoàn thành. P3 bắt đầu chạy (FCFS). - **Thời điểm 7:** P3 hoàn thành. Lúc này P1 và P2 tiếp tục chạy, áp dụng SRT, P1 có 4 đơn vị còn lại, P2 có 8 đơn vị, nên P1 được chạy. - **Thời điểm 11:** P1 hoàn thành. P2 được chạy. Vậy thời gian chờ của P1 là thời gian từ khi P1 bắt đầu đến khi P4 đến (2) + thời gian P4 và P3 chạy (2+3) = 2. Do P1 đã thực hiện 2 đơn vị trước đó và bị ngắt bởi P4 và P3 nên phải chờ P4 và P3 thực hiện xong. Sau đó P1 lại tiếp tục được thực hiện. Vậy thời gian chờ của P1 là 2. Như vậy, đáp án là A. 2,3.

Câu hỏi liên quan