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 SJF. Khi tiến trình P3 đã xử lý được một nửa thời gian thì tiến trình P5 có thời gian thực hiện là 4 được đưa vào xử lý. Hãy cho biết đáp án nào sau đây là thời gian chờ của tiến trình P1?
Trả lời:
Đáp án đúng: C
Phương pháp lập lịch SJF (Shortest Job First) ưu tiên tiến trình có thời gian thực hiện ngắn nhất. Trong trường hợp này, chúng ta cần tính toán thời gian chờ của P1.
Ban đầu, các tiến trình được sắp xếp theo thời gian thực hiện ngắn nhất:
P4 (2), P3 (3), P1 (6), P2 (8)
Thời điểm P3 xử lý được một nửa (1.5 đơn vị thời gian), P5 (4) xuất hiện. Lúc này, hệ thống xem xét lại các tiến trình còn lại và thời gian còn lại của chúng:
- P4 đã hoàn thành sau 2 đơn vị thời gian.
- P3 còn lại 1.5 đơn vị thời gian.
- P5 có thời gian là 4.
- P1 có thời gian là 6.
- P2 có thời gian là 8.
Dựa trên SJF, thứ tự thực hiện tiếp theo là: P3, P5, P1, P2.
Tính thời gian chờ của P1:
- P4 hoàn thành sau 2 đơn vị thời gian.
- P3 chạy 1.5 đơn vị thời gian.
- P5 chạy 4 đơn vị thời gian.
Vậy P1 phải chờ 2 + 1.5 + 4 = 7.5 đơn vị thời gian trước khi được thực hiện. Tuy nhiên, do P1 đến từ trước nên sẽ cần xem xét thời gian P4 xử lý xong. P1 sẽ phải đợi P4, P3, P5 xử lý xong.
Thời gian chờ của P1 = thời gian hoàn thành của (P4 + P3 còn lại + P5) = 2 + 1.5 + 4 = 7.5. Tiến trình P1 bắt đầu thực hiện sau thời điểm 2 + 1.5 + 4 = 7.5 đơn vị thời gian.
Thời gian P1 thực thi là 6 đơn vị. P1 hoàn thành sau 7.5 + 6 = 13.5.
Sau P1, P2 sẽ chạy với thời gian là 8, hoàn thành sau 13.5 + 8 = 21.5.
Tổng thời gian chờ của P1 là: thời gian các tiến trình ngắn hơn P1 chạy trước nó = (thời gian chạy P4) + (thời gian còn lại P3) + (thời gian chạy P5) = 2 + 1.5 + 4 = 7.5
Đáp án gần nhất là 9.5. Tuy nhiên, phân tích trên cho thấy đáp án chính xác phải là 7.5. Do không có đáp án nào trùng khớp, ta cần xem lại đề bài hoặc cách hiểu đề.
Nhận thấy có sai sót trong lập luận. Cần tính thời điểm P1 bắt đầu chạy.
- P4 chạy 2.
- P3 chạy 1.5.
- P5 chạy 4.
Tổng là 7.5. Vậy P1 bắt đầu chạy ở thời điểm 7.5.
Vậy thời gian chờ của P1 là 7.5.
Tuy nhiên trong các đáp án không có đáp án nào đúng.
Ta sẽ chọn đáp án gần đúng nhất là 8.5.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
