短作業優先演算法例題
① 利用短作業優先演算法(SJF),計算進程的周轉時間和帶權周轉時間。非常著急!!
周轉時間=進程結束的時間 - 進程到達的時間;
帶權周轉時間=周轉時間 / 執行時間;
如:A作業2:30到達,3:30結束,需要執行40分鍾。
周轉時間=3:30-2:30=60分鍾
帶權周轉時間=60分鍾/40分鍾=1.5
② 短作業優先調度演算法sjf 寫一下具體的運算過程,謝謝
短作業優先(SJF, Shortest Job First)又稱為「短進程優先」SPN(Shortest Process Next);這是對FCFS演算法的改進,其目標是減少平均周轉時間。
定義
對預計執行時間短的作業(進程)優先分派處理機。通常後來的短作業不搶先正在執行的作業。
③ 計算在採用先來先服務調度演算法和最短作業優先
操作系統題哦..
沒有優先順序,無所謂權值
先來先服務:
調度順序是abcde
周轉時間:
a:4
b:2+7=9 (a運行時間4,所以b的等待時間為2,運行時間為7)
c:6+4=10 (a+b的運行時間是11,所以c的等待時間是6,運行時間是4)
d:7+3=10 (a+b+c運行時間是15,所以d等待時間是7,運行時間是3)
e:8+2=10 (前4個運行時間是18,e的等待時間是8,運行時間是2)
所以平均周轉時間:
(4+9+10+10+10)/5=8.6
如果知道權值的話則分別乘以權值即可
(4*qa+9*qb+10*qc+10*qd+10*qe)/5
最短作業優先:
調度順序是:abedc
理由-a先到,運行時間4,運行結束後只有b到達,所以b運行,b運行結束後總時間為11,此時cde都到達出於等待中,所以調度最短服務時間的e,然後是次短的d,最後c
周轉時間:(跟上面一樣,等待時間+運行時間)
a:4
b:2+7=9
e:1+2=3 (b運行完時間是11,而e在10才來,所以等待時間是1)
d:5+3=8 (abe運行結束後時間是13,d等待了5)
c:11+4=15 (abed運行結束後時間是16,c等待了11)
所以平均周轉時間:
(4+9+3+8+15)/5=7.8
帶權:
(4*qa+9*qb+3*qc+8*qd+15*qe)/5
④ 短作業優先演算法 作業的先後順序怎麼排
其先後順序由作業長短來決定,作業越短優先順序越高,然而作業的長短又是以作業所要求的運行時間來衡量,也就是通俗易懂就是我們所說的服務時間
⑤ 用C語言實現短作業優先的演算法
t=t+b[k];
這句運行出錯
應該我不懂你要達到什麼效果
所以沒辦法修改
請諒解
還有
你這個程序裡面
int
的和float的在相加
你得注意
兩個最好轉換成相同的然後在相加
怎麼轉換
轉換成那個你自己拿主意