計算機軟件基礎(chǔ)課件:資源管理技術(shù)-進程和處理機管理_第1頁
計算機軟件基礎(chǔ)課件:資源管理技術(shù)-進程和處理機管理_第2頁
計算機軟件基礎(chǔ)課件:資源管理技術(shù)-進程和處理機管理_第3頁
計算機軟件基礎(chǔ)課件:資源管理技術(shù)-進程和處理機管理_第4頁
計算機軟件基礎(chǔ)課件:資源管理技術(shù)-進程和處理機管理_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

資源管理技術(shù)BasicsofComputerSoftware答辯人:XXX

進程與處理機管理8.2進程概念

進程調(diào)度死鎖進程:就是程序的一次執(zhí)行過程,是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位。進程管理也被稱為處理機管理。處理機是計算機系統(tǒng)中的重要資源,所以它管理的好壞在很大程度上直接影響系統(tǒng)的效率。處理機管理又分兩個部分:作業(yè)管理和進程管理。進程管理是由程序管理進化而來,是和程序管理密不可分的。進程概念

進程調(diào)度死鎖進程與程序的主要區(qū)別進程具有并發(fā)性,而程序沒有并發(fā)性進程和程序不是一一對應(yīng)的:一個程序可對應(yīng)多個進程即多個進程可執(zhí)行同一程序;但一個進程只能對應(yīng)1個程序。對應(yīng)關(guān)系進程是動態(tài)的,而程序是靜態(tài)的動態(tài)性進程有一定的生命期,是程序在數(shù)據(jù)集上的一次執(zhí)行,生命周期不會跨越系統(tǒng)運行周期;而程序是指令的集合,是永存的生命周期性進程是競爭計算機資源的基本單位,程序不是資源競爭進程概念

進程調(diào)度死鎖進程的特征多個進程實體在一段時間內(nèi)能夠并發(fā)執(zhí)行并發(fā)性不同進程在邏輯上相互獨立,有各的運行軌跡異步性進程的實質(zhì)是程序的一次執(zhí)行,因此進程是動態(tài)的動態(tài)性每個進程都是一個獨立運行的基本單位,也是系統(tǒng)進行資源分配和調(diào)度的基本單位獨立性系統(tǒng)為每個進程配置了一個進程控制塊PCB。因此,從結(jié)構(gòu)上看,每個進程都由程序段、數(shù)據(jù)段以及PCB這三部分組成結(jié)構(gòu)性進程概念

進程調(diào)度死鎖就緒狀態(tài)已經(jīng)獲得投入運行所必需的一切資源,一旦分配到CPU,就可以立即執(zhí)行運行狀態(tài)進程獲得了CPU及其它一切所需資源,正在CPU上運行著等待狀態(tài)由于資源得不到滿足,進程運行受阻,處于暫停狀態(tài),等待資源分配后,再投入運行進程狀態(tài)運行狀態(tài)等待狀態(tài)

就緒狀態(tài)

進程調(diào)度

等待資源時間用完獲得資源進程概念

進程調(diào)度死鎖進程控制塊PCB1進程標(biāo)識符2特征信息3執(zhí)行狀態(tài)信息4通信信息5調(diào)度優(yōu)先數(shù)6現(xiàn)場信息7系統(tǒng)棧8進程映像信息9資源占有信息10族系關(guān)系進程概念

