




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1,2章流程管理第1部分流程的說明和控制,演示者:王斯峰,2,主要目錄,流程介紹2.1之前的圖表和程序執(zhí)行2.2流程的說明2.3流程控制2.4線程的基本概念2.5本章基本要點(diǎn)總結(jié)練習(xí)和參考回答2.6任務(wù),3,流程介紹,流程的概念是操作系統(tǒng)中最基本、最重要的概念。這是為了說明系統(tǒng)內(nèi)部各種操作的活動(dòng)規(guī)律而引入的新概念,以雕刻出多通道程序系統(tǒng)出現(xiàn)后系統(tǒng)內(nèi)部發(fā)生的情況。4、在多通道程序部署系統(tǒng)和分時(shí)系統(tǒng)中,程序不獨(dú)立運(yùn)行,作為資源分配和獨(dú)立運(yùn)行的基本單元是進(jìn)程。操作系統(tǒng)具有的四個(gè)主要特征也是基于過程形成的,從過程的角度研究操作系統(tǒng),可以說是所謂的過程觀點(diǎn)。運(yùn)行5,2.1之前的映射和程序(順序或并行)
2、,運(yùn)行2.1.1之前圖表的定義2.1.2程序順序:表示一些進(jìn)程按順序運(yùn)行。第一,程序順序執(zhí)行2、程序順序執(zhí)行功能2.1.3程序并發(fā)執(zhí)行1、程序并發(fā)執(zhí)行2.1.4程序并發(fā)執(zhí)行條件、6,2.1.1之前路徑圖的定義之前路徑圖(Procedence Graph)為directed acyclic graph。用于說明進(jìn)程之間執(zhí)行前后的關(guān)系。圖中的每個(gè)節(jié)點(diǎn)用于表示語句、程序段或進(jìn)程,節(jié)點(diǎn)之間的垂直邊用于表示兩個(gè)節(jié)點(diǎn)之間存在的“部分順序”(Partial Order)或“前向關(guān)系”(Procedence Relation),=(pi,pj)| pi must complete befoot如果(Pi,Pj
3、)屬于,則可以寫為pPj。換句話說,Pi是pj的前進(jìn)流,Pj是Pi的直接后續(xù)。沒有前面節(jié)點(diǎn)的節(jié)點(diǎn)稱為初始節(jié)點(diǎn),沒有后面節(jié)點(diǎn)的節(jié)點(diǎn)稱為結(jié)束節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都有重量,以該節(jié)點(diǎn)包含的進(jìn)程或節(jié)點(diǎn)的運(yùn)行時(shí)間來衡量。,7,以上圖標(biāo):p=P1,p2,P3,P4,P5,P6,p7=(P1,p2),(P1,),8,2.1.2運(yùn)行進(jìn)程順序,運(yùn)行進(jìn)程順序常規(guī)進(jìn)程的運(yùn)行必須按一定的順序全局執(zhí)行。這是程序內(nèi)部的順序,不同的程序也嚴(yán)格按調(diào)用順序執(zhí)行。這是程序外部的順序。9,一個(gè)程序段中的多個(gè)語句也有執(zhí)行順序。第二,在執(zhí)行程序順序時(shí),特征1,順序處理器操作嚴(yán)格按照程序中規(guī)定的順序執(zhí)行。也就是說,每個(gè)任務(wù)必須在下一個(gè)任務(wù)開始之
4、前結(jié)束。10,2,關(guān)閉程序壟斷了整個(gè)機(jī)器資源。因此,只有此過程才能更改本地資源的狀態(tài)(初始狀態(tài)除外)。一旦啟動(dòng),其運(yùn)行結(jié)果不受外部因素的影響。11,3,再現(xiàn)性程序的執(zhí)行結(jié)果與時(shí)間無關(guān),與執(zhí)行速度無關(guān)。2.1.3運(yùn)行程序并發(fā)1,在運(yùn)行程序并發(fā)之前的問題上,不能完全并發(fā)運(yùn)行程序,但是同一程序可以分為不同的程序段。不同方案段所需的資源不同。因此,可以在程序段級(jí)別并行運(yùn)行。13,2.1之前的貼圖和程序運(yùn)行,即兩個(gè)不同程序之間的不同程序段之間存在以前的關(guān)系。14,2.1之前的映射和程序執(zhí)行,第二,程序同時(shí)執(zhí)行時(shí)的特征1,間歇程序同時(shí)執(zhí)行時(shí)的共享資源或相互協(xié)作以完成同一任務(wù),從而在并發(fā)程序之間形成了相互制
5、約的關(guān)系。15,由于相互約束,并發(fā)程序具有間歇性活動(dòng)規(guī)律:執(zhí)行-暫停執(zhí)行-執(zhí)行。16,2,關(guān)閉程序并發(fā)運(yùn)行丟失時(shí),多個(gè)并發(fā)程序共享系統(tǒng)的各種資源,因此這些資源的狀態(tài)由多個(gè)程序更改,程序運(yùn)行將失去關(guān)閉性。這些程序在運(yùn)行時(shí)受其他程序的影響。17,3,再現(xiàn)性程序同時(shí)運(yùn)行時(shí),閉合性將丟失,其運(yùn)行結(jié)果的再現(xiàn)性將丟失。發(fā)生與時(shí)間相關(guān)的錯(cuò)誤。如果,18,N的值為N(1),則N:=n 1在print(N)和N:=0之前,N的值為N 1,N 1,0。(2)N:=N 1 print(N)和N:=0后N的值分別為N、0,1(3)N 3360=N 1,在print(N)和N:=0之間N由此可見,如果程序同時(shí)運(yùn)行,則沒
6、有關(guān)閉,計(jì)算結(jié)果與并發(fā)程序的運(yùn)行速度相關(guān),程序的再現(xiàn)性丟失。也就是說,多次運(yùn)行后,運(yùn)行環(huán)境和初始條件相同,但結(jié)果不相同,如上所述,20,2.1.4程序的并發(fā)運(yùn)行條件(通??梢岳斫?,程序并發(fā)運(yùn)行可以有效地提高資源利用率和系統(tǒng)吞吐量,但必須確保并發(fā)程序保持再現(xiàn)性。同時(shí)運(yùn)行程序的條件。定義R(pi)=a1,a2,am,表示程序pi在執(zhí)行過程中需要引用的所有變量的集合。稱為讀取集。W(pi)=b1、b2、bm是程序pi在執(zhí)行過程中要更改的所有變量的集合,稱為“寫入集”。21,如果有兩個(gè)門ci=a-b和wi=c 1,則讀寫集分別為R(c:=a-b)=a,b,r (w :=c 1)=c w (cR(c
7、:=a-b)=R(W :=a-b)=R(W :=c 1)AC W(W :=c 1)=,R(p1)相交W(p2)=W(p1)相交R(p2)=W(p1)相交W(p2)=,23。其中前兩個(gè)條件可確保兩個(gè)操作之間程序內(nèi)存中的數(shù)據(jù)不會(huì)更改。最后一個(gè)條件確保程序?qū)懖僮鞯慕Y(jié)果不會(huì)丟失。同時(shí)只要滿足三個(gè)條件,同時(shí)運(yùn)行的程序就可以保持閉合性和再現(xiàn)性。但并不是所有的問題都解決了。在實(shí)際程序執(zhí)行過程中,很難檢查這三個(gè)條件。例如:s 1: a :=x y s 2330 b :=z 1s : c :=a-b s 4: W :=c 1,24,r (S1)=x,y,r (S2)為什么?25,2.2流程的說明、2.2.1流程
8、的定義和特征1、流程的定義2、流程的特征2.2.2流程的默認(rèn)狀態(tài)1、流程的三個(gè)默認(rèn)狀態(tài)2、新狀態(tài)和結(jié)束狀態(tài)3、流程狀態(tài)的轉(zhuǎn)換2.2.3流程的暫停狀態(tài)1、引入暫停狀態(tài)2、流程狀態(tài)的轉(zhuǎn)換2.2.4流程控制塊PCB 1、流程控制其中包括進(jìn)程標(biāo)識(shí)符、進(jìn)程運(yùn)行的當(dāng)前狀態(tài)、程序和數(shù)據(jù)的地址,以及可以存儲(chǔ)程序運(yùn)行時(shí)CPU的環(huán)境信息。PCB或流程描述符process descriptor將流程實(shí)體組織為程序段、數(shù)據(jù)段和流程控制塊。27,2.2.1流程的定義和特征1,流程定義過程的概念是在20世紀(jì)60年代早期由MIT的Multics系統(tǒng)和IBM的CTSS/360系統(tǒng)引入的,其后還有其他定義。MIT稱為proce
9、ss,IBM稱為task,Univac稱為activityaction。反映流程本質(zhì)的定義如下:28、(1)進(jìn)程是程序在處理器上運(yùn)行的進(jìn)程。(2)過程是可以與其他計(jì)算同時(shí)執(zhí)行的計(jì)算。(3)流程可以定義為執(zhí)行數(shù)據(jù)結(jié)構(gòu)和操作的程序(4)流程。進(jìn)程是操作(5)進(jìn)程,當(dāng)程序及其數(shù)據(jù)按處理程序的順序執(zhí)行時(shí),它是系統(tǒng)分配和調(diào)度資源的單獨(dú)單元。在本教程中,將進(jìn)程定義為、進(jìn)程是在一個(gè)數(shù)據(jù)段中一次執(zhí)行的進(jìn)程。Sequential process(序列流程)、29、2、流程的特性(相對(duì)于程序)流程有五個(gè)與程序不同的基本特性。1、動(dòng)態(tài)力學(xué)是過程最基本的特性。動(dòng)態(tài)性在創(chuàng)建中生成,在調(diào)度中運(yùn)行,由于資源不可用而暫停執(zhí)行
10、,并因撤消而消亡。進(jìn)程具有特定的生命周期。程序只是有序命令集的集合,保存在特定介質(zhì)中,本身沒有運(yùn)動(dòng)的意義,因此程序是靜態(tài)實(shí)體。30,2,并發(fā)性是過程的重要特征,也是操作系統(tǒng)的重要特征。引入進(jìn)程的目的是使程序與其他進(jìn)程中的程序同時(shí)運(yùn)行。程序不能同時(shí)運(yùn)行。3、獨(dú)立進(jìn)程實(shí)體是可以獨(dú)立運(yùn)行的基本單位,獨(dú)立于系統(tǒng)獲取資源和獨(dú)立計(jì)劃的基本單位。未設(shè)置進(jìn)程的所有程序不能作為單獨(dú)的單元運(yùn)行。31,4,異步過程各以不可預(yù)測(cè)的獨(dú)立速度進(jìn)行?;蜻M(jìn)程異步運(yùn)行。異步。5、結(jié)構(gòu)化特征過程由稱為過程圖像的過程段、數(shù)據(jù)段和過程控制塊組成。32,3,過程和過程的關(guān)系(通常理解)過程和過程是兩個(gè)緊密相關(guān)的,但是是不同的概念,在以
11、下方面存在差異或聯(lián)系:(1)流程是計(jì)算機(jī)上程序及其數(shù)據(jù)的執(zhí)行活動(dòng),是動(dòng)態(tài)的概念。進(jìn)程的執(zhí)行實(shí)體是程序,離開程序的進(jìn)程沒有任何意義。從靜態(tài)角度來看,流程由程序、數(shù)據(jù)和流程控制塊組成,而程序是靜態(tài)概念的有序命令集合。即可從workspace頁面中移除物件。(2)過程是暫時(shí)的,過程是永久性的。進(jìn)程是程序可以保存很長時(shí)間的狀態(tài)更改進(jìn)程。(3)流程與包含程序、數(shù)據(jù)和流程控制塊的程序的配置不同。33,(4)過程與程序密切相關(guān)。多次運(yùn)行使一個(gè)程序可以響應(yīng)多個(gè)流程,并且通過調(diào)用關(guān)系,一個(gè)流程可以包含多個(gè)程序。進(jìn)程可以編寫其他進(jìn)程,但程序不會(huì)形成新程序。M: n的關(guān)系。34、一個(gè)進(jìn)程的生命周期可以分為描述整個(gè)進(jìn)
12、程的一組狀態(tài)。在流程執(zhí)行過程中,系統(tǒng)中多個(gè)流程的并發(fā)執(zhí)行和相互約束將繼續(xù)更改流程的狀態(tài)。通常,進(jìn)程至少可以分為三種基本狀態(tài)。35,2 . 2 . 2 . 2進(jìn)程的默認(rèn)狀態(tài): 3狀態(tài)模型1,進(jìn)程的三個(gè)默認(rèn)狀態(tài)1,準(zhǔn)備狀態(tài)進(jìn)程已分配給除CPU之外的所有必需資源,如果處理器重新可用,則這些進(jìn)程狀態(tài)稱為準(zhǔn)備狀態(tài)。多個(gè)進(jìn)程排列到一個(gè)或多個(gè)就緒隊(duì)列中。三種情況下的過程構(gòu)成了準(zhǔn)備隊(duì)列。新流程通常處于就緒狀態(tài)。36,2,運(yùn)行(運(yùn)行)狀態(tài)running在單處理器系統(tǒng)上只能運(yùn)行一個(gè)進(jìn)程,在多處理器系統(tǒng)上可以運(yùn)行多個(gè)進(jìn)程。又名運(yùn)行狀態(tài)。37,3、阻塞狀態(tài)或待機(jī)狀態(tài)休眠進(jìn)程因發(fā)生I/O請(qǐng)求或緩沖區(qū)空間請(qǐng)求等事件而暫停
13、執(zhí)行的狀態(tài)稱為待機(jī)或阻塞狀態(tài)(也稱為待機(jī)或睡眠狀態(tài))。處于阻塞狀態(tài)的多個(gè)進(jìn)程被排列到阻塞隊(duì)列中。在某些系統(tǒng)上,處于阻塞狀態(tài)的進(jìn)程會(huì)根據(jù)阻塞的原因置于多個(gè)隊(duì)列中。38,請(qǐng)注意,前兩個(gè)狀態(tài)在邏輯上類似,兩個(gè)狀態(tài)的進(jìn)程都可以運(yùn)行,但不會(huì)為第一個(gè)狀態(tài)臨時(shí)分配CPU。第三種狀態(tài)無法運(yùn)行,即使CPU空閑,也無法運(yùn)行。39、中斷發(fā)生后操作系統(tǒng)的最低任務(wù)階段、硬件壓痕堆棧程序計(jì)數(shù)器、PSW等硬件在中斷向量(內(nèi)存低地址)下設(shè)置新程序計(jì)數(shù)器匯編語言進(jìn)程存儲(chǔ)寄存器值匯編語言進(jìn)程設(shè)置新堆棧c中斷服務(wù)實(shí)例執(zhí)行(正常讀取和緩沖輸入)調(diào)度程序?qū)⑾乱贿M(jìn)程c進(jìn)程返回到匯編代碼匯編語言進(jìn)程開始執(zhí)行新的當(dāng)前進(jìn)程、40、系統(tǒng)中每個(gè)進(jìn)
14、程可能具有的狀態(tài)和如圖所示,42 .準(zhǔn)備狀態(tài)可以更改為運(yùn)行狀態(tài)。準(zhǔn)備過程釋放處理器資源(分配處理器時(shí)間片)可能會(huì)阻止執(zhí)行狀態(tài)。也就是說,可以請(qǐng)求資源的使用和分配,或等待事件發(fā)生。這將發(fā)生進(jìn)程上下文的切換。(用戶級(jí)上下文、寄存器上下文和系統(tǒng)級(jí)上下文)阻塞狀態(tài)可以變更為就緒狀態(tài)。發(fā)生等待事件時(shí),中斷處理程序會(huì)將進(jìn)程從阻塞轉(zhuǎn)換為就緒。您可以將運(yùn)行狀態(tài)更改為就緒狀態(tài)(時(shí)間片已用完或搶占)。43,內(nèi)核實(shí)現(xiàn)的進(jìn)程切換,意味著當(dāng)前運(yùn)行的進(jìn)程轉(zhuǎn)換到另一狀態(tài),然后返回運(yùn)行狀態(tài)。在此過程中,流程的執(zhí)行環(huán)境發(fā)生了實(shí)質(zhì)性的變化。轉(zhuǎn)換過程:1)存儲(chǔ)處理器上下文,包括程序計(jì)數(shù)器和其他寄存器。2)更新流程控制塊信息。3)將
15、流程的流程控制塊移動(dòng)到相應(yīng)的隊(duì)列,例如準(zhǔn)備、在特定時(shí)間阻止等。4)選擇其他流程運(yùn)行,然后更新相應(yīng)的流程控制塊。5)更新內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)6)恢復(fù)處理器上下文。44、2、新狀態(tài)和終止?fàn)顟B(tài): 5狀態(tài)模型某些系統(tǒng)中添加了兩種狀態(tài)。1、“new status(新建狀態(tài))”(創(chuàng)建狀態(tài))如果流程正在創(chuàng)建,但尚未運(yùn)行,并且尚未移至準(zhǔn)備隊(duì)列,則該流程處于創(chuàng)建狀態(tài)。在Unix系統(tǒng)上,如果fork()和exec() 2,exec()2,terminated(關(guān)閉狀態(tài))進(jìn)程正常終止或異常終止,從而釋放了進(jìn)程控制塊以外的其他資源,則OS會(huì)將該資源從準(zhǔn)備隊(duì)列中移出,但如果尚未撤消,則該進(jìn)程將處于關(guān)閉狀態(tài)。45,引入新狀態(tài)的原因是OS在設(shè)置過程時(shí)分兩個(gè)階段進(jìn)行。第一步是為新登錄的用戶程序(分時(shí)系統(tǒng))創(chuàng)建進(jìn)程并為其分配資源。過程將進(jìn)入新狀態(tài)。在第二個(gè)步驟中,將新創(chuàng)建的流程發(fā)送到準(zhǔn)備隊(duì)列,將新狀態(tài)轉(zhuǎn)換為準(zhǔn)備狀態(tài)。完成的過程有兩個(gè)步驟,即關(guān)閉系統(tǒng)。第一步是在準(zhǔn)備隊(duì)列中移動(dòng)進(jìn)程,使其成為無法重新運(yùn)行的進(jìn)程,該進(jìn)程處于關(guān)閉狀態(tài),系統(tǒng)會(huì)暫時(shí)將其保留在系統(tǒng)中,以便其他進(jìn)程收集有關(guān)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)劃
- 文娛場(chǎng)所疫情防控工作計(jì)劃
- 銷售團(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ì)
- 教育機(jī)構(gòu)財(cái)務(wù)管理制度及報(bào)銷流程
- 鄂教版小學(xué)科學(xué)一年級(jí)上冊(cè)興趣培養(yǎng)計(jì)劃
- 安保工作月度總結(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年中國自由鍛件行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測(cè)報(bào)告
- 黨課課件含講稿:以作風(fēng)建設(shè)新成效激發(fā)干事創(chuàng)業(yè)新作為
- 2025年度職業(yè)技能鑒定國家題庫維修電工高級(jí)技師復(fù)習(xí)題庫及答案(完整版)
- 調(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)論