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