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