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 SJF, P3 và P4 ở hàng đợi 2 sử dụng thuật toán RR (q=2). 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 P3?

A.
14
B.
15
C.
16
D.
17
Trả lời:

Đáp án đúng: C


Để giải bài toán này, ta cần mô phỏng quá trình thực thi của các tiến trình theo thuật toán MLFQ với các hàng đợi và thuật toán con đã cho. - **Hàng đợi 1 (SJF):** P1 (6), P2 (8) - SJF chọn tiến trình có thời gian thực hiện ngắn nhất trước. Vậy P1 được thực hiện trước, sau đó đến P2. - **Hàng đợi 2 (RR, q=2):** P3 (3), P4 (2) - RR chia đều thời gian CPU cho các tiến trình trong hàng đợi. Mỗi tiến trình được chạy tối đa q=2 đơn vị thời gian trước khi chuyển sang tiến trình khác. **Thứ tự thực hiện:** 1. **P1 (6):** P1 chạy hết 6 đơn vị thời gian. Thời gian hoàn thành: 6. 2. **P2 (8):** P2 chạy hết 8 đơn vị thời gian. Thời gian hoàn thành: 6 + 8 = 14. 3. **P3 (3) và P4 (2):** Các tiến trình này chỉ được thực hiện khi P1 và P2 hoàn thành. - **P3 (2):** P3 chạy 2 đơn vị thời gian. Thời gian: 14 + 2 = 16 - **P4 (2):** P4 chạy 2 đơn vị thời gian. Thời gian: 16 + 2 = 18 - **P3 (1):** P3 chạy nốt 1 đơn vị thời gian. Thời gian: 18 + 1 = 19. **Tính thời gian chờ của P3:** - P3 bắt đầu chờ từ thời điểm 14 (khi P1 và P2 hoàn thành). - P3 được thực hiện lần đầu tiên từ 14 đến 16 (2 đơn vị). - P4 được thực hiện từ 16 đến 18 (2 đơn vị). - P3 được thực hiện lần hai từ 18 đến 19 (1 đơn vị). Vậy thời gian chờ của P3 là: 14 (thời điểm bắt đầu vào hàng đợi 2) + 2 (thời gian P4 chạy) = 16 Do đó, đáp án đúng là C. 16

Câu hỏi liên quan