目錄
1,操作系統分配處理機的基本流程
流程圖
流程說明
1,批量作業放入後備隊列,通過作業調度進入就緒隊列;
2,就緒隊列中的元素通過進程調度依次獲得CPU使用權,或是存入就緒、掛起隊列;
3,若進程執行期間時間片用完,則重新進入就緒隊列;
4,若發生等待事件則進程被阻塞,進而存入阻塞隊列;
- 當內存資源不足時,阻塞隊列中的進程便會被掛起,暫時調離出內存,存入阻塞、掛起隊列;事件出現時,阻塞、掛起隊列中的進程又將存入就緒、掛起隊列;就緒、掛起隊列中的進程通過中級調度進入就緒隊列,從而繼續按照 流程運轉;
- 當阻塞隊列中的進程事件發生時,則將進程調入就緒隊列中;
2,高級、中級、低級三級調度
高級調度
概念
- 用於決定把外存上處於後備隊列中的哪些作業調入內存,併爲它們創建進程、分配必要的資源,再將新創建的進程排在就緒隊列上,準備執行;
- 長程調度、作業調度、接納調度;
- 對象:作業;
特點
- 調度頻率低;
- 調度算法可以很複雜(因爲調度頻率較低);
中級調度
概念
- 中級調度主要目的:爲了提高內存利用率和系統吞吐量;
- 應使那些暫時不能運行的進程不再佔用寶貴的內存資源,而將它們調至外存上去等待,把此時的進程狀態稱爲就緒駐外存狀態或掛起狀態。
- 當這些進程重又具備運行條件、且內存又稍有空閒時,由中級調度來決定把外存上的哪些進程,重新調入內存,並修改其狀態爲就緒狀態,掛在就緒隊列上等待進程調度。
- 內存就緒(表示進程在內存中就緒)和外存就緒(進程在外存中就緒),內存阻塞和外存阻塞。
- 對象:就緒進程、阻塞進程
特點
- 調度頻率:介於高級調度和低級調度之間。
- 實際就是內存管理的“對換”功能
低級調度
概念
- 用來決定就緒隊列中的哪個進程應獲得處理機,然後再由分派程序執行把處理機分配給該進程的具體操作。
- 進程調度、短程調度。
- 對象:就緒進程
特點
- 調度頻率高:幾毫秒或幾十毫秒。
- 調度算法通常簡單,保證算法執行時間短
調度方式——非搶佔式
- 指當某一進程正在處理機上執行時,即使有某個更爲重要或緊迫的進程進入就緒隊列,仍然讓正在執行的進程繼續執行,直到該進程完成或發生某種事件而進入阻塞狀態時,才把處理機分配給更爲重要或緊迫的進程。
- 非搶佔方式又稱非剝奪方式、不可剝奪方式。
- 簡單,系統開銷小,實時性差。
- 不安全:霸佔CPU,造成進程”飢餓”。
調度方式——搶佔式
- 指當一個進程正在處理機上執行時,若有某個更爲重要或緊迫的進程需要使用處理機,則立即暫停正在執行的進程,將處理機分配給這個更重要或緊迫的進程。
- 剝奪方式又稱搶佔方式、可剝奪方式。
- 安全:不會霸佔CPU。
- 方式:優先權原則、短作業(進程)優先、時間片原則。
3,調度隊列模型
1)僅有進程調度的調度隊列模型
2)具有高級調度和低級調度的調度隊列模型
3)同時具有高、中、低三級調度的調度隊列模型
4,選擇調度方式和衡量調度算法性能
1)面向用戶的準則
週轉時間短
週轉時間:
從作業提交給系統開始,到作業完成爲止的時間間隔。包括:
1)作業在後備隊列的等待時間;
2)進程在就緒隊列的等待時間;
3)進程在CPU上的執行時間;
4)進程等待(如I/O操作)時間;
平均週轉時間:
平均帶權週轉時間:
Ti :第i個作業的週轉待時間;
Tsi :第i個作業的要求服務時間;
響應時間快
響應時間:用戶從提交鍵盤命令開始,到系統首次給出響應爲止的時間。
截止時間的保證
截止時間:作業/進程開始或結束的最晚時間。
2)面向系統的準則
系統吞吐量高
吞吐量:系統單位時間內完成的作業/進程數量。
處理機利用率好
資源利用均衡