MLFQ là ý tưởng nền tảng đằng sau nhiều scheduler. Có nlevels mức ưu tiên (mức 0 cao nhất), mỗi mức có quantum riêng. Quy tắc:
quantum[mức]. Nếu xong → hoàn thành. Nếu chưa xong → hạ xuống một mức (không thấp hơn mức cuối) và xếp vào cuối hàng mức đó.In mỗi PID (theo thứ tự nhập) kèm thời điểm hoàn thành.
Input:
2
2 4
2
1 5
2 3
Output:
1 10
2 8
PID1 chạy mức0 q=2 (t=2), PID2 mức0 q=2 (t=4), PID1 mức1 q=4 còn 3 chạy hết... xem chi tiết qua mô phỏng.
Dòng 1: nlevels. Dòng 2: nlevels số nguyên quantum theo mức. Dòng 3: n. Mỗi dòng sau: PID burst.
1 ≤ nlevels ≤ 5; 1 ≤ quantum ≤ 1000; 1 ≤ n ≤ 100; 1 ≤ burst ≤ 10000.
Với mỗi tiến trình (thứ tự nhập) in PID thời_điểm_hoàn_thành.
Ví dụ:
Đầu vào:
2
2 4
2
1 5
2 3
Đầu ra:
1 7
2 8
Giải thích:
Đang tải editor...