《《處理機(jī)管理》課件》由會(huì)員分享,可在線閱讀,更多相關(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è)活動(dòng)期間有如下狀態(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è)的類型及 臺(tái)數(shù)、要求文件量和輸出量 資源使用情況 進(jìn)入系
5、統(tǒng)時(shí)間、開始執(zhí)行時(shí)間、已執(zhí)行時(shí)間、主存地址、外設(shè)臺(tái)號 類型 優(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)程的類型 動(dòng)態(tài)優(yōu)先數(shù) 進(jìn)程優(yōu)先數(shù)在進(jìn)程運(yùn)行期間可以改變。 動(dòng)態(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é),