◆ 輪轉法
進程調度
1.進程調度的三個級別一般來說,處理機調度可分為三個級別,分別是高級調度、中級調度和低級調度。高級調度又稱作業調度,作業就是用戶程序及其所需的數據和命令的集合,作業管理就是對作業的執行情況進行系統管理的程序的集合。作業調度程序的主要功能是審查系統是否能滿足用戶作業的資源要求以及按照一定的算法來選取作業。引入中級調度的主要目的是為了提高內存的利用率和系統吞吐量,使得暫時不運行的進程從內存對換到外存上。低級調度又稱進程調度,其主要功能是根據一定的算法將CPU分派給就緒隊列中的一個進程。進程調度是操作系統中最基本的一種調度,其調度策略的優劣直接影響整個系統的性能。
2.進程調度的職責按選定的進程調度算法從就緒隊列中選擇一個進程,讓它占用處理器。
3.選擇進程調度算法的幾個準則:
·提高處理器利用率
·增大吞吐量
·減少等待時間
·縮短響應時間
4.進程調度的常用算法
1)先來先服務調度算法:按進程進入就緒隊列的先后次序選擇可以占用處理器的進程。
2)優先級調度算法:對每個進程確定一個優先數,該算法總是讓優先數最高的進程先使用處理器。對具有相同優先數的進程,再采用先來先服務的次序分配處理器。系統常以任務的緊迫性和系統效率等因素確定進程的優先數。進程的優先數可以固定的,也可隨進程執行過程動態變化。 一個高優先數的進程占用處理器后,系統處理該進程時有兩種方法,一是“非搶占式”,另一種是“可搶占式”。前者是此進程占用處理器后一直運行到結束,除非本身主動讓出處理器,后者則是嚴格保證任何時刻總是讓優先數最高的進程在處理器上運行。
3)時間片輪轉調度法:把規定進程一次使用處理器的最長時間稱為“時間片”。時間片輪轉調度算法讓就緒進程按就緒的先后次序排成隊列,每次總選擇該隊列中第一個進程占用處理器,但規定只能使用一個時間片,如該進程尚未完成,則排入隊尾,等待下一個供它使用的時間片。各個進程就這樣輪轉運行。時間片輪轉算法經常用于分時操作系統中。
4)多級反饋調度:由系統設置多個就緒隊列,每個就緒隊列中的進程按時間片輪轉法占用處理器。
5.進程的切換進程調度將從就緒隊列中另選一個進程占用處理器,使一個進程讓出處理器,由另一個進程占用處理器的過程稱“進程切換”。若有一個進程從運行態變成等待態,或完成工作后就撤消,則必定會發生進程切換。若一個進程從運行態或等待態變成就緒態,則不一定發生進程切換。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |