《《處理機管理》課件》由會員分享,可在線閱讀,更多相關《《處理機管理》課件(27頁珍藏版)》請在裝配圖網上搜索。
1、操作系統(tǒng)的資源管理,操作系統(tǒng)的資源管理,(1) 資源管理的機制與策略 死鎖及其解決方法 (2) 處理機管理 (3) 主存管理 (4) 設備管理 (5) 文件系統(tǒng),1,操作系統(tǒng)的資源管理 主要內容,處理機管理,操作系統(tǒng)的資源管理 (2) 處理機管理,2,處理機的多級調度 作業(yè)調度 進程調度,3,操作系統(tǒng)的資源管理 (2) 主要內容,4,1. 處理機調度的功能 確定數(shù)據結構 確定調度策略 (調度原則) 給出調度算法 實施處理機分派 不同類型的操作系統(tǒng)往往采用不同的處理機分配方法,操作系統(tǒng)的資源管理 (2) 處理機的多級調度,5,2. 批處理系統(tǒng)中的處理機調度 處理機調度分為兩
2、級:作業(yè)調度和進程調度 作業(yè)調度 宏觀調度 任務對存放在輔存設備上的大量作業(yè),以一定的策略 進行挑選,分配主存等必要的資源,建立作業(yè)對應的進 程,使其投入運行。 進程調度 微觀調度 任務對進入主存的所有進程,確定哪個進程在什么時 候獲得處理機,使用多長時間。,操作系統(tǒng)的資源管理 (2) 處理機的多級調度,6,3. 多任務操作系統(tǒng)中的處理機調度 多進程的產生 在分時系統(tǒng)或支持多任務并發(fā)執(zhí)行個人計算機操作系統(tǒng) 中,系統(tǒng)將用戶提交的任務處理為進程,一個進程又可 以創(chuàng)建多個子進程,形成可以并發(fā)執(zhí)行的多進程。 進程調度的任務 當處理機空閑時,以某種策略選擇一個就緒進程去運行,
3、 并分配處理機的時間。,操作系統(tǒng)的資源管理 (2) 處理機的多級調度,7,4. 多線程操作系統(tǒng)中的處理機調度 多線程的產生 在支持多線程運行的系統(tǒng)中,一個進程可以創(chuàng)建一個線 程,也可以創(chuàng)建多個線程。系統(tǒng)為進程分配它所需要的 資源,而處理機的分配單位則為線程。 線程調度的任務 當處理機空閑時,以某種策略選擇一個就緒線程去運行, 并分配處理機時間。,操作系統(tǒng)的資源管理 (2) 處理機的多級調度,8,作業(yè)在整個活動期間有如下狀態(tài)。 后備狀態(tài) 作業(yè)已存放在磁盤上,等待調度。 執(zhí)行狀態(tài) 作業(yè)進入主存開始運行。 完成狀態(tài) 作業(yè)計算完成開始,退出系統(tǒng)。,1. 作業(yè)的狀態(tài),操作系統(tǒng)的資
4、源管理 (2) 作業(yè)調度,9,作業(yè)狀態(tài)變遷圖,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,10,確定數(shù)據結構 建立作業(yè)控制塊jcb (job control block)。作業(yè)控制塊記 錄了每個作業(yè)類型、狀態(tài)、資源請求及分配情況。 確定調度策略與調度算法 分配資源 為選中的作業(yè)分配所需要的系統(tǒng)資源。 善后處理 收回該作業(yè)所占用的全部資源,撤消作業(yè)控制塊以及 與該作業(yè)有關的全部進程資源。,2. 作業(yè)調度的功能,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,11,主要內容 作業(yè)名 資源要求 估計執(zhí)行時間、最遲完成時間、要求的主存量、要求外設的類型及 臺數(shù)、要求文件量和輸出量 資源使用情況 進入系
5、統(tǒng)時間、開始執(zhí)行時間、已執(zhí)行時間、主存地址、外設臺號 類型 優(yōu)先級 作業(yè)狀態(tài),3. 作業(yè)控制塊,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,12,周轉時間 一個作業(yè)提交給計算機系統(tǒng)到該作業(yè)的結果返回給用戶所需要的時間。 定義 ti = tci - tsi ti作業(yè)i的周轉時間 tsi作業(yè)i的提交時間 tci作業(yè)i的完成時間 意義 說明作業(yè) i 在系統(tǒng)中停留時間的長短 平均周轉時間 t =,4. 作業(yè)調度算法性能的衡量的功能 采用平均周轉時間和平均帶權周轉時間衡量作業(yè)調度算法 性能的好壞。,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,13,帶權周轉時間 定義:一個作業(yè)的周轉時間與其運行
6、時間的比值 wi = 意義 說明作業(yè) i 在系統(tǒng)中相對等待時間 平均帶權周轉時間 w =,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,14,先來先服務調度算法(FCFS) 策略:按作業(yè)來到的先后次序進行調度。 特點: 簡單,易實現(xiàn)。 討論:先來先服務調度算法下的周轉時間、帶權周轉時間,5. 常用的作業(yè)調度算法,先來先服務調度算法(FCFS) 作業(yè) 提交時間 執(zhí)行時間 開始時間 完成時間 周轉時間 帶權周轉時間 1 8.002.00 2 8.500.50 3 9.00 0.10 4 9.50 0.20,8.00 10.00 2.00 1,10.00 10.50
7、 2.00 4,10.50 10.60 1.60 16,10.60 10.80 1.30 6.5,平均周轉時間 t = 平均帶權周轉時間 w =,1.725,6.875,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,15,短作業(yè)優(yōu)先調度算法 策略:按作業(yè)請求運行的時間長短進行調度。 特點: 易實現(xiàn),系統(tǒng)吞吐量高。 討論:短作業(yè)優(yōu)先調度算法下的周轉時間與帶權周轉時間,先來先服務調度算法(FCFS) 作業(yè) 提交時間 執(zhí)行時間 開始時間 完成時間 周轉時間 帶權周轉時間 1 8.002.00 2 8.500.50 3 9.00 0.10 4
8、 9.50 0.20,平均周轉時間 t = 平均帶權周轉時間 w =,8.00 10.00 2.00 1,10.30 10.80 2.30 4.6,10.00 10.10 1.10 11,10.10 10.30 0.80 4,1.55,5.15,操作系統(tǒng)的資源管理 (2) 作業(yè)調度,16,進程管理的數(shù)據結構 決定調度策略 優(yōu)先調度 就緒隊列按進程優(yōu)先級高低排序 先來先服務 就緒隊列按進程來到的先后次序排序 實施處理機的分配和回收,1. 進程調度的功能,操作系統(tǒng)的資源管理 (2) 進程調度,17,什么是調度方式
9、 當一進程正在處理機上執(zhí)行時,若有某個更為“重要而緊迫”的進程需要運行,系統(tǒng)如何分配處理機。 非剝奪方式 讓正在執(zhí)行的進程繼續(xù)執(zhí)行,直到該進程完成或發(fā)生某事件而進入“完成”或“阻塞”狀態(tài)時,才把處理機分配給“重要而緊迫”的進程。 剝奪方式 當“重要而緊迫”的進程一到,便暫停正在執(zhí)行的進程,立即把處理機分配給優(yōu)先級更高的進程。,2. 進程調度的方式,操作系統(tǒng)的資源管理 (2) 進程調度,18,進程優(yōu)先數(shù)調度算法 什么是進程優(yōu)先數(shù)調度算法 預先確定各進程的優(yōu)先數(shù),系統(tǒng)把處理機的使用權賦予 就緒隊列中具備最高優(yōu)先權(優(yōu)先數(shù)和一定的優(yōu)先級相 對應)的就緒進程。 優(yōu)先數(shù)的分類及確定
10、 靜態(tài)優(yōu)先數(shù) 在進程被創(chuàng)建時確定,且一經確定后在整個進程運 行期間不再改變。,3. 進程調度算法,操作系統(tǒng)的資源管理 (2) 進程調度,19,靜態(tài)優(yōu)先數(shù)的確定 優(yōu)先數(shù)根據進程所需使用的資源來計算 優(yōu)先數(shù)基于程序運行時間的估計 優(yōu)先數(shù)基于進程的類型 動態(tài)優(yōu)先數(shù) 進程優(yōu)先數(shù)在進程運行期間可以改變。 動態(tài)優(yōu)先數(shù)的確定 進程使用CPU超過一定數(shù)值時,降低優(yōu)先數(shù) 進程I/O操作后,增加優(yōu)先數(shù) 進程等待時間超過一定數(shù)值時,提高優(yōu)先數(shù),操作系統(tǒng)的資源管理 (2) 進程調度,20,循環(huán)輪轉調度算法 什么是循環(huán)輪轉調度算法 當CPU空閑時,選取就緒隊列首元素,賦予一個時間
11、 片,當時間片用完時,該進程轉為就緒態(tài)并進入就緒隊 列末端。 該隊列排序的原則是什么?,操作系統(tǒng)的資源管理 (2) 進程調度,21,簡單循環(huán)輪轉調度算法 就緒隊列中的所有進程以等速度向前進展。 q = t/n t 為響應時間,n為進入系統(tǒng)的進程數(shù)目。 q 值的影響? 循環(huán)輪轉調度算法的發(fā)展 可變時間片輪轉調度 多重時間片循環(huán)調度,操作系統(tǒng)的資源管理 (2) 進程調度,22,5. 調度用的進程狀態(tài)變遷圖,一個調度用的進程狀態(tài)變遷圖的實例,操作系統(tǒng)的資源管理 (2) 進程調度,23,進程狀態(tài) 運行狀態(tài) 低優(yōu)先就緒狀態(tài) 高優(yōu)先就緒狀態(tài) 因I/O而等待狀態(tài) 隊列結構
12、 低優(yōu)先就緒隊列 高優(yōu)先就緒隊列 因I/O而等待隊列,調度用進程狀態(tài)變遷圖實例的分析,操作系統(tǒng)的資源管理 (2) 進程調度,24,進程調度算法 優(yōu)先調度與時間片調度相結合的調度算法 當CPU空閑時,若高優(yōu)先就緒隊列非空,則從高優(yōu) 先就緒隊列中選擇一個進程運行,分配時間片為 100ms。 當CPU空閑時,若高優(yōu)先就緒隊列為空,則從低優(yōu) 先就緒隊列中選擇一個進程運行,分配時間片為 500ms。 調度效果 優(yōu)先照顧IO量大的進程;適當照顧計算量大的進程。,操作系統(tǒng)的資源管理 (2) 進程調度,25,變遷1 變遷3,變遷1 變遷4,變遷2 變遷3,較復雜進程狀態(tài)變遷的討論,操作系統(tǒng)的資源管理 (2) 進程調度,26,處理機的兩級調度 作業(yè)調度 作業(yè)的狀態(tài) 周轉時間、帶權周轉時間的定義 物理意義 常用的作業(yè)調度算法 進程調度 進程調度的功能 調度方式 非剝奪方式 剝奪方式 常用的進程調度算法 調度用的進程狀態(tài)變遷圖的分析,操作系統(tǒng)的資源管理 (2) 小結,