進程調(diào)度死鎖進程調(diào)度:由于操作系統(tǒng)管理了系統(tǒng)的有限資源,當(dāng)有多個進程要使用這些資源時,因為資源的有限性,必須按照一定的原則選擇進程(請求)來占用資源。02可剝奪方式在某些條件下系統(tǒng)可以強制剝奪正在運行的進程使用處理機的權(quán)利,將其分配給另一個合適的就緒進程01不可剝奪方式也稱不可搶占方式,一個進程在獲得處理機后,除非運行結(jié)束或進入阻塞狀態(tài)等原因主動放棄CPU,否則一直運行下去相關(guān)概念周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間等待時間1周轉(zhuǎn)時間進程從創(chuàng)建到執(zhí)行完成所經(jīng)歷的時間周轉(zhuǎn)時間T=完成時間-到達時間其值越接近平均運行時間,說明該調(diào)度算法越理想2帶權(quán)周轉(zhuǎn)時間周轉(zhuǎn)時間和運行時間的比值。帶權(quán)周轉(zhuǎn)時間TW=周轉(zhuǎn)時間/運行時間帶權(quán)周轉(zhuǎn)時間越接近1,說明該調(diào)度算法越理想。3等待時間進程從創(chuàng)建到執(zhí)行完成所經(jīng)歷的時間減去占有CPU的時間等待時間W=周轉(zhuǎn)時間-運行時間進程概念

進程調(diào)度死鎖1.先來先服務(wù)(FCFS)調(diào)度算法進程概念

進程調(diào)度死鎖當(dāng)一個大進程運行時會使后到的小進程等待很長時間,這就增加了進程平均等待時間;不能為緊急進程優(yōu)先分配CPU。算法思想按照進程進入就緒隊列的時間次序分配CPU。算法特點具有不可搶占性的特點,處在就緒隊列頭部的進程首先獲得CPU,一旦進程占用了CPU,一直運行到結(jié)束才放棄CPU,除非在運行中因等待事件被阻塞而放棄CPU。算法問題1.先來先服務(wù)(FCFS)調(diào)度算法進程概念

進程調(diào)度死鎖進程到達時間運行時間開始時間完成時間等待時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間P107P224P341P454平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時間平均等待時間運行進程P1

P2

P3P4

↑0↑7↑11↑12↑1607071711592.25111278812167112.75T=(7+9+8+11)/4=8.75TW=(1+2.25+8+2.75)/4=3.5W=(0+5+7+7))/4=4.75FCFS算法的運行時間軸2.短進程優(yōu)先(SPF)調(diào)度算法進程概念

進程調(diào)度死鎖必須預(yù)知進程的運行時間;對長進程不利;完全未考慮進程的緊迫程度算法思想每次進行進程調(diào)度時均選擇運行時間最短的進程分配CPU算法特點SPF是以進程的運行時間長度作為優(yōu)先級,進程運行時間越短,優(yōu)先級越高算法問題進程概念

進程調(diào)度死鎖進程到達時間運行時間開始時間完成時間等待時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間P107P224P341P454平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時間平均等待時間運行進程P1

P3P2

P4

↑0↑7↑8↑12↑16070718126102.57834412167112.75T=(7+10+4+11)/4=8TW=(1+2.5+4+2.75)/4=2.56W=(0+6+3+7)/4=4FCFS算法的運行時間軸2.短進程優(yōu)先(SPF)調(diào)度算法3.最短剩余時間優(yōu)先算法進程概念

進程調(diào)度死鎖后提交的大進程長期得不到響應(yīng)算法思想每當(dāng)有進程加入就緒隊列時就需要調(diào)度,如果新到達的進程剩余時間比當(dāng)前運行的進程剩余時間更短,則由新進程搶占處理機。另外,當(dāng)一個進程完成時也需要調(diào)度。算法特點綜合考慮了剩余時間和當(dāng)前的短進程,算法的幾個綜合評價指標(biāo)有所降低算法問題進程概念

進程調(diào)度死鎖進程到達時間運行時間開始時間完成時間等待時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間P107P224P341P454平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時間平均等待時間運行進程P1

P2

P3

P2

P4

P1

↑0↑7↑11↑160169162.2927151.2545011711261.5T=(16+5+1+6)/4=7TW=(2.29+1.25+1+1.5)/4=1.51W=(9+1+0+2)/4=3FCFS算法的運行時間軸3.最短剩余時間優(yōu)先算法↑2↑4↑54.時間片輪轉(zhuǎn)算法進程概念

進程調(diào)度死鎖系統(tǒng)的效率與時間片大小的設(shè)置有關(guān)算法思想和分時系統(tǒng)類似算法特點時間片輪轉(zhuǎn)為剝奪式調(diào)度算法,即當(dāng)時間片用完后,即使當(dāng)前進程沒有執(zhí)行結(jié)束,也會被剝奪CPU。時間片輪轉(zhuǎn)算法比較適合交互式分時系統(tǒng)算法問題可將時間片分成多個規(guī)格,如10ms,20ms或50ms等。按時間片大小將就緒進程排成多個隊列。優(yōu)化方案5.優(yōu)先級調(diào)度算法進程概念

進程調(diào)度死鎖算法思想系統(tǒng)賦予每個進程一個優(yōu)先數(shù),用于表示該進程的優(yōu)先級。調(diào)度程序總是從就緒隊列中挑選一個優(yōu)先級最高的進程,使之占有處理機02動態(tài)優(yōu)先級調(diào)度優(yōu)先級在進程運行中,可以動態(tài)調(diào)整01靜態(tài)優(yōu)先級調(diào)度優(yōu)先級在進程創(chuàng)建時已經(jīng)確定。在進程運行期間該優(yōu)先數(shù)保持不變靜態(tài)優(yōu)先權(quán)法比較適合于實時系統(tǒng),其優(yōu)先級可根據(jù)事件的緊迫程度事先設(shè)定。動態(tài)優(yōu)先級調(diào)度可根據(jù)實際情況調(diào)整優(yōu)先級,處理更靈活短作業(yè)的進程可以賦予較高的優(yōu)先級根據(jù)用戶作業(yè)的申請,設(shè)置進程的優(yōu)先級系統(tǒng)進程應(yīng)當(dāng)賦予比用戶進程高的優(yōu)先級I/O繁忙的進程應(yīng)當(dāng)優(yōu)先獲得CPU進程概念

進程調(diào)度死鎖分配優(yōu)先級需要考慮的因素6.高響應(yīng)比優(yōu)先調(diào)度算法進程概念

進程調(diào)度死鎖需要估計每個進程的運行時間,而且每次調(diào)度時都要計算就緒隊列中所有進程的響應(yīng)比,這需要耗費不少的CPU時間算法思想每個進程都擁有一個動態(tài)優(yōu)先數(shù),該優(yōu)先數(shù)不僅是進程運行時間(估計值)的函數(shù),還是其等待時間的函數(shù)RP=響應(yīng)時間/運行時間=1+等待時間/運行時間算法特點高響應(yīng)比優(yōu)先調(diào)度算法既照顧了短進程,又不使長進程等待時間過長,是先來先服務(wù)調(diào)度算法和短進程優(yōu)先調(diào)度算法的一種很好的折中調(diào)度方案算法問題6.高響應(yīng)比優(yōu)先調(diào)度算法進程概念

進程調(diào)度死鎖時刻事件和動作Rp值動作P1P2P3P40P1到,計算Rp1---P1運行2P2到

4P3到

5P4到

7P1結(jié)束,計算Rp-2.2541.5P3運行8P3結(jié)束,計算Rp-2.5-1.75P2運行12P2結(jié)束,計算Rp---2.75P4運行16P4結(jié)束

平均周轉(zhuǎn)時間:T=(16+5+1+6)/4=7平均帶權(quán)周轉(zhuǎn)時間:TW=(2.29+1.25+1+1.5)/4=1.51平均等待時間:W=(9+1+0+2)/4=31.死鎖的定義及產(chǎn)生進程概念

進程調(diào)度死鎖死鎖現(xiàn)象:每個進程所要求的資源都已被另一個進程占用,出現(xiàn)沒有一個進程能繼續(xù)運行,這種情況稱“死鎖”。打印機進程A進程B讀卡機進程A申請到打印機進程A需要讀卡機進程B申請到讀卡機進程B需要打印機例如:進程A和B按下面的順序推進,導(dǎo)致死鎖。

1.A:申請打印機

2B:申請讀卡機

3.A:申請讀卡機4.B:申請打印機進程概念

進程調(diào)度死鎖資源的部分分配需求某類資源的若干進程;每次只能申請或被分配其完全需求資源的一部分進程間非法交叉推進出現(xiàn)相關(guān)進程由于資源分配不當(dāng)而出現(xiàn)循環(huán)等待資源獨占性資源不能共享,外設(shè)只能由一個進程用完才能為其他進程所使用資源的不可剝奪性資源的非搶占式分配,一個進程占用外設(shè)時,另一個進程就不能把它奪過來,只能等待產(chǎn)生死鎖的四個必要條件進程概念

進程調(diào)度死鎖死鎖的預(yù)防破壞產(chǎn)生死鎖的4個必要條件中的任何一個死鎖的避免躲避死鎖的發(fā)生死鎖檢測與恢復(fù)允許死鎖產(chǎn)生,但能檢測出來并且有能力處理和恢復(fù)010203解決死鎖的辦法進程概念

進程調(diào)度死鎖破壞資源的部分分配每個進程必須提出它所需要的全部資源,只有完全滿足時,才能啟動進程間非法交叉推進系統(tǒng)所有資源進行編號,并規(guī)定進程申請資源時必須按照資源編號的順序進行破壞資源獨占性采用假脫機技術(shù)(SPOOLing)可以使非共享設(shè)備變?yōu)楣蚕碓O(shè)備破壞資源的不可剝奪性申請不到資源時,釋放原先已占有的,進入等待,以后再一起申請2.死鎖的預(yù)防提前確定系統(tǒng)資源分配算法,破壞產(chǎn)生死鎖的四個必要條件中的任何一個或幾個,以保證在系統(tǒng)運行中不發(fā)生死鎖進程概念

進程調(diào)度死鎖采用虛擬技術(shù),使非共享設(shè)備變成共享設(shè)備,以預(yù)防死鎖用戶1用戶2用戶3??????輸出輸出輸出打印打印機主機2.死鎖的預(yù)防進程概念

進程調(diào)度死鎖2.死鎖的預(yù)防系統(tǒng)資源進行統(tǒng)一編號。進程申請使用資源時,必須嚴(yán)格按照編號的升序進行進程A進程B進程C1、卡片輸入機(3臺)√√√2、行式打印機(2臺)√√*3、卡片輸入機(1臺)√*4、磁帶機(1臺)進程概念

進程調(diào)度死鎖3.死鎖的避免

為了避免死鎖的發(fā)生,系統(tǒng)對進程提出的每一個資源請求,先不是真正去分配,而是根據(jù)當(dāng)時資源的使用情況,按一定的算法去進行模擬分配后的結(jié)果。只有當(dāng)探測結(jié)果不會導(dǎo)致死鎖,才真正接收進程提出的這一請求——銀行家算法。銀行家算法的思想:(假定在同類資源的分配上實行這一算法)系統(tǒng)接到一個進程的資源請求后,就先假定承認(rèn)這一申請,把資源分配給它。然后系統(tǒng)用剩余的資源和每一個進程還需要的資源數(shù)相比,看能否找到這樣的進程,系統(tǒng)把資源分配給它后,就能滿足它對資源的最大需求,從而保證其運行完畢。如果能就分配給它,系統(tǒng)在其運行完后回收其占用的全部資源,就會有更多的剩余資源數(shù)。再重復(fù)這一過程,直到找不出這樣的進程為止。請看下面示例:進程已分配數(shù)還需要數(shù)A13B42C53系統(tǒng)剩余2進程已分配數(shù)還需要數(shù)A22B42C53系統(tǒng)剩余1例:假定某系統(tǒng)有12臺磁帶機,A:最大需要量4,B:最大需要量6,C:最大需要量8銀

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論