操做系統——進程調度之短進程優先

一、什麼是進程調度算法

  不管是在批處理系統仍是分時系統中,用戶進程數通常都多於處理機數、這將致使它們互相爭奪處理機。另外,系統進程也一樣須要使用處理機。這就要求進程調度程序按必定的策略,動態地把處理機分配給處於就緒隊列中的某一個進程,以使之執行。   性能

 

二、處理機調度分類spa

高級、中級和低級調度做業從提交開始直到完成,每每要經歷下述三級調度:orm

  • 高級調度:(High-Level Scheduling)又稱爲做業調度,它決定把後備進程調入內存運行; 隊列

  • 低級調度:(Low-Level Scheduling)又稱爲進程調度,它決定把就緒隊列的某進程得到CPU; 進程

  • 中級調度:(Intermediate-Level Scheduling)又稱爲在虛擬存儲器中引入,在內、外存對換區進行進程對換內存

三、短進程優先

最短CPU運行期優先調度算法(SCBF--Shortest CPU Burst First)it

該算法從就緒隊列中選出下一個「CPU執行期最短」的進程,爲之分配處理機test

例如,在就緒隊列中有四個進程P一、P二、P3和P4,它們的下一個執行程序

期分別是1六、十二、4和3個單位時間,執行狀況以下圖:

P一、P二、P3和P4的週轉時間分別爲3五、1九、七、3,平均週轉時間爲16。

該算法雖可得到較好的調度性能,但難以準確地知道下一個CPU執行期,而只能根據每個進程的執行歷史來預測。

相關文章
相關標籤/搜索