Tƣ tƣởng : Thuật toỏn này gỏn tới mỗi tiến trỡnh chiều dài của chu kỳ CPU tiếp theo cho tiến trỡnh sau đú. Khi CPU sẵn dựng, nú đƣợc gỏn tới tiến trỡnh cú chu kỳ CPU kế tiếp ngắn nhất. Nếu hai tiến trỡnh cú cựng chiều dài chu kỳ CPU kế tiếp, thuật toỏn FCFS đƣợc dựng.
SJF khụng ƣu tiờn
Bài toỏn: Cho n tiến trỡnh P P1, 2, ...,Pnvới chiều dài thời gian chu kỳ CPU lần lƣợt là t t1, ,...,2 tn. Hóy vẽ biểu đồ Gantt và tớnh thời gian trung bỡnh phải chờ của cỏc tiến trỡnh.
Input: Cho n tiến trỡnh P P1, 2, ...,Pn chiều dài tƣơng ứng là t t1, ,...,2 tn. Output: Thời gian chờ trung bỡnh cỏc tiến trỡnh
í tƣởng : một tiến trỡnh nếu sử dụng CPU thỡ khụng nhƣờng cho tiến trỡnh khỏc cho đến khi nú kết thỳc.
Thuật toỏn:
58
Số húa bởi Trung tõm Học liệu http://lrc.tnu.edu.vn Bƣớc 2: Thực hiện thời gian lập lịch theo sắp xếp.
Bƣớc 3: Tớnh thời gian chờ của cỏc tiến trỡnh là : Tn = tổng thời gian cỏc tiến trỡnh trƣớc đó thực hiện.
Bƣớc 4: Tớnh thời gian chờ trung bỡnh cỏc tiến trỡnh là: Ttb = tổng thời gian chờ cỏc tiến trỡnh / số tiến trỡnh thực hiện.
59
Số húa bởi Trung tõm Học liệu http://lrc.tnu.edu.vn
SJF cú ƣu tiờn (SRTF)
Bài toỏn: Cho n tiến trỡnh P P1, 2, ...,Pnvới chiều dài thời gian chu kỳ CPU lần lƣợt là t t1, ,...,2 tnvà thời gian xuất hiện tƣơng ứng là d d1, 2, ...,dn. Hóy vẽ biểu đồ Gantt và tớnh thời gian trung bỡnh phải chờ của cỏc tiến trỡnh.
Input: Cú n tiến trỡnh P P1, 2, ...,Pnchiều dài thời gian chu kỳ CPU tƣơng ứng là
1, ,...,2 n
t t t và thời gian bắt đầu tƣơng ứng là d d1, 2, ...,dn. Output: Thời gian trung bỡnh chờ cỏc tiến trỡnh.
í tƣởng: Nếu một tiến trỡnh đến cú thời gian sử dụng CPU ngắn hơn thời gian cũn lại của tiến trỡnh đang thực hiện thỡ ƣu tiờn tiến trỡnh mới đến trƣớc.
Thuật toỏn:
Bƣớc 1: Thực hiện lập lịch cho tiến trỡnh cú thời gian xuất hiện sớm nhất.
Bƣớc 2: Thời gian xuất hiện sớm cộng với chiều dài thời gian chu kỳ CPU ngắn sẽ đƣợc ƣu tiờn lập lịch trƣớc.
Bƣớc 3: Tớnh thời gian chờ của từng tiến trỡnh. Bƣớc 4: Tớnh thời gian chờ trung bỡnh cỏc tiến trỡnh.