Linux 進程管理(一) 進程調度

進程調度
進程序度的概念
(1)高級、中級和低級調度
A、高級調度
高級調度通常也稱作業調度,用於決定把外存上處於後備隊列中的哪些作業調入內存,準備執行
B、中級調度
中級調度大多針對於分時系統,是按一定的算法在內存和外存之間進行進程對換,目的在於緩和內存的緊張。
C、低級調度
低級調底是用於將內存中就緒隊列中的作業分配處理機,使共執行

(2)進程調度的方式
進程調度通常有以下兩種方式
A、非剝奪方式
B、剝奪方式(強性停止)

(3)進程調度的功能
(4)進程調度算法的性能評價

進程調度算法

1、先來先服務調度算法
在進程調度中,採用FCFS算法,進程調度程序從就緒進程隊列中,選擇一個最先進入隊列的進程,把處理機分配給它,讓它進入執行狀態
公平性,並且實現也比較容易,這是它的優點,但是,它的缺點是實際上不公平,它比較有利於長進程,而不利於短進程。
2、短進程優先調度算法
短進程優先(SPF)調度算法,是指對執行時間短的進程優先調度的算法。SPF是從就緒隊列中選出一個估計運行時間最短的進程,將處理機分配給它,使它立即執行並一直執行到完成,或因等待某事件發生而放棄處理機時,再重新調度。
採用SPF算法,平均週轉時間比FCFS調度算法有很多改善,這是它的優點。
SPF調度算法的缺點如下
第一,對長進程非常不利。
第二,緊迫進程不能及時處理。
第三,執行時間的估計值不準確。
3、高優先級優先調度算法
考慮到系統中的緊迫進程能得到優先處理,引入了高優先級優先(HPF)調度算法,處理機總是分配給就緒進程隊列中優先級最高的進程。
進程的優先級可採用靜態優先級和動態優先級兩種,優先級可由用戶自定或由系統確定。
4、時間片輪轉法
時間片輪轉法的基本思想是將CPU的處理時間分成固定大小的時間片。如果一個進程在被調度選中之後用完了系統規定的時間片,但示完成要求的任務,則它自行釋放自己所佔有的CPU,而排到就緒隊列的末尾,等待下一次調度。同時,進程調度程序又去調度當前就緒隊列中的第一個進程。
5、多級反饋隊列調度算法
基本思想如下所述
(1)系統按優先級設置N個就緒進程隊列,第一級隊列的優先級最高,其餘隊列的的優先級逐個降低,第N級隊列的優先級最低。

發佈了29 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章