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] Thời gian hoàn thành trung bình (turnaround) FCFS

    Tính thời gian quay vòng trung bình (average turnaround time) theo lập lịch FCFS.

    Turnaround time của một tiến trình = completion - arrival (thời điểm hoàn thành trừ thời điểm đến). Lập lịch FCFS: phục vụ theo thứ tự (arrival, ID).

    Thuật toán:

    1. Sắp xếp theo (arrival, ID).
    2. time = 0; với mỗi tiến trình: nếu time < arrival thì time = arrival; time += burst (đây là completion); cộng completion - arrival vào tổng turnaround.
    3. In tổng turnaround / n.

    Ví dụ: (0,5),(1,3),(2,8). Completion = 5,8,16. Turnaround = 5,7,14 → tổng 26 → TB = 8.67.

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

      Dòng đầu n. n dòng arrival burst. ID từ 0.

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

      1 ≤ n ≤ 1000; 0 ≤ arrival ≤ 10000; 1 ≤ burst ≤ 10000.

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

      Turnaround trung bình, làm tròn 2 chữ số ({:.2f}).

    Ví dụ:

    Đầu vào:

    3
    0 5
    1 3
    2 8
    

    Đầu ra:

    8.67

    Giải thích:

    FCFS: completion P0=5,P1=8,P2=16. Turnaround = 5-0=5, 8-1=7, 16-2=14. Tổng=26, TB=26/3=8.67.

    Đang tải editor...