資源描述:
《操作系統(tǒng)第2章 進程管理.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫。
1、計算機操作系統(tǒng)主講:白素琴計算機科學(xué)與技術(shù)系第2章進程管理系統(tǒng)中運行的是什么?程序執(zhí)行的特點?現(xiàn)代os的特點?第2章進程管理那么現(xiàn)代os中,運行的究竟是什么?進程進程程序數(shù)據(jù)PCB記錄:進程生命周期內(nèi)與之相關(guān)的一切數(shù)據(jù)第2章進程管理2.1進程的基本概念2.2進程控制2.3進程同步2.4進程通信2.5線程2.1進程的基本概念1、進程的定義:(各個操作系統(tǒng)中對進程的定義不統(tǒng)一)定義:進程是進程實體的運行過程。是進行系統(tǒng)資源分配、調(diào)度的最小單位2、進程的特征1)結(jié)構(gòu)性:進程實體2)動態(tài)性3)并發(fā)性4)獨立性5)異步性2.1進程的基本概念2.1進程的基本概念3、進程控制塊(PCB)進
2、程PPCB;Os進程P一一對應(yīng)通過pcb進程標(biāo)識符處理機狀態(tài)進程調(diào)度信息進程控制信息2.1進程的基本概念4、進程的基本狀態(tài)就緒R執(zhí)行E阻塞B針對:單處理機,多道程序系統(tǒng)只有一個進程可以有一個進程隊列可以有多個進程隊列2.1進程的基本概念執(zhí)行指針就緒隊列指針阻塞隊列1指針阻塞隊列2指針空閑隊列指針PCB14PCB23PCB30PCB48PCB5PCB67……PCB79PCB80PCB91典型的進程狀態(tài)演變圖2.1進程的基本概念分析:利:多道程序并行執(zhí)行,改善了系統(tǒng)資源的利用率,提高了系統(tǒng)的吞吐量.弊:時空開銷2.1進程的基本概念2.2進程控制怎么生成的?怎么結(jié)束的?怎么狀態(tài)轉(zhuǎn)變
3、的?進程是。。。。。所有這些工作都是有os的內(nèi)核中的進程控制原語實現(xiàn)的。?原語進程樹:描述一個進程的家族關(guān)系的有向樹。2.2進程控制ABCDEFGHIJKLM2.2進程控制進程控制原語:1.創(chuàng)建原語2.撤消原語3.阻塞原語4.喚醒原語2.2進程控制1.創(chuàng)建原語什么情況需要創(chuàng)建?如何創(chuàng)建?2.2進程控制2.撤銷原語什么情況需要終止進程?如何終止?1、確保進程都在家族樹內(nèi)2、確保cpu盡量忙碌2.2進程控制3.阻塞和喚醒原語什么情況需要阻塞和喚醒進程?如何阻塞和喚醒?阻塞和喚醒的關(guān)系:1、進程在自己的執(zhí)行過程中,阻塞自己。2、進程在執(zhí)行過程中,可以喚醒其他進程。3、阻塞和喚醒必須
4、是一一對應(yīng)的!!Doyouhaveanyquestions?2.3進程同步現(xiàn)代os系統(tǒng)的一個主要特點:異步性。使得系統(tǒng)很混論,程序執(zhí)行具有不可再現(xiàn)性!!本節(jié)主要研究如何解決這個問題。1、進程之間的相互關(guān)系2、信號量機制3、信號量機制應(yīng)用4、經(jīng)典進程同步問題2.3進程同步1、間接制約方式這是由于競爭相同資源而引起的。2.3.1進程間的相互制約關(guān)系2.3進程同步PBt2t1t3cpu1PAPB寫文件a文件aPA讀文件aPA此時如果申請讀文件,應(yīng)該被禁止此時,PB可能結(jié)束;可能繼續(xù);也可能被其他進程搶占;此時,PA的運行受到了PB的制約t4PA例,現(xiàn)有兩個進程PA,PB在他們的運行
5、過程中都要訪問文件a(2)直接制約方式。這是由于相互合作而引起的。2.3.1進程間的相互制約關(guān)系2.3進程同步PI:一個個地把數(shù)據(jù)輸入bufPC:一個個地從buf中取出數(shù)據(jù)buf只能存放一個數(shù)據(jù)cpu1PI放第一個PC取第一個PI放第二個PC取第二個應(yīng)該保證:在PC取走數(shù)之前,PI不能再放,否則,會漏掉一個數(shù)應(yīng)該保證:在PI放一個數(shù)之前,PC不能再取,否則,會重復(fù)取數(shù)此時,PI和PC因為需要合作相互制約2.3.1進程間的相互制約關(guān)系2.3進程同步臨界資源、臨界區(qū)同步與互斥進入?yún)^(qū)退出區(qū)臨界區(qū)同步機制必須遵循如下準(zhǔn)則:空閑讓進忙則等待有限等待:避免‘死等’(死鎖)讓權(quán)等待:退出臨
6、界區(qū),立即釋放處理機,讓位給等待進程。避免‘忙等’。2.3.1進程間的相互制約關(guān)系2.3進程同步Doyouhaveanyquestions?1、整形信號量2、記錄型信號量3、And型信號量4、信號量集2.3.2信號量機制2.3進程同步1965年,荷蘭學(xué)者Dijkstra提出了信號量(semaphore)機制。1、整形信號量定義:Ints;初始值為資源數(shù)目。操作:2.3.2信號量機制2.3進程同步P(S)V(S)臨界區(qū)WhileS<=0donothing;S=S-1;S=S+1;2、記錄型信號量定義:Typesemaphore=recordvalue:integer;L:lis
7、tofprocess;end操作:2.3.2信號量機制2.3進程同步P(S)V(S)臨界區(qū)S.value=S.value-1;IfS.value<0thenBlock(S.L)S.value=S.value+1;IfS.value≤0thenBlock(S.L)VarS:semaphore3、AND型信號量2.3.2信號量機制2.3進程同步P(S1,S2,…Sn)V(S1,S2,…Sn)臨界區(qū)要么全部分配一個,要么都不分配;每類資源回收一個;2.3.2信號量機制2.3進程同步4、信號量集機制P(S1,t