![操作系統(tǒng)課件第3章_第1頁](http://file4.renrendoc.com/view/b6c1df9c0ef16b6e5effd0ecdcfce355/b6c1df9c0ef16b6e5effd0ecdcfce3551.gif)
![操作系統(tǒng)課件第3章_第2頁](http://file4.renrendoc.com/view/b6c1df9c0ef16b6e5effd0ecdcfce355/b6c1df9c0ef16b6e5effd0ecdcfce3552.gif)
![操作系統(tǒng)課件第3章_第3頁](http://file4.renrendoc.com/view/b6c1df9c0ef16b6e5effd0ecdcfce355/b6c1df9c0ef16b6e5effd0ecdcfce3553.gif)
![操作系統(tǒng)課件第3章_第4頁](http://file4.renrendoc.com/view/b6c1df9c0ef16b6e5effd0ecdcfce355/b6c1df9c0ef16b6e5effd0ecdcfce3554.gif)
![操作系統(tǒng)課件第3章_第5頁](http://file4.renrendoc.com/view/b6c1df9c0ef16b6e5effd0ecdcfce355/b6c1df9c0ef16b6e5effd0ecdcfce3555.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第三章處理機(jī)調(diào)度與死鎖為提高處理機(jī)利用率、改善系統(tǒng)性能(吞吐量、響應(yīng)時間)需對處理機(jī)進(jìn)行合理分配調(diào)度處理機(jī)調(diào)度的目的:分配處理機(jī)3.1處理機(jī)調(diào)度的層次高級、中級和低級調(diào)度調(diào)度分三級1.高級調(diào)度
也稱為作業(yè)調(diào)度作業(yè):用戶在一次執(zhí)行過程中或一個事務(wù)處理中要求計(jì)算機(jī)系統(tǒng)所做工作的集合作業(yè)調(diào)度:將外存上后備隊(duì)列的作業(yè)調(diào)入內(nèi)存、創(chuàng)建進(jìn)程并分配資源、插入就緒隊(duì)列接納多少個作業(yè)接納哪些作業(yè)分時系統(tǒng)、實(shí)時系統(tǒng)中不需要作業(yè)調(diào)度,作業(yè)直接送入內(nèi)存2.低級調(diào)度稱為進(jìn)程調(diào)度選擇就緒隊(duì)列中某個進(jìn)程獲得處理機(jī)
調(diào)度方式1)非搶占方式:不允許其它進(jìn)程搶占已經(jīng)分配出去的處理機(jī)。實(shí)時系統(tǒng)中,不宜采用這種調(diào)度方式。2)搶占方式:允許調(diào)度程序?qū)⒁逊峙涑鋈サ奶幚頇C(jī)重新分配給另一進(jìn)程。3.中級調(diào)度主要目的:提高內(nèi)存利用率和系統(tǒng)吞吐量。實(shí)現(xiàn)方式:對換暫時不能運(yùn)行的進(jìn)程調(diào)至外存上的掛起隊(duì)列去等待。當(dāng)進(jìn)程重新具備運(yùn)行條件時,中級調(diào)度將掛起隊(duì)列中某個進(jìn)程重新調(diào)入內(nèi)存,掛在就緒隊(duì)列上等待進(jìn)程調(diào)度。3.2調(diào)度隊(duì)列模型和調(diào)度準(zhǔn)則調(diào)度隊(duì)列模型1.僅有進(jìn)程調(diào)度的調(diào)度隊(duì)列模型這種調(diào)度適合于哪種系統(tǒng)?2.具有高級和低級調(diào)度的調(diào)度隊(duì)列模型這種調(diào)度適合于哪種系統(tǒng)?3.同時具有三級調(diào)度的調(diào)度隊(duì)列模型
高低中調(diào)度準(zhǔn)則
1.面向用戶的準(zhǔn)則周轉(zhuǎn)時間短。周轉(zhuǎn)時間T:從作業(yè)被提交給系統(tǒng),到作業(yè)完成為止的時間間隔。由4個部分組成:在后備隊(duì)列等待的時間、進(jìn)程在就緒隊(duì)列中等待的時間、在CPU中執(zhí)行的時間、I/O操作完成的時間。平均周轉(zhuǎn)時間:平均帶權(quán)周轉(zhuǎn)時間:帶權(quán)周轉(zhuǎn)時間:W=T/TS(TS系統(tǒng)服務(wù)時間即CPU執(zhí)行時間)(2)響應(yīng)時間快。(評價分時系統(tǒng),輸入、處理、返回)(3)截止時間的保證。(評價實(shí)時系統(tǒng))(4)優(yōu)先權(quán)準(zhǔn)則。2.面向系統(tǒng)的準(zhǔn)則(1)系統(tǒng)吞吐量高吞吐量是指單位時間內(nèi)完成的作業(yè)數(shù)(2)處理機(jī)利用率好(3)各類資源的平衡利用
---各類資源處于忙碌狀態(tài)3.3調(diào)度算法
調(diào)度算法:資源分配方法。不同的系統(tǒng),通常采用不同的調(diào)度算法。1.先來先服務(wù)調(diào)度算法(既可用于作業(yè)調(diào)度又可用于進(jìn)程調(diào)度)2.短作業(yè)(進(jìn)程)優(yōu)先調(diào)度算法3.高優(yōu)先權(quán)優(yōu)先調(diào)度算法(FPF)靜態(tài)優(yōu)先權(quán):創(chuàng)建進(jìn)程時確定且在進(jìn)程的整個運(yùn)行期間保持不變。優(yōu)先權(quán)是利用某一范圍內(nèi)的一個整數(shù)來表示。動態(tài)優(yōu)先權(quán):可以改變。高響應(yīng)比優(yōu)先調(diào)度算法
優(yōu)先權(quán)=(等待時間+要求服務(wù)時間)/要求服務(wù)時間響應(yīng)比Rp=響應(yīng)時間/要求服務(wù)時間例:在一個批處理單道系統(tǒng)中,采用響應(yīng)比高者優(yōu)先的作業(yè)調(diào)度算法?,F(xiàn)有3個作業(yè),進(jìn)入系統(tǒng)的時間和需要計(jì)算的時間如下表所示:(1)求出每個作業(yè)的開始時間、完成時間及周轉(zhuǎn)時間并填入表中。(2)計(jì)算三個作業(yè)的平均周轉(zhuǎn)時間為多少?(1)平均周轉(zhuǎn)時間:(60+120+70)分鐘/3=83.33分鐘(2)帶權(quán)平均周轉(zhuǎn)時間:=?分別采用FCFS、SJF、FPF求出每個作業(yè)的開始時間、完成時間、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間并填入表中。計(jì)算系統(tǒng)的平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間。先來先服務(wù)調(diào)度算法計(jì)算結(jié)果最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果最高響應(yīng)比優(yōu)先作業(yè)算法計(jì)算結(jié)果4.基于時間片的輪轉(zhuǎn)調(diào)度算法
基本原理:系統(tǒng)將所有的就緒進(jìn)程按先來先服務(wù)的原則,排成一個隊(duì)列,每次調(diào)度時,把CPU分配給隊(duì)首進(jìn)程,并令其執(zhí)行一個時間片。確定時間片大小考慮的因素@系統(tǒng)對響應(yīng)時間的要求:響應(yīng)時間=時間片*進(jìn)程數(shù)。@就緒隊(duì)列中的進(jìn)程數(shù)目:時間片與就緒進(jìn)程數(shù)成反比。@系統(tǒng)處理能力:人所能承受的響應(yīng)時間一定,系統(tǒng)速度快則時間片可增長。q=1q=4ABCDEBCDEABCEACEABCDEAA1234567891011121314151617時間片大小對進(jìn)程執(zhí)行時間的影響5.多級反饋隊(duì)列調(diào)度算法:不需事先知道各進(jìn)程的執(zhí)行時間,且還可以滿足各種類型進(jìn)程需要優(yōu)先權(quán)降低時間片增大就緒隊(duì)列1就緒隊(duì)列2就緒隊(duì)列3就緒隊(duì)列nCPUCPUCPUCPUS1S2S3Sn(時間片:S1<S2<S3<Sn)3.5產(chǎn)生死鎖的原因和必要條件死鎖:多個進(jìn)程在運(yùn)行過程中因爭奪資源而造成的一種僵局,若無外力作用,進(jìn)程都將無法再向前推進(jìn)。
產(chǎn)生死鎖的原因非剝奪資源:磁帶機(jī)、打印機(jī)資源追逐,各不相讓占有并等待臨時性資源:由一個進(jìn)程產(chǎn)生,被另一個進(jìn)程使用后便無用的資源。進(jìn)程P1進(jìn)程P2消息S3消息S1進(jìn)程P3消息S2P1:Release(S1);Request(S3)P2:Release(S2);Request(S1)P3:Release(S3);Request(S2)不可能發(fā)生死鎖P1:Request(S3);Release(S1)P2:Request(S1);Release(S2)P3:Request(S2);Release(S3)可能發(fā)生死鎖產(chǎn)生死鎖的必要條件
互斥條件(2)請求和保持條件(占有并等待)(3)不剝奪條件(4)環(huán)路等待條件1.必要條件(缺一不可)2.必須同時成立或存在處理死鎖的基本方法
預(yù)防死鎖(2)避免死鎖(3)檢測死鎖(4)解除死鎖
最好是預(yù)防,逐個降格主動措施(被動措施)(挽救措施)3.6預(yù)防死鎖的方法
預(yù)防死鎖
摒棄“請求和保持”條件2.
摒棄“不剝奪”條件3.摒棄“環(huán)路等待”條件
由于互斥條件不可破壞,至少破壞1/4變成要破壞1/3.形成死鎖,要求4個條件同時成立,至少破壞其中1個就行!系統(tǒng)安全狀態(tài)
安全狀態(tài):系統(tǒng)能按某種順序如﹤P1,P2,…Pn﹥(稱﹤P1,P2,…Pn﹥?yōu)榘踩蛄校?,為每個進(jìn)程分配資源,使每個進(jìn)程都能順利完成。不安全狀態(tài):不存在安全序列的狀態(tài)。避免死鎖的實(shí)質(zhì):如何使系統(tǒng)不進(jìn)入不安全狀態(tài)。安全狀態(tài)例假定系統(tǒng)中有三個進(jìn)程P1、P2和P3,共有12臺磁帶機(jī)。進(jìn)程P1總共要求10臺磁帶機(jī),P2和P3分別要求4臺和9臺。假設(shè)在T0時刻,進(jìn)程P1、P2和P3已分別獲得5臺、2臺和2臺磁帶機(jī),尚有3臺空閑未分配,如下表所示:進(jìn)程最大需求已分配可用P1P2P310495223安全序列?p1→p2→p3
,p2→p3→p1
,p2→p1→p3利用銀行家算法避免死鎖
銀行家算法中的數(shù)據(jù)結(jié)構(gòu)可利用資源向量Available:一個含有m個元素的數(shù)組,其中,每一個元素代表一類可用的資源數(shù)目,其初始值是系統(tǒng)中所配置的該類全部可用資源數(shù)目。其值隨資源的分配和回收而動態(tài)地改變。最大需求矩陣Max:是一個n×m的矩陣,定義了系統(tǒng)中n個進(jìn)程中的每一個進(jìn)程對m類資源的最大需求。分配矩陣Allocation:是一個n×m的矩陣,定義了系統(tǒng)中每一類資源當(dāng)前已分配給每一進(jìn)程的資源數(shù)。需求矩陣Need:是一個n×m的矩陣,表示每個進(jìn)程尚需的該類資源數(shù)。上述三個矩陣的關(guān)系:Need[i,j]=Max[i,j]–Allocation[i,j]其中:Need[i,j]=k表示進(jìn)程i還需要Rj
類資源k個。Max[i,j]=k表示進(jìn)程i需要Rj
類資源的最大數(shù)目為k。Allocation[i,j]=k表示進(jìn)程i當(dāng)前已分得Rj類資源的數(shù)目為k。Available[j]=k表示系統(tǒng)中現(xiàn)有Rj類資源k個。銀行家算法:Requesti[j]=k進(jìn)程尚需要的資源Requesti<=Needi1出錯N等待NRequesti<=AvailableY是否有足夠的可利用資源2系統(tǒng)把要求的資源試探分配給進(jìn)程PiAvailable:=Available-Requesti;Allocation:=Allocationi+Requesti;Needi
:=Needi-RequestiY3系統(tǒng)執(zhí)行安全性算法4分配資源給進(jìn)程Y試探分配作廢N安全性算法:向量
Work
表示系統(tǒng)可提供給進(jìn)程繼續(xù)運(yùn)行所需的各類資源數(shù)目,其初始化為當(dāng)前可用的資源數(shù)。向量
Finish
是布爾型數(shù)組,表示系統(tǒng)是否有足夠的資源分配給進(jìn)程,使之運(yùn)行完成。初始化為false。安全性檢查的步驟:(1)Work:=Available;Finish:=false;(2)尋找滿足條件的i:
a.Finish[i]=false;b.Need[i]≤Work;
如果不存在,則轉(zhuǎn)(4)(3)Work:=Work+Allocation[i];Finish[i]:=true;轉(zhuǎn)(2)(4)若對所有i,F(xiàn)inish[i]=true,則系統(tǒng)處于安全狀態(tài),否則處于不安全狀態(tài)銀行家算法之例
假定系統(tǒng)中有五個進(jìn)程{P0,P1,P2,P3,P4}和三類資源{A,B,C},各種資源的數(shù)量分別為10、5、7。
T0時刻的資源分配表
T0時刻的安全性:
T0時刻的安全序列
P1請求資源:P1發(fā)出請求向量Request1(1,0,2),系統(tǒng)按銀行家算法進(jìn)行檢查:①Request1(1,0,2)≤Need1(1,2,2)②Request1(1,0,2)≤Available1(3,3,2)③試分配:系統(tǒng)先假定可為P1分配資源,并修改Available,Allocation1和Need1向量。④再利用安全性算法檢查此時系統(tǒng)是否安全。P1申請資源時的安全性檢查P4請求資源:P4發(fā)出請求向量Request4(3,3,0),系統(tǒng)按銀行家算法進(jìn)行檢查:①Request4(3,3,0)≤Need4(4,3,1);②Request
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心電圖室獎懲制度的制定意見
- 2025年度汽車維修廠汽車尾氣排放檢測與治理合同
- 金華浙江金華永康市古山鎮(zhèn)人民政府工作人員招聘筆試歷年參考題庫附帶答案詳解
- 金華2025年浙江金華浦江縣縣屬醫(yī)療衛(wèi)生單位招聘護(hù)理等專業(yè)人員16人筆試歷年參考題庫附帶答案詳解
- 浙江浙江省疾病預(yù)防控制中心招聘勞務(wù)派遣員工筆試歷年參考題庫附帶答案詳解
- 杭州2025年浙江杭州市教育局所屬事業(yè)單位招聘166人筆試歷年參考題庫附帶答案詳解
- 2025年中國雙層床架市場調(diào)查研究報(bào)告
- 2025年中國一次性使用PE手套市場調(diào)查研究報(bào)告
- 2025年規(guī)則導(dǎo)線剝皮機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年罐頭盒蠟燭項(xiàng)目可行性研究報(bào)告
- 營銷管理方案中的定價策略與盈利模式
- 2024年西寧城市職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級考試模擬試題)物理試卷
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 我國糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- Python數(shù)據(jù)挖掘?qū)崙?zhàn)全套教學(xué)課件
- 高級茶藝師技能鑒定(協(xié)會版)備考題庫-下(多選、判斷題匯總)
- 特種設(shè)備作業(yè)人員體檢表(叉車)
- c30混凝土路面施工方案
- 加強(qiáng)師德師風(fēng)建設(shè)學(xué)校師德師風(fēng)警示教育講座培訓(xùn)課件
- 豬飼料購銷合同書
評論
0/150
提交評論