Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành] Hàng đợi đa mức 2 mức (Multilevel Queue)

    Hệ thống có hai hàng đợi ưu tiên cố định:

    • Hàng 0 (foreground) — ưu tiên cao, lập lịch theo Round Robin với lượng tử (quantum) q.
    • Hàng 1 (background) — ưu tiên thấp, lập lịch theo FCFS.

    Quy tắc:

    1. CPU luôn ưu tiên phục vụ hàng 0; chỉ chạy hàng 1 khi hàng 0 RỖNG.
    2. Tất cả tiến trình đến tại thời điểm 0 (theo thứ tự ID tăng dần khi nạp vào hàng).
    3. Hàng 0 chạy Round Robin: mỗi tiến trình chạy tối đa q đơn vị rồi quay lại cuối hàng 0 nếu còn.
    4. Nếu trong lúc CPU đang chạy hàng 1 mà hàng 0 vẫn còn tiến trình chưa xong, không ngắt (đề đơn giản hoá: hàng 0 đã chạy hết mới tới hàng 1).
    5. Bỏ qua chuyển ngữ cảnh (không tốn thời gian).

    In ra thời gian hoàn thành (completion time) của từng tiến trình theo thứ tự ID tăng dần, cách nhau bởi dấu cách.

    Ví dụ: q=2; hàng 0 có P1(burst 5), P2(burst 3); hàng 1 có P3(burst 4). Hàng 0 chạy hết trước (8 đơn vị), rồi P3 chạy tới t=12.

    • Định dạng đầu vào:

      Dòng đầu: số nguyên q (quantum). Dòng tiếp: n0 = số tiến trình hàng 0, theo sau n0 cặp (id burst). Dòng tiếp: n1 = số tiến trình hàng 1, theo sau n1 cặp (id burst). Dữ liệu có thể trải nhiều dòng.

    • Ràng buộc đầu vào:

      1 ≤ q ≤ 100; 0 ≤ n0, n1 ≤ 100; 1 ≤ burst ≤ 1000; ID đôi một khác nhau.

    • Định dạng đầu ra:

      Các thời gian hoàn thành theo thứ tự ID tăng dần, cách nhau bởi dấu cách.

    Ví dụ:

    Đầu vào:

    2
    2 1 5 2 3
    1 3 4
    

    Đầu ra:

    8 7 12

    Giải thích:

    Hàng 0 RR q=2: P1(5),P2(3). Lượt: P1->2(rem3), P2->4(rem1), P1->6(rem1), P2->7(xong t=7), P1->8(xong t=8). Hàng 0 hết tại t=8. Hàng 1: P3 burst4 -> t=12. Theo ID: P1=8, P2=7, P3=12.

    Đang tải editor...