




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章流程管理,2.1流程的基本概念2.2流程控制2.3流程同步2.4經(jīng)典流程的同步問題2.5管道流程機(jī)制2.6流程通信2.7線程,了解教育目的:流程概念,了解流程控制流程同步和通信控制流程同步以及互斥算法了解線程的基本概念和通信機(jī)制的重點(diǎn)和難點(diǎn)。進(jìn)程的同步互斥算法和通信,2.1.1進(jìn)程的基本概念,2 . 1 . 1之前圖2.1.2程序的順序執(zhí)行和特性2.1.3程序的并行執(zhí)行和特性2.1.4進(jìn)程的特性和狀態(tài)2.1.5進(jìn)程控制塊,記錄為說明進(jìn)程之間執(zhí)行前后關(guān)系的直接循環(huán)圖形。初始節(jié)點(diǎn)關(guān)閉節(jié)點(diǎn)重量,節(jié)點(diǎn)具有直接引線(例如,具有9個(gè)節(jié)點(diǎn)的前向圖,前向關(guān)系:p1p2、p1p3p33、p1p4、P2P
2、5、p3p5、p4p6、p4p7、p598、p6p示例:執(zhí)行2.1.2程序順序及其功能;程序:源代碼程序、目標(biāo)代碼程序、執(zhí)行可執(zhí)行程序:編輯、編譯、鏈接、執(zhí)行程序結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、執(zhí)行程序順序示例:例如1:輸入I、執(zhí)行程序已關(guān)閉:流程運(yùn)行時(shí),計(jì)算結(jié)果不受外部元素的影響。再現(xiàn)性:如果程序運(yùn)行時(shí)的環(huán)境和初始條件相同,則每次迭代運(yùn)行的結(jié)果相同。2.1.3程序的并發(fā)執(zhí)行及其特征,1 .程序的并發(fā)執(zhí)行(稱為程序的并發(fā)執(zhí)行)意味著多個(gè)程序同時(shí)在系統(tǒng)上運(yùn)行,這些程序的執(zhí)行在時(shí)間上是重疊的,一個(gè)程序的執(zhí)行尚未結(jié)束,另一個(gè)程序的執(zhí)行已經(jīng)開始。同時(shí)運(yùn)行一個(gè)程序段的多個(gè)語(yǔ)句:s 1: a :=x
3、2s 2: b :=y 5s 3: c :=a b s 4:d :=c 6,2,程序并行運(yùn)行的特征,與間歇資源共享交互閉合程序損失由于在并發(fā)運(yùn)行中是多個(gè)程序共享系統(tǒng)的資源,因此這些資源的狀態(tài)將由多個(gè)程序更改。再現(xiàn)性是由于梗阻性喪失造成的。在相同的初始條件下,可以多次重復(fù)一個(gè)程序,以獲得不同的結(jié)果。并發(fā)執(zhí)行示例1(與時(shí)間相關(guān)的錯(cuò)誤)。此錯(cuò)誤與相對(duì)執(zhí)行速度相關(guān),因此稱為與時(shí)間相關(guān)的錯(cuò)誤。并行程式范例2范例:程式a,b,共用變數(shù)n .代碼為:程序A BEGIN REPEAT N:=N 1 UNTIL FALSE END,程序b BEGIN REPEAT Print(N)N :=0 UNTIL FAL
4、SE END,兩個(gè)程序以不同的速度運(yùn)行N 3360=程序的并發(fā)執(zhí)行導(dǎo)致程序執(zhí)行不可預(yù)測(cè),結(jié)果不再唯一,并成為動(dòng)態(tài)進(jìn)程。程序作為靜態(tài)概念,不再有效地反映程序執(zhí)行的各種特征(獨(dú)立性、并行性、動(dòng)態(tài)性)。因此,我們調(diào)整了新概念過程,3,程序并發(fā)執(zhí)行所帶來的問題,即每個(gè)程序的執(zhí)行順序。例如,如果輸入的數(shù)據(jù)尚未全部輸入內(nèi)存,則計(jì)算流程必須等待。多個(gè)執(zhí)行程序共享系統(tǒng)資源會(huì)在程序之間相互影響,還會(huì)影響輸出結(jié)果。選擇哪個(gè)程序進(jìn)入內(nèi)存執(zhí)行。內(nèi)存中的執(zhí)行程序由誰(shuí)先運(yùn)行,誰(shuí)稍后運(yùn)行??jī)?nèi)存是如何有效分配的?4,并發(fā)運(yùn)行條件:并發(fā)運(yùn)行條件:關(guān)閉和再現(xiàn)性實(shí)現(xiàn)。同時(shí)執(zhí)行導(dǎo)致封閉性消失的原因是共享資源的影響,消除這種效果即可。
5、1966年,Bernstein提供了并發(fā)執(zhí)行條件。程序?qū)⒄Z(yǔ)句或程序段Pi分為兩組變量:R(pi)和W(pi)。其中R(pi)=a1、a2、an、程序pi在執(zhí)行過程中引用的(讀取的)變量集稱為“讀取集”。W(pi)=b1、b2、bm、程序pi運(yùn)行期間更改的(寫入的)變量集,稱為“寫入集”。Bernstein條件:對(duì)于門P1,p2,r(P1)w(p2)=r(p2)w(P1)=w(P1)w(p2)=門P1例如,有四個(gè)語(yǔ)句:s 1: a :=x y s 2: B :=z 1s : c :=a B s 4: W :=c 1其中:r (S1)=x,y w (S1)=R(S1)W(S2)=、R(S2)W(S
6、1)=、W(S1)W(S2)=結(jié)論:陳述式S1和S2符合Bernstein條件,可以同時(shí)執(zhí)行。在其他語(yǔ)句之間自我分析。2.1.4進(jìn)程的特征和狀態(tài),1 .過程的定義,過程是操作系統(tǒng)中最基本、最重要的概念。為了說明出現(xiàn)多通道程序系統(tǒng)后系統(tǒng)內(nèi)部發(fā)生的動(dòng)態(tài)情況,所有多通道程序設(shè)計(jì)操作系統(tǒng)都是基于過程的系統(tǒng)內(nèi)各種程序的活動(dòng)規(guī)律的引入。更一般的流程定義如下:(1)進(jìn)程是程序的執(zhí)行。(2)流程是程序及其數(shù)據(jù)按處理器順序運(yùn)行時(shí)發(fā)生的活動(dòng)。(3)進(jìn)程是在數(shù)據(jù)集中運(yùn)行程序的進(jìn)程,該程序是系統(tǒng)執(zhí)行資源分配和計(jì)劃的單獨(dú)單元。(4)進(jìn)程是進(jìn)程實(shí)體的執(zhí)行進(jìn)程,是系統(tǒng)執(zhí)行資源分配和調(diào)度的單獨(dú)單元。(5)進(jìn)程是具有集合特定獨(dú)
7、立功能的程序的執(zhí)行活動(dòng)。(我國(guó)78廬山研討會(huì)),1。流程的定義,2 .過程等過程的比較:過程是動(dòng)態(tài)的,過程是靜態(tài)的:程序是有序代碼的集合;進(jìn)程是程序的執(zhí)行。通常,進(jìn)程不能在計(jì)算機(jī)之間遷移。程序通常對(duì)應(yīng)于文件、靜態(tài)和可復(fù)制文件。過程是暫時(shí)的,程序是永久的。進(jìn)程是狀態(tài)更改的過程,具有特定的生命周期。程序可以保存很長(zhǎng)時(shí)間作為軟件信息。過程與程序不同。進(jìn)程由程序、數(shù)據(jù)和進(jìn)程控制塊三部分組成。進(jìn)程和程序之間的響應(yīng):同一程序在多個(gè)數(shù)據(jù)集合中同時(shí)運(yùn)行,并且屬于多個(gè)不同的進(jìn)程。也就是說,同一程序可以對(duì)應(yīng)多個(gè)進(jìn)程。進(jìn)程執(zhí)行還可以包含一個(gè)或多個(gè)程序(調(diào)用)。3 .流程特征:結(jié)構(gòu)特征:程序段、數(shù)據(jù)段、流程控制塊(流
8、程實(shí)體)三個(gè)部分;力學(xué):過程的本質(zhì)是程序的執(zhí)行過程。并發(fā):多個(gè)進(jìn)程可以保留在內(nèi)存中,并且可以在一段時(shí)間內(nèi)同時(shí)運(yùn)行。獨(dú)立:獨(dú)立運(yùn)行的基本單位,獨(dú)立獲取資源和計(jì)劃的基本單位;異步:每個(gè)流程以獨(dú)立的、不可預(yù)測(cè)的速度進(jìn)行。4 .進(jìn)程的三種默認(rèn)狀態(tài),進(jìn)程狀態(tài)數(shù)取決于系統(tǒng)設(shè)置。進(jìn)程的三個(gè)默認(rèn)狀態(tài)為1)就緒狀態(tài)。進(jìn)程已獲得除CPU之外的所有必需資源,一旦獲得CPU,即可立即運(yùn)行。2)運(yùn)行狀態(tài):進(jìn)程收到CPU,程序正在CPU上運(yùn)行。3)阻塞狀態(tài):運(yùn)行的進(jìn)程由于特定事件(如I/O請(qǐng)求)的發(fā)生而暫時(shí)無法繼續(xù)運(yùn)行,必須等到該事件完成后才能與CPU競(jìng)爭(zhēng)。進(jìn)程/線程執(zhí)行、運(yùn)行、進(jìn)程所屬處理器、處理器運(yùn)行進(jìn)程的程序。該進(jìn)
9、程已釋放處理器以外的所需資源,正在等待分配處理器執(zhí)行。也稱為待機(jī)、掛起、節(jié)能模式,進(jìn)程不會(huì)通過等待特定條件(例如I/O操作或進(jìn)程同步)來運(yùn)行。由于多種原因,進(jìn)程會(huì)根據(jù)其他阻塞原因插入相應(yīng)的阻塞隊(duì)列。、3狀態(tài)流程模型、4、5狀態(tài)流程模型、5、7狀態(tài)流程模型、引入暫停狀態(tài)的原因:最終用戶的請(qǐng)求父流程需要操作系統(tǒng)請(qǐng)求負(fù)載協(xié)調(diào)時(shí),“暫?!钡谋举|(zhì)是使流程無法繼續(xù),即使暫停的流程處于就緒狀態(tài),也不能參與CPU競(jìng)爭(zhēng)。因此,待定進(jìn)程處于停止?fàn)顟B(tài),而非待定進(jìn)程處于活動(dòng)狀態(tài)。處于停止?fàn)顟B(tài)的進(jìn)程只能通過激活操作轉(zhuǎn)換為活動(dòng)狀態(tài)。進(jìn)程暫停后,程序代碼和數(shù)據(jù)集將加載到外部存儲(chǔ)庫(kù)中的交換區(qū)域,以供其他進(jìn)程使用。就緒狀態(tài):進(jìn)
10、程位于內(nèi)存中,可以立即運(yùn)行。阻塞的狀態(tài):進(jìn)程位于內(nèi)存中,等待事件發(fā)生?!皉eady suspend(就緒狀態(tài)暫停)”:進(jìn)程存儲(chǔ)在外部,但只需進(jìn)入內(nèi)存即可運(yùn)行?!癰locked suspend(阻塞狀態(tài))”:進(jìn)程存儲(chǔ)在外部,等待事件發(fā)生。沒有這種狀態(tài)轉(zhuǎn)換,為什么?阻止運(yùn)行準(zhǔn)備阻止,6,流程配置,2.1.5流程控制塊(PCB),1。流程控制塊的作用,流程控制塊的作用是使多個(gè)程序環(huán)境中不獨(dú)立運(yùn)行的程序(包括數(shù)據(jù))成為可獨(dú)立運(yùn)行的基本單元,并使其與其他進(jìn)程同時(shí)運(yùn)行的進(jìn)程。或根據(jù)PCB控制和管理同時(shí)執(zhí)行的進(jìn)程。流程與PCB一一對(duì)應(yīng)。PCB必須駐留在內(nèi)存中。進(jìn)程標(biāo)記、進(jìn)程調(diào)度信息、進(jìn)程控制信息、2。流程控
11、制塊中的信息,2 .流程控制塊中的信息,流程標(biāo)識(shí)符:唯一標(biāo)識(shí)系統(tǒng)中的每個(gè)流程。父進(jìn)程的標(biāo)識(shí)符和子進(jìn)程的標(biāo)識(shí)符也可以說明進(jìn)程的家族關(guān)系。處理器狀態(tài):用于CPU轉(zhuǎn)換時(shí)的現(xiàn)場(chǎng)存儲(chǔ)和現(xiàn)場(chǎng)還原,主要由處理器的各種寄存器內(nèi)容組成。進(jìn)程調(diào)度和控制信息:用于進(jìn)程調(diào)度和控制,主要包括進(jìn)程狀態(tài)、優(yōu)先級(jí)、等待和使用CPU的總時(shí)間、程序和數(shù)據(jù)的地址、進(jìn)程同步和通信信息、資源清點(diǎn)和進(jìn)程隊(duì)列指針等。3。流程控制塊通過一個(gè)系統(tǒng)上稱為PCB集合的多個(gè)PCB組成。為了便于管理,系統(tǒng)必須以適當(dāng)?shù)姆绞脚渲肞CB。1)在單個(gè)隊(duì)列中,所有進(jìn)程的PCB通過鏈路列表構(gòu)成單個(gè)隊(duì)列,適用于進(jìn)程數(shù)量不多的系統(tǒng)。執(zhí)行指針、就緒隊(duì)列指針、阻塞隊(duì)列指
12、針、PCB、1、PCB、2、PCB、3、PCB、4、PCB、6、PCB、7、PCB,2.2.1進(jìn)程的創(chuàng)建2 . 2 . 2 . 2進(jìn)程的終止2.2.3進(jìn)程的阻止和覺醒2.2.4進(jìn)程的暫停和激活,進(jìn)程管理的主要任務(wù)是進(jìn)程控制,進(jìn)程阻止進(jìn)程創(chuàng)建wake進(jìn)程暫停進(jìn)程激活進(jìn)程終止進(jìn)程取消進(jìn)程等進(jìn)程管理的最基本功能,用于創(chuàng)建和撤消進(jìn)程,以及有效地控制整個(gè)生命周期中各種狀態(tài)之間的進(jìn)程轉(zhuǎn)變。過程控制是通過操作系統(tǒng)內(nèi)核的原語(yǔ)實(shí)現(xiàn)的?;荆壕哂性谙到y(tǒng)狀態(tài)下運(yùn)行的特定功能的某些程序段稱為原語(yǔ)。(原語(yǔ)的執(zhí)行具有原子性,執(zhí)行時(shí)不能分割。)。創(chuàng)建2.2.1進(jìn)程,1 .流程圖(Process Graph):用于說明一個(gè)流
13、程的家庭關(guān)系的方向樹。從父流程繼承父流程的所有資源的父流程父流程子流程;撤消子流程時(shí),必須將從父流程獲取的資源返回到父流程。取消父流程時(shí),還必須撤消所有子流程。2 .創(chuàng)建過程的原因,(1)用戶登錄。(2)作業(yè)調(diào)度。(3)服務(wù)提供:在系統(tǒng)內(nèi)核中創(chuàng)建新進(jìn)程。(4)應(yīng)用請(qǐng)求:使請(qǐng)求的應(yīng)用程序自身創(chuàng)建新進(jìn)程。3 .進(jìn)程創(chuàng)建進(jìn)程(Creation of Progress),(1)申請(qǐng)空PCB。(2)將資源分配給新進(jìn)程。(3)初始化流程控制塊。(4)將新流程插入準(zhǔn)備隊(duì)列。創(chuàng)建新流程是通過流程生成基元creat()完成的。流程生成原語(yǔ)的主要任務(wù)是流程生成控制塊PCB。嘴,檢查PCB鏈接列表,空PCB?獲取空
14、的PCB(i),PCB(i)進(jìn)入準(zhǔn)備隊(duì)列,PCB(i)進(jìn)入進(jìn)程族或進(jìn)程鏈且創(chuàng)建失敗,則返回,原始流圖,N,Y,2.2.2進(jìn)程結(jié)束,結(jié)束prob .結(jié)束父進(jìn)程;c .父進(jìn)程請(qǐng)求。結(jié)束進(jìn)程OS通過調(diào)用進(jìn)程結(jié)束基本完成進(jìn)程的結(jié)束。第一步:根據(jù)在PCB集合中終止的進(jìn)程的標(biāo)識(shí)符查找相應(yīng)的進(jìn)程控制塊,并讀取進(jìn)程的狀態(tài)。步驟2:如果終止的流程正在運(yùn)行,請(qǐng)終止流程運(yùn)行,設(shè)置計(jì)劃標(biāo)志(指示流程結(jié)束后需要重新計(jì)劃),然后選擇新流程以分配處理者。步驟3:如果流程具有子流程,則必須終止所有子流程,以避免出現(xiàn)無法控制的狀態(tài)。步驟4:釋放進(jìn)程擁有的所有資源(返回到父進(jìn)程或系統(tǒng)),然后釋放進(jìn)程控制塊(如果狀態(tài)為“運(yùn)行”,則調(diào)度進(jìn)程)。步驟5:將終止的流程(PCB)從其隊(duì)列(或連接的列表)中移出,等待其他程序收集相關(guān)信息。進(jìn)程終止的具體原因-1,正常終止超時(shí)終止,結(jié)束時(shí)間超過預(yù)期時(shí)間內(nèi)存不足,無法分配進(jìn)程所需的內(nèi)存空間。使用邊界超時(shí)訪問嘗試中不允許的數(shù)據(jù),計(jì)算錯(cuò)誤(0除外),或等待存儲(chǔ)硬件發(fā)生允許的最大超時(shí)等待事件,進(jìn)程終止的特定原因-2,找不到文件,重試多次都無法讀取和寫入文件,或I/o失敗,如錯(cuò)誤的操作。試圖執(zhí)行不存在的命令的無效命令。嘗試執(zhí)行權(quán)限指令數(shù)據(jù)類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理健康應(yīng)急響應(yīng)工作計(jì)劃
- 湖北省襄陽(yáng)陽(yáng)光學(xué)校2024-2025學(xué)年八上數(shù)學(xué)期末統(tǒng)考試題含解析
- 文娛場(chǎng)所疫情防控工作計(jì)劃
- 2025屆安徽省六安市第一中學(xué)、合肥八中、阜陽(yáng)一中三校高二物理第二學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 銷售團(tuán)隊(duì)師徒結(jié)對(duì)徒弟計(jì)劃
- 小學(xué)數(shù)學(xué)六年級(jí)培優(yōu)補(bǔ)差班級(jí)管理計(jì)劃
- 蘇州大學(xué)自主招生經(jīng)歷陳述范文
- 校內(nèi)體育活動(dòng)組織領(lǐng)導(dǎo)小組職責(zé)
- 家庭教育指導(dǎo)教師青藍(lán)工程師傅計(jì)劃
- 職業(yè)教育改革發(fā)展心得體會(huì)
- 安保工作月度總結(jié)
- 開業(yè)美容項(xiàng)目活動(dòng)方案
- 2025年技術(shù)玻璃制品行業(yè)市場(chǎng)調(diào)研報(bào)告
- 2025至2030高純氯化鉀行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025年吉林省中考數(shù)學(xué)試卷真題(含答案詳解)
- 2025年中國(guó)自由鍛件行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測(cè)報(bào)告
- 黨課課件含講稿:以作風(fēng)建設(shè)新成效激發(fā)干事創(chuàng)業(yè)新作為
- 2025年度職業(yè)技能鑒定國(guó)家題庫(kù)維修電工高級(jí)技師復(fù)習(xí)題庫(kù)及答案(完整版)
- 調(diào)研報(bào)告:農(nóng)村糧食經(jīng)紀(jì)人現(xiàn)狀、存在問題及建議
- 鋼筋平行檢驗(yàn)記錄范本
- 2021-2022學(xué)年安徽省蚌埠市高一下學(xué)期期末數(shù)學(xué)試題【含答案】
評(píng)論
0/150
提交評(píng)論