Mô phỏng thuật toán lập lịch FCFS (First-Come, First-Served) cho CPU và tính thời gian chờ trung bình.
Có n tiến trình, mỗi tiến trình có thời điểm đến arrival và thời gian phục vụ burst. CPU xử lý theo đúng thứ tự đến; nếu hai tiến trình đến cùng lúc thì tiến trình có chỉ số (ID) nhỏ hơn được phục vụ trước.
Thuật toán từng bước:
(arrival, ID) tăng dần.time = thời điểm hiện tại, ban đầu time = 0.time < arrival thì CPU rảnh, nhảy time = arrival. Thời gian chờ của tiến trình là time - arrival. Sau đó time += burst.n, làm tròn 2 chữ số.Ví dụ: 3 tiến trình (arrival, burst) = (0,5), (1,3), (2,8). Chờ lần lượt = 0, 4, 6 → tổng 10 → TB = 3.33.
Dòng đầu: số nguyên n.
n dòng tiếp theo: mỗi dòng hai số nguyên arrival burst (ID tiến trình đánh số theo thứ tự nhập, từ 0).
1 ≤ n ≤ 1000; 0 ≤ arrival ≤ 10000; 1 ≤ burst ≤ 10000.
Một số thực: thời gian chờ trung bình, làm tròn 2 chữ số thập phân (định dạng {:.2f}).
Ví dụ:
Đầu vào:
3
0 5
1 3
2 8
Đầu ra:
3.33
Giải thích:
Đang tải editor...