




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-4-71操作系統(tǒng)操作系統(tǒng)2022-4-72內(nèi)容概述內(nèi)容概述2.1 2.1 進(jìn)程的基本概念進(jìn)程的基本概念 2.2 2.2 進(jìn)程控制進(jìn)程控制 2.3 2.3 進(jìn)程同步進(jìn)程同步 2.4 2.4 經(jīng)典進(jìn)程的同步問(wèn)題經(jīng)典進(jìn)程的同步問(wèn)題 2.5 2.5 管程機(jī)制管程機(jī)制 2.6 2.6 進(jìn)程通信進(jìn)程通信 2.7 2.7 線程線程 進(jìn)程管理的進(jìn)程管理的主要功能主要功能是把處理機(jī)分配給進(jìn)程是把處理機(jī)分配給進(jìn)程,并對(duì)處理器運(yùn)并對(duì)處理器運(yùn)行進(jìn)行有效地控制和管理行進(jìn)行有效地控制和管理,以及協(xié)調(diào)各個(gè)進(jìn)程之間的相互關(guān)系。以及協(xié)調(diào)各個(gè)進(jìn)程之間的相互關(guān)系。2022-4-732.1.1 2.1.1 程序的順序執(zhí)行及
2、其特征程序的順序執(zhí)行及其特征2.1.2 2.1.2 前趨圖前趨圖2.1.3 2.1.3 程序的并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行及其特征2.1.4 2.1.4 進(jìn)程的特征與狀態(tài)進(jìn)程的特征與狀態(tài)2.1.5 2.1.5 進(jìn)程控制塊進(jìn)程控制塊2022-4-742.1.2 2.1.2 前趨圖前趨圖(Precedence Graph) (Precedence Graph) 前趨圖前趨圖是一個(gè)有向是一個(gè)有向無(wú)循環(huán)無(wú)循環(huán)圖圖,記為記為DAG(Directed Acyclic Graph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。圖中的每個(gè)。圖中的每個(gè)結(jié)點(diǎn)結(jié)點(diǎn)可用于描可用于描述一個(gè)述一個(gè)程序
3、段程序段或或進(jìn)程進(jìn)程,乃至乃至一條語(yǔ)句一條語(yǔ)句;結(jié)點(diǎn)間的結(jié)點(diǎn)間的有向邊有向邊則用于表示則用于表示兩個(gè)結(jié)點(diǎn)之間存在的兩個(gè)結(jié)點(diǎn)之間存在的偏序偏序(Partial Order)或或前趨關(guān)系前趨關(guān)系(Precedence Relation)“”。 =(Pi, Pj)|Pi must complete before Pj may start, 如果如果(Pi, Pj),可寫(xiě)成可寫(xiě)成PiPj,稱稱Pi是是Pj的直接前趨的直接前趨,而稱而稱Pj是是Pi的直接后的直接后繼。在前趨圖中繼。在前趨圖中,把沒(méi)有前趨的結(jié)點(diǎn)稱為把沒(méi)有前趨的結(jié)點(diǎn)稱為初始結(jié)點(diǎn)初始結(jié)點(diǎn)(Initial Node),把沒(méi)有后繼的結(jié)點(diǎn)稱為把沒(méi)有
4、后繼的結(jié)點(diǎn)稱為終止結(jié)點(diǎn)終止結(jié)點(diǎn)(Final Node)。2022-4-75 每個(gè)結(jié)點(diǎn)還具有一個(gè)每個(gè)結(jié)點(diǎn)還具有一個(gè)重量重量(Weight),用于表示該結(jié)點(diǎn)所用于表示該結(jié)點(diǎn)所含有的含有的程序量程序量或結(jié)點(diǎn)的或結(jié)點(diǎn)的執(zhí)行時(shí)間執(zhí)行時(shí)間。 圖圖2-2 2-2 前趨圖前趨圖 2022-4-76對(duì)于圖對(duì)于圖 2-2(a)所示的前趨圖所示的前趨圖,存在下述前趨關(guān)系存在下述前趨關(guān)系P1P2, P1P3, P1P4, P2P5, P3P5, P4P6, P4P7, P5P8, P6P8, P7P9, P8P9或表示為或表示為: P=P1, P2, P3, P4, P5, P6, P7, P8, P9=(P1, P
5、2),(P1, P3),(P1, P4),(P2, P5),(P3, P5),(P4, P6),(P4, P7),(P5, P8),(P6, P8),(P7, P9),(P8, P9) 應(yīng)當(dāng)注意應(yīng)當(dāng)注意,前趨圖中必須前趨圖中必須不存在不存在循環(huán)循環(huán),但在圖但在圖2-2(b)中卻有著下中卻有著下述的前趨關(guān)系述的前趨關(guān)系: S2S3, S3S2 2022-4-772.1.1 2.1.1 程序的順序執(zhí)行及其特征程序的順序執(zhí)行及其特征2.1.2 2.1.2 前趨圖前趨圖2.1.3 2.1.3 程序的并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行及其特征2.1.4 2.1.4 進(jìn)程的特征與狀態(tài)進(jìn)程的特征與狀態(tài)2.1.5
6、 2.1.5 進(jìn)程控制塊進(jìn)程控制塊2022-4-78程序的執(zhí)行有兩種方式程序的執(zhí)行有兩種方式:順序執(zhí)行順序執(zhí)行和和并發(fā)執(zhí)行并發(fā)執(zhí)行。順序執(zhí)行順序執(zhí)行是是單道單道批處理系統(tǒng)的執(zhí)行方式批處理系統(tǒng)的執(zhí)行方式,也用于也用于簡(jiǎn)單的單簡(jiǎn)單的單片機(jī)片機(jī)系統(tǒng)系統(tǒng);現(xiàn)在的操作系統(tǒng)多為現(xiàn)在的操作系統(tǒng)多為并發(fā)執(zhí)行并發(fā)執(zhí)行,具有許多新的特征。引入具有許多新的特征。引入并發(fā)執(zhí)行的目的是為了提高并發(fā)執(zhí)行的目的是為了提高資源利用率。資源利用率。2022-4-79圖圖2-1 2-1 程序的順序執(zhí)行程序的順序執(zhí)行 1.程序的順序執(zhí)行程序的順序執(zhí)行 這是最自然、也是最初的設(shè)計(jì)。這是最自然、也是最初的設(shè)計(jì)。僅當(dāng)前一操作僅當(dāng)前一操作
7、(程序段程序段)執(zhí)行完后執(zhí)行完后,才能執(zhí)行后繼操作。才能執(zhí)行后繼操作。例如例如,在進(jìn)行計(jì)算時(shí)在進(jìn)行計(jì)算時(shí),總須先輸總須先輸入用戶的程序和數(shù)據(jù)入用戶的程序和數(shù)據(jù),然后進(jìn)行計(jì)算然后進(jìn)行計(jì)算,最后才能打印計(jì)算結(jié)果。最后才能打印計(jì)算結(jié)果。 S1: a:=x+y; S2: b:=a-5; S3: c:=b+1;2.1.1 2.1.1 程序的順序執(zhí)行及其特征程序的順序執(zhí)行及其特征2022-4-7102.2.程序順序執(zhí)行時(shí)的特征程序順序執(zhí)行時(shí)的特征(1)(1)順序性順序性: :處理機(jī)的操作嚴(yán)格按照程序所規(guī)定的順序執(zhí)處理機(jī)的操作嚴(yán)格按照程序所規(guī)定的順序執(zhí)行行, ,只有當(dāng)上一個(gè)操作完成后只有當(dāng)上一個(gè)操作完成后,
8、 ,下一個(gè)操作才能執(zhí)行。下一個(gè)操作才能執(zhí)行。(2)(2)封閉性封閉性: :程序運(yùn)行在一個(gè)封閉的環(huán)境中程序運(yùn)行在一個(gè)封閉的環(huán)境中, ,即程序運(yùn)行時(shí)即程序運(yùn)行時(shí)獨(dú)占系統(tǒng)的全部資源獨(dú)占系統(tǒng)的全部資源, ,這些資源的狀態(tài)只能因程序的執(zhí)行這些資源的狀態(tài)只能因程序的執(zhí)行而改變而改變, ,不受任何外界因素的影響。不受任何外界因素的影響。(3)(3)可再現(xiàn)性可再現(xiàn)性: :由于程序順序執(zhí)行的封閉性由于程序順序執(zhí)行的封閉性, ,只要程序順序只要程序順序執(zhí)行的執(zhí)行的初始條件和環(huán)境相同初始條件和環(huán)境相同, ,則不論何時(shí)執(zhí)行則不論何時(shí)執(zhí)行, ,也不論程也不論程序執(zhí)行期間是否存在停頓序執(zhí)行期間是否存在停頓, ,程序所得的
9、程序所得的結(jié)果結(jié)果也也相同相同。結(jié)論結(jié)論: :正由于程序順序執(zhí)行的特點(diǎn)正由于程序順序執(zhí)行的特點(diǎn), ,程序員可以檢測(cè)和重程序員可以檢測(cè)和重現(xiàn)程序的錯(cuò)誤現(xiàn)程序的錯(cuò)誤, ,可以調(diào)試和校正程序??梢哉{(diào)試和校正程序。2022-4-7112.1.1 2.1.1 程序的順序執(zhí)行及其特征程序的順序執(zhí)行及其特征2.1.2 2.1.2 前趨圖前趨圖2.1.3 2.1.3 程序的并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行及其特征2.1.4 2.1.4 進(jìn)程的特征與狀態(tài)進(jìn)程的特征與狀態(tài)2.1.5 2.1.5 進(jìn)程控制塊進(jìn)程控制塊2022-4-7122.1.3 2.1.3 程序的并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行及其特征 1.1.程序
10、的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行 圖圖2-3 2-3 并發(fā)執(zhí)行時(shí)的前趨圖并發(fā)執(zhí)行時(shí)的前趨圖 2022-4-713在該例中存在下述前趨關(guān)系在該例中存在下述前趨關(guān)系: IiCi,IiIi+1, CiPi, CiCi+1,PiPi+1而而Ii+1和和Ci及及Pi-1是重迭的是重迭的,亦即在亦即在Pi-1和和Ci以及以及Ii+1之間之間,可以并可以并發(fā)執(zhí)行。對(duì)于具有下述四條語(yǔ)句的程序段發(fā)執(zhí)行。對(duì)于具有下述四條語(yǔ)句的程序段: S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+6 圖圖2-4 2-4 四條語(yǔ)句的前趨關(guān)系四條語(yǔ)句的前趨關(guān)系S1S2S3S42022-4-7142.2.
11、程序并發(fā)執(zhí)行時(shí)的特征程序并發(fā)執(zhí)行時(shí)的特征 (1)(1)間斷性間斷性 走走停停走走停停,一個(gè)程序可能走到中途停下來(lái)一個(gè)程序可能走到中途停下來(lái), ,失去失去原有的時(shí)序關(guān)系原有的時(shí)序關(guān)系; ;(2)(2)失去封閉性失去封閉性 程序并發(fā)執(zhí)行時(shí)程序并發(fā)執(zhí)行時(shí),系統(tǒng)中多道程序系統(tǒng)中多道程序共享共享資源資源,資源的資源的狀態(tài)不是唯一地取決于某一個(gè)程序狀態(tài)不是唯一地取決于某一個(gè)程序,因此因此,必然失去了程必然失去了程序的封閉性序的封閉性,而程序的執(zhí)行結(jié)果因依賴于外部環(huán)境也失而程序的執(zhí)行結(jié)果因依賴于外部環(huán)境也失去了可再現(xiàn)性。去了可再現(xiàn)性。(3)(3)不可再現(xiàn)性不可再現(xiàn)性 失去封閉性失去封閉性 失去可再現(xiàn)性失去可
12、再現(xiàn)性; ;外界環(huán)境在程序的外界環(huán)境在程序的兩次執(zhí)行期間發(fā)生變化兩次執(zhí)行期間發(fā)生變化, ,失去原有的可重復(fù)特征。失去原有的可重復(fù)特征。2022-4-715例如例如, ,有兩個(gè)程序有兩個(gè)程序A A和和B,B,它們共享一個(gè)變量它們共享一個(gè)變量N(N(初始值為初始值為x)x)。 A:A:N:=N+1N:=N+1 B: B:Print(N);Print(N);N:=0; N:=0; 程序程序A A和和B B并發(fā)執(zhí)行并發(fā)執(zhí)行, ,以不可預(yù)知的速度運(yùn)行以不可預(yù)知的速度運(yùn)行, ,可出現(xiàn)以可出現(xiàn)以下下三種三種情況情況: : (1)N:=N+1 (1)N:=N+1在在Print(N)Print(N)和和N:=0
13、N:=0之之前前, ,此時(shí)得到的此時(shí)得到的N N值分別為值分別為x+1, x+1, 0 x+1, x+1, 0。 (2)N:=N+1(2)N:=N+1在在Print(N)Print(N)和和N:=0N:=0之之后后, ,此時(shí)得到的此時(shí)得到的N N值分別為值分別為x, 0, 1x, 0, 1。 (3)N:=N+1(3)N:=N+1在在Print(N)Print(N)和和N:=0N:=0之之間間, ,此時(shí)得到的此時(shí)得到的N N值分別為值分別為x, x+1, 0 x, x+1, 0。 2022-4-716補(bǔ)充補(bǔ)充: :并發(fā)執(zhí)行失去封閉性的原因是共享資源的影響并發(fā)執(zhí)行失去封閉性的原因是共享資源的影響,
14、 ,去掉這去掉這種影響就行了。種影響就行了。19661966年年, ,由由BernsteinBernstein( (波恩斯坦波恩斯坦) )給出給出并發(fā)并發(fā)執(zhí)行的條件執(zhí)行的條件。若兩個(gè)程序。若兩個(gè)程序P P1 1和和P P2 2滿足下述條件滿足下述條件, ,便能并發(fā)便能并發(fā)執(zhí)行且有執(zhí)行且有可再現(xiàn)性可再現(xiàn)性: :(R(P(R(P1 1) ) W(PW(P2 2) ( (R(PR(P2 2) ) W(PW(P1 1) ) ) ( (W(PW(P1 1) ) W(PW(P2 2)=)=解釋解釋: :運(yùn)算的運(yùn)算的讀集讀集R(PR(Pi i) )是指在運(yùn)算執(zhí)行期間參考的所有變量是指在運(yùn)算執(zhí)行期間參考的所有
15、變量的集合的集合; ;運(yùn)算的運(yùn)算的寫(xiě)集寫(xiě)集W(PW(Pi i) )是指在運(yùn)算執(zhí)行期間要改變的所有變是指在運(yùn)算執(zhí)行期間要改變的所有變量的集合。量的集合。存在的存在的問(wèn)題問(wèn)題是這個(gè)條件不好檢查是這個(gè)條件不好檢查2022-4-717S S1 1: a:=x+y: a:=x+yR(SR(S1 1)=x,y)=x,yW(SW(S1 1)=a)=aS S2 2: b:=z+1: b:=z+1R(SR(S2 2)=z)=zW(SW(S2 2)=b)=bS S3 3: c:=a-b: c:=a-bR(SR(S3 3)=a,b)=a,bW(SW(S3 3)=c)=cS S4 4: d:=c+1: d:=c+1R
16、(SR(S4 4)=c)=cW(SW(S4 4)=d)=d可見(jiàn)可見(jiàn): :語(yǔ)句語(yǔ)句S S1 1和和S S2 2可以并發(fā)執(zhí)行嗎?可以并發(fā)執(zhí)行嗎?語(yǔ)句語(yǔ)句S S1 1和和S S3 3可以并發(fā)執(zhí)行嗎?可以并發(fā)執(zhí)行嗎?語(yǔ)句語(yǔ)句S S2 2和和S S3 3可以并發(fā)執(zhí)行嗎?可以并發(fā)執(zhí)行嗎?語(yǔ)句語(yǔ)句S S3 3和和S S4 4可以并發(fā)執(zhí)行嗎?可以并發(fā)執(zhí)行嗎?語(yǔ)句語(yǔ)句S S2 2和和S S4 4可以并發(fā)執(zhí)行嗎?可以并發(fā)執(zhí)行嗎?(R(S1) W(S2) (R(S2) W(S1) (W(S1) W(S2)=可以可以不可以不可以,因?yàn)橐驗(yàn)? R(S3) W(S1)=a 不可以不可以,因?yàn)橐驗(yàn)? R(S3) W(S2)
17、=b 不可以不可以,因?yàn)橐驗(yàn)? R(S4) W(S3)=c 可以可以2022-4-7182.1.1 2.1.1 程序的順序執(zhí)行及其特征程序的順序執(zhí)行及其特征2.1.2 2.1.2 前趨圖前趨圖2.1.3 2.1.3 程序的并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行及其特征2.1.4 2.1.4 進(jìn)程的特征與狀態(tài)進(jìn)程的特征與狀態(tài)2.1.5 2.1.5 進(jìn)程控制塊進(jìn)程控制塊2022-4-719進(jìn)程實(shí)體由三部分構(gòu)成進(jìn)程實(shí)體由三部分構(gòu)成: :(1)(1)程序程序( (段段) ): :進(jìn)程要進(jìn)行的操作。進(jìn)程要進(jìn)行的操作。(2)(2)數(shù)據(jù)段數(shù)據(jù)段: :包括操作的數(shù)據(jù)和程序自己的變量。包括操作的數(shù)據(jù)和程序自己的變量。(
18、3)(3)進(jìn)程控制塊進(jìn)程控制塊PCB(Process Control Block)PCB(Process Control Block): :存放進(jìn)程標(biāo)識(shí)存放進(jìn)程標(biāo)識(shí)符、進(jìn)程運(yùn)行的當(dāng)前狀態(tài)、程序和數(shù)據(jù)的地址、程序運(yùn)行符、進(jìn)程運(yùn)行的當(dāng)前狀態(tài)、程序和數(shù)據(jù)的地址、程序運(yùn)行時(shí)的時(shí)的CPUCPU環(huán)境等。環(huán)境等。2022-4-7202.1.4 2.1.4 進(jìn)程的特征與狀態(tài)進(jìn)程的特征與狀態(tài) 1.1.進(jìn)程的特征和定義進(jìn)程的特征和定義 動(dòng)態(tài)性動(dòng)態(tài)性: :進(jìn)程是一個(gè)動(dòng)態(tài)的概念進(jìn)程是一個(gè)動(dòng)態(tài)的概念, ,實(shí)質(zhì)上是程序的一次實(shí)質(zhì)上是程序的一次執(zhí)行過(guò)程。進(jìn)程具有生命期執(zhí)行過(guò)程。進(jìn)程具有生命期: :它因它因“創(chuàng)建創(chuàng)建”而產(chǎn)生
19、而產(chǎn)生, ,因因“調(diào)度調(diào)度”而執(zhí)行而執(zhí)行, ,執(zhí)行時(shí)還走走停停執(zhí)行時(shí)還走走停停, ,因因“撤消撤消”而滅而滅亡。亡。 并發(fā)性并發(fā)性: :多個(gè)進(jìn)程實(shí)體同存于內(nèi)存中多個(gè)進(jìn)程實(shí)體同存于內(nèi)存中, ,且能在一段時(shí)間且能在一段時(shí)間內(nèi)同時(shí)運(yùn)行內(nèi)同時(shí)運(yùn)行, ,共享系統(tǒng)資源共享系統(tǒng)資源; ;引入進(jìn)程實(shí)體的目的就是引入進(jìn)程實(shí)體的目的就是并發(fā)執(zhí)行并發(fā)執(zhí)行; ; 獨(dú)立性獨(dú)立性: :進(jìn)程是一個(gè)能進(jìn)程是一個(gè)能獨(dú)立運(yùn)行獨(dú)立運(yùn)行的基本單位的基本單位, ,也是系統(tǒng)也是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位進(jìn)行資源分配和調(diào)度的基本單位; ; 異步性異步性: :各進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前各進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前
20、推進(jìn)推進(jìn); ; 結(jié)構(gòu)特征結(jié)構(gòu)特征: :程序段程序段、數(shù)據(jù)段數(shù)據(jù)段和和PCBPCB; ;程序文件中通常也程序文件中通常也劃分了代碼段和數(shù)據(jù)段劃分了代碼段和數(shù)據(jù)段, ,進(jìn)程的創(chuàng)建與撤消就是進(jìn)程的創(chuàng)建與撤消就是PCBPCB的的創(chuàng)建與撤消。創(chuàng)建與撤消。2022-4-721較典型的較典型的進(jìn)程定義進(jìn)程定義有有: :(1)(1)進(jìn)程是程序的一次執(zhí)行。進(jìn)程是程序的一次執(zhí)行。(2)(2)進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。生的活動(dòng)。(3)(3)進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過(guò)程進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過(guò)程, ,它是系統(tǒng)進(jìn)它是系統(tǒng)進(jìn)行資
21、源分配和調(diào)度的一個(gè)獨(dú)立單位。行資源分配和調(diào)度的一個(gè)獨(dú)立單位。 在引入了進(jìn)程實(shí)體的概念后在引入了進(jìn)程實(shí)體的概念后, ,我們可以把傳統(tǒng)我們可以把傳統(tǒng)OSOS中的中的進(jìn)程定義為進(jìn)程定義為: :“進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過(guò)程進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過(guò)程, ,是系統(tǒng)進(jìn)行資是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位源分配和調(diào)度的一個(gè)獨(dú)立單位”。 2022-4-722進(jìn)程是動(dòng)態(tài)的進(jìn)程是動(dòng)態(tài)的, ,程序是靜態(tài)的程序是靜態(tài)的: :程序是有序代碼的集合程序是有序代碼的集合, ,它可它可以復(fù)制以復(fù)制; ;進(jìn)程是程序在數(shù)據(jù)集上的一次執(zhí)行。進(jìn)程是程序在數(shù)據(jù)集上的一次執(zhí)行。進(jìn)程是暫時(shí)的進(jìn)程是暫時(shí)的, ,程序是永久的程序是永久的: :
22、進(jìn)程是一個(gè)狀態(tài)變化的過(guò)程進(jìn)程是一個(gè)狀態(tài)變化的過(guò)程, ,有它的撤銷有它的撤銷, ,程序可長(zhǎng)久保存。程序可長(zhǎng)久保存。進(jìn)程具有結(jié)構(gòu)特征進(jìn)程具有結(jié)構(gòu)特征, ,由程序段、數(shù)據(jù)段和進(jìn)程控制塊三者組由程序段、數(shù)據(jù)段和進(jìn)程控制塊三者組成成, ,而程序僅是指令的有序集合而程序僅是指令的有序集合, ,是進(jìn)程的組成部分之一。是進(jìn)程的組成部分之一。進(jìn)程與程序的對(duì)應(yīng)關(guān)系進(jìn)程與程序的對(duì)應(yīng)關(guān)系: :通過(guò)多次執(zhí)行通過(guò)多次執(zhí)行, ,一個(gè)程序可對(duì)應(yīng)多一個(gè)程序可對(duì)應(yīng)多個(gè)進(jìn)程個(gè)進(jìn)程; ;2022-4-7232.2.進(jìn)程的三種基本狀態(tài)進(jìn)程的三種基本狀態(tài) (1)(1)就緒就緒(Ready)(Ready)狀態(tài)狀態(tài) 進(jìn)程已獲得除進(jìn)程已獲得除
23、處理機(jī)處理機(jī)外的所需資源外的所需資源, ,等待分配處理機(jī)資源等待分配處理機(jī)資源; ;只要分配只要分配CPUCPU就可執(zhí)行。就可執(zhí)行。一個(gè)系統(tǒng)中多個(gè)處于就緒狀態(tài)的進(jìn)程排成一個(gè)系統(tǒng)中多個(gè)處于就緒狀態(tài)的進(jìn)程排成就緒隊(duì)列。就緒隊(duì)列。(2)(2)執(zhí)行執(zhí)行(Running)(Running)狀態(tài)狀態(tài)處于就緒狀態(tài)的進(jìn)程一旦獲得了處于就緒狀態(tài)的進(jìn)程一旦獲得了處理機(jī)處理機(jī), ,就可以運(yùn)行就可以運(yùn)行, ,進(jìn)程進(jìn)程狀態(tài)也就處于執(zhí)行狀態(tài)。狀態(tài)也就處于執(zhí)行狀態(tài)。處于此狀態(tài)的進(jìn)程的數(shù)目處于此狀態(tài)的進(jìn)程的數(shù)目小于等于小于等于CPUCPU的數(shù)目。的數(shù)目。(3)(3)阻塞阻塞(Blocked)(Blocked)狀態(tài)狀態(tài)( (“
24、等待等待”或或“睡眠睡眠”) ) 由于進(jìn)程等待某種事件由于進(jìn)程等待某種事件( (如如I/OI/O操作或進(jìn)程同步操作或進(jìn)程同步),),在事件發(fā)在事件發(fā)生之前無(wú)法繼續(xù)執(zhí)行。該事件發(fā)生前即使把處理機(jī)分配給生之前無(wú)法繼續(xù)執(zhí)行。該事件發(fā)生前即使把處理機(jī)分配給該進(jìn)程該進(jìn)程, ,也無(wú)法運(yùn)行。如也無(wú)法運(yùn)行。如: :請(qǐng)求請(qǐng)求I/OI/O操作操作, ,申請(qǐng)緩沖空間等申請(qǐng)緩沖空間等通常阻塞進(jìn)程也排成通常阻塞進(jìn)程也排成若干隊(duì)列若干隊(duì)列。2022-4-724圖圖2-5 2-5 進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換 進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換1.1.時(shí)間片用光時(shí)間片用光2.2.有
25、優(yōu)先級(jí)高的進(jìn)程到來(lái)有優(yōu)先級(jí)高的進(jìn)程到來(lái)2022-4-725新新( (創(chuàng)建創(chuàng)建) )狀態(tài)狀態(tài) 當(dāng)一個(gè)新進(jìn)程剛剛建立當(dāng)一個(gè)新進(jìn)程剛剛建立, ,還還未未將其放入就緒隊(duì)將其放入就緒隊(duì)列時(shí)的狀態(tài)列時(shí)的狀態(tài), ,稱為新?tīng)顟B(tài)。稱為新?tīng)顟B(tài)。 終止?fàn)顟B(tài)終止?fàn)顟B(tài) 當(dāng)一個(gè)進(jìn)程已經(jīng)當(dāng)一個(gè)進(jìn)程已經(jīng)正常結(jié)束正常結(jié)束或或異常結(jié)束異常結(jié)束, ,操作系操作系統(tǒng)已將其從系統(tǒng)隊(duì)列中移出統(tǒng)已將其從系統(tǒng)隊(duì)列中移出, ,但但尚未撤消尚未撤消, ,這時(shí)稱為這時(shí)稱為終止?fàn)顟B(tài)。終止?fàn)顟B(tài)。 2022-4-726圖圖2-52-5 進(jìn)程的五種基本狀態(tài)及其轉(zhuǎn)換進(jìn)程的五種基本狀態(tài)及其轉(zhuǎn)換 進(jìn)程的五種基本狀態(tài)及其轉(zhuǎn)換進(jìn)程的五種基本狀態(tài)及其轉(zhuǎn)換2022-4
26、-7271.1.引入掛起狀態(tài)的原因引入掛起狀態(tài)的原因 (1)(1)終端用戶的請(qǐng)求終端用戶的請(qǐng)求當(dāng)終端用戶在自己的程序運(yùn)行期間發(fā)現(xiàn)有當(dāng)終端用戶在自己的程序運(yùn)行期間發(fā)現(xiàn)有可疑問(wèn)可疑問(wèn)題題時(shí)時(shí), ,希望暫時(shí)將自己的程序靜止下來(lái)。希望暫時(shí)將自己的程序靜止下來(lái)。(2)(2)父進(jìn)程請(qǐng)求父進(jìn)程請(qǐng)求父進(jìn)程需要考查和修改子進(jìn)程。父進(jìn)程需要考查和修改子進(jìn)程。(3)(3)操作系統(tǒng)的需要操作系統(tǒng)的需要如檢查運(yùn)行中的資源使用情況。如檢查運(yùn)行中的資源使用情況。(4)(4)對(duì)換的需要對(duì)換的需要緩和內(nèi)存緊張緩和內(nèi)存緊張, ,將將阻塞進(jìn)程阻塞進(jìn)程換到外存上換到外存上, ,有別于阻有別于阻塞狀態(tài)。塞狀態(tài)。(5)(5)負(fù)荷調(diào)節(jié)的需
27、要負(fù)荷調(diào)節(jié)的需要在在實(shí)時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng)中為了調(diào)整工作負(fù)荷可將不重要的進(jìn)中為了調(diào)整工作負(fù)荷可將不重要的進(jìn)程掛起。程掛起。3.3.掛起狀態(tài)掛起狀態(tài)2022-4-728圖圖2-6 2-6 具有掛起狀態(tài)的進(jìn)程狀態(tài)圖具有掛起狀態(tài)的進(jìn)程狀態(tài)圖 活動(dòng)就緒靜止就緒執(zhí)行掛起激活釋放掛起活動(dòng)阻塞靜止阻塞掛起激活釋放請(qǐng)求I/O2.2.進(jìn)程狀態(tài)的轉(zhuǎn)換進(jìn)程狀態(tài)的轉(zhuǎn)換 2022-4-7292.1.1 2.1.1 程序的順序執(zhí)行及其特征程序的順序執(zhí)行及其特征2.1.2 2.1.2 前趨圖前趨圖2.1.3 2.1.3 程序的并發(fā)執(zhí)行及其特征程序的并發(fā)執(zhí)行及其特征2.1.4 2.1.4 進(jìn)程的特征與狀態(tài)進(jìn)程的特征與狀態(tài)2.1.5
28、 2.1.5 進(jìn)程控制塊進(jìn)程控制塊2022-4-7302.1.5 2.1.5 進(jìn)程控制塊進(jìn)程控制塊 1.1.進(jìn)程控制塊的作用進(jìn)程控制塊的作用 進(jìn)程控制塊的進(jìn)程控制塊的作用作用是使一個(gè)在多道程序環(huán)境下不能是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序獨(dú)立運(yùn)行的程序( (含數(shù)據(jù)含數(shù)據(jù)),),成為一個(gè)能獨(dú)立運(yùn)行的基本單成為一個(gè)能獨(dú)立運(yùn)行的基本單位位, ,一個(gè)能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程。或者說(shuō)一個(gè)能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程。或者說(shuō),OS,OS是根是根據(jù)據(jù)PCBPCB來(lái)對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。來(lái)對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。 記錄了操作系統(tǒng)所需的記錄了操作系統(tǒng)所需的, ,用于描述進(jìn)程情況及控制
29、進(jìn)用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需的程運(yùn)行所需的全部信息全部信息。 PCBPCB是進(jìn)程存在的唯一標(biāo)志。是進(jìn)程存在的唯一標(biāo)志。2022-4-7312.2.進(jìn)程控制塊中的信息進(jìn)程控制塊中的信息 1) 1)進(jìn)程標(biāo)識(shí)符進(jìn)程標(biāo)識(shí)符 進(jìn)程標(biāo)識(shí)符用于惟一地標(biāo)識(shí)一個(gè)進(jìn)程。進(jìn)程標(biāo)識(shí)符用于惟一地標(biāo)識(shí)一個(gè)進(jìn)程。一個(gè)進(jìn)程通常一個(gè)進(jìn)程通常有有兩種兩種標(biāo)識(shí)符標(biāo)識(shí)符: : (1) (1)內(nèi)部標(biāo)識(shí)符內(nèi)部標(biāo)識(shí)符。在所有的操作系統(tǒng)中。在所有的操作系統(tǒng)中, ,都為每一個(gè)進(jìn)都為每一個(gè)進(jìn)程賦予一個(gè)惟一的程賦予一個(gè)惟一的數(shù)字標(biāo)識(shí)符數(shù)字標(biāo)識(shí)符, ,它通常是一個(gè)進(jìn)程的序號(hào)。它通常是一個(gè)進(jìn)程的序號(hào)。設(shè)置內(nèi)部標(biāo)識(shí)符主要是為了方便系統(tǒng)使用。設(shè)置
30、內(nèi)部標(biāo)識(shí)符主要是為了方便系統(tǒng)使用。 (2)(2)外部標(biāo)識(shí)符外部標(biāo)識(shí)符。它由創(chuàng)建者提供。它由創(chuàng)建者提供, ,通常是由字母、數(shù)通常是由字母、數(shù)字組成字組成, ,往往是由用戶往往是由用戶( (進(jìn)程進(jìn)程) )在訪問(wèn)該進(jìn)程時(shí)使用。為了在訪問(wèn)該進(jìn)程時(shí)使用。為了描述進(jìn)程的家族關(guān)系描述進(jìn)程的家族關(guān)系, ,還應(yīng)設(shè)置父進(jìn)程標(biāo)識(shí)及子進(jìn)程標(biāo)識(shí)。還應(yīng)設(shè)置父進(jìn)程標(biāo)識(shí)及子進(jìn)程標(biāo)識(shí)。此外此外, ,還可設(shè)置用戶標(biāo)識(shí)還可設(shè)置用戶標(biāo)識(shí), ,以指示擁有該進(jìn)程的用戶。以指示擁有該進(jìn)程的用戶。2022-4-7322)2)處理機(jī)狀態(tài)處理機(jī)狀態(tài) 處理機(jī)狀態(tài)信息主要是由處理機(jī)的各種處理機(jī)狀態(tài)信息主要是由處理機(jī)的各種寄存器寄存器中的內(nèi)中的內(nèi)容組
31、成的。容組成的。通用寄存器通用寄存器, ,又稱為用戶可視寄存器又稱為用戶可視寄存器, ,它們是用戶程序可以它們是用戶程序可以訪問(wèn)的訪問(wèn)的, ,用于暫存信息用于暫存信息, ,在大多數(shù)處理機(jī)中在大多數(shù)處理機(jī)中, ,有有8 8 32 32 個(gè)通用個(gè)通用寄存器寄存器, ,在在RISCRISC結(jié)構(gòu)的計(jì)算機(jī)中可超過(guò)結(jié)構(gòu)的計(jì)算機(jī)中可超過(guò)100100個(gè)個(gè); ;指令計(jì)數(shù)器指令計(jì)數(shù)器PCPC, ,其中存放了要訪問(wèn)的下一條指令的地址其中存放了要訪問(wèn)的下一條指令的地址; ;程序狀態(tài)字程序狀態(tài)字PSWPSW, ,其中含有狀態(tài)信息其中含有狀態(tài)信息, ,如條件碼、執(zhí)行方式、如條件碼、執(zhí)行方式、中斷屏蔽標(biāo)志等中斷屏蔽標(biāo)志等;
32、 ;用戶棧指針用戶棧指針, ,指每個(gè)用戶進(jìn)程都有一個(gè)或若干個(gè)與之相關(guān)指每個(gè)用戶進(jìn)程都有一個(gè)或若干個(gè)與之相關(guān)的系統(tǒng)棧的系統(tǒng)棧, ,用于存放過(guò)程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址。棧用于存放過(guò)程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址。棧指針指向該棧的棧頂。指針指向該棧的棧頂。2022-4-7333)3)進(jìn)程調(diào)度信息進(jìn)程調(diào)度信息 在在PCBPCB中還存放一些與進(jìn)程調(diào)度和進(jìn)程對(duì)換有關(guān)的中還存放一些與進(jìn)程調(diào)度和進(jìn)程對(duì)換有關(guān)的信息信息, ,包括包括: : 進(jìn)程狀態(tài)進(jìn)程狀態(tài), ,指明進(jìn)程的當(dāng)前狀態(tài)指明進(jìn)程的當(dāng)前狀態(tài), ,作為進(jìn)程調(diào)度和對(duì)換時(shí)作為進(jìn)程調(diào)度和對(duì)換時(shí)的依據(jù)的依據(jù); ;進(jìn)程優(yōu)先級(jí)進(jìn)程優(yōu)先級(jí), ,用于描述進(jìn)程使用處理機(jī)的優(yōu)先
33、級(jí)別的一用于描述進(jìn)程使用處理機(jī)的優(yōu)先級(jí)別的一個(gè)整數(shù)個(gè)整數(shù), ,優(yōu)先級(jí)高的進(jìn)程應(yīng)優(yōu)先獲得處理機(jī)優(yōu)先級(jí)高的進(jìn)程應(yīng)優(yōu)先獲得處理機(jī); ; 進(jìn)程調(diào)度所需的其它信息進(jìn)程調(diào)度所需的其它信息, ,它們與所采用的進(jìn)程調(diào)度算它們與所采用的進(jìn)程調(diào)度算法有關(guān)法有關(guān), ,比如比如, ,進(jìn)程已等待進(jìn)程已等待CPUCPU的的時(shí)間總和時(shí)間總和、進(jìn)程已執(zhí)行、進(jìn)程已執(zhí)行的的時(shí)間總和時(shí)間總和等等; ;事件事件, ,是指進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)所等待發(fā)生是指進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)所等待發(fā)生的事件的事件, ,即即阻塞原因阻塞原因。 2022-4-7344)4)進(jìn)程控制信息進(jìn)程控制信息 進(jìn)程控制信息包括進(jìn)程控制信息包括: :程
34、序和數(shù)據(jù)的地址程序和數(shù)據(jù)的地址, ,是指進(jìn)程的程序和數(shù)據(jù)所在的內(nèi)存是指進(jìn)程的程序和數(shù)據(jù)所在的內(nèi)存或外存地或外存地( (首首) )址址, ,以便再調(diào)度到該進(jìn)程執(zhí)行時(shí)以便再調(diào)度到該進(jìn)程執(zhí)行時(shí), ,能從能從PCBPCB中找到其程序和數(shù)據(jù)中找到其程序和數(shù)據(jù); ;進(jìn)程同步和通信機(jī)制進(jìn)程同步和通信機(jī)制, ,指實(shí)現(xiàn)進(jìn)程同步和進(jìn)程通信時(shí)必指實(shí)現(xiàn)進(jìn)程同步和進(jìn)程通信時(shí)必需的機(jī)制需的機(jī)制, , 如消息隊(duì)列指針、如消息隊(duì)列指針、信號(hào)量信號(hào)量等等, ,它們可能全部它們可能全部或部分地放在或部分地放在PCBPCB中中; ;資源清單資源清單, ,是一張列出了除是一張列出了除CPUCPU以外的、進(jìn)程所需的全部以外的、進(jìn)程所需
35、的全部資源及已經(jīng)分配到該進(jìn)程的資源的清單資源及已經(jīng)分配到該進(jìn)程的資源的清單; ;鏈接指針鏈接指針, ,它給出了本進(jìn)程它給出了本進(jìn)程(PCB)(PCB)所在隊(duì)列中的所在隊(duì)列中的下一個(gè)下一個(gè)進(jìn)進(jìn)程的程的PCBPCB的首地址。的首地址。 2022-4-735圖圖2-7 PCB2-7 PCB鏈接隊(duì)列示意圖鏈接隊(duì)列示意圖 3.3.進(jìn)程控制塊的組織方式進(jìn)程控制塊的組織方式(1)(1)鏈接方式鏈接方式 把具有同一狀態(tài)的把具有同一狀態(tài)的PCBPCB用其中的鏈接字鏈接用其中的鏈接字鏈接成一個(gè)隊(duì)列成一個(gè)隊(duì)列, ,可以形成可以形成就緒隊(duì)列就緒隊(duì)列、若干個(gè)、若干個(gè)阻塞隊(duì)列阻塞隊(duì)列和和空空閑隊(duì)列閑隊(duì)列(2). .(2)
36、. .2022-4-736圖圖2-8 2-8 按索引方式組織按索引方式組織PCB PCB 3.3.進(jìn)程控制塊的組織方式進(jìn)程控制塊的組織方式(1). .(1). .(2)(2)索引方式索引方式 系統(tǒng)根據(jù)所有進(jìn)程的狀態(tài)建立幾張系統(tǒng)根據(jù)所有進(jìn)程的狀態(tài)建立幾張索引表索引表, ,如如就緒索引表就緒索引表、阻塞索引表阻塞索引表等等, ,并把各索引表在內(nèi)存的并把各索引表在內(nèi)存的首地址記錄在專用單元中。索引表中記錄的是首地址記錄在專用單元中。索引表中記錄的是PCBPCB在在PCBPCB表中的地地址。表中的地地址。2022-4-7372.1 2.1 進(jìn)程的基本概念進(jìn)程的基本概念 2.2 2.2 進(jìn)程控制進(jìn)程控制
37、 2.3 2.3 進(jìn)程同步進(jìn)程同步 2.4 2.4 經(jīng)典進(jìn)程的同步問(wèn)題經(jīng)典進(jìn)程的同步問(wèn)題 2.5 2.5 管程機(jī)制管程機(jī)制 2.6 2.6 進(jìn)程通信進(jìn)程通信 2.7 2.7 線程線程 2022-4-738處理機(jī)的執(zhí)行狀態(tài)分處理機(jī)的執(zhí)行狀態(tài)分系統(tǒng)態(tài)系統(tǒng)態(tài)和和用戶態(tài)用戶態(tài)兩種兩種: : (1) (1)系統(tǒng)態(tài)系統(tǒng)態(tài)( (管態(tài)管態(tài)、核心態(tài)核心態(tài)):):有較有較高高特權(quán)特權(quán), ,能執(zhí)能執(zhí)行行一切一切指令指令, ,訪問(wèn)訪問(wèn)所有所有寄存器和存儲(chǔ)區(qū)。寄存器和存儲(chǔ)區(qū)。 (2)(2)用戶態(tài)用戶態(tài)( (目態(tài)目態(tài)):):有較有較低低特權(quán)特權(quán), ,能執(zhí)行能執(zhí)行規(guī)定規(guī)定指指令令, ,訪問(wèn)訪問(wèn)指定指定寄存器和存儲(chǔ)區(qū)。寄存器
38、和存儲(chǔ)區(qū)。用戶用戶程序運(yùn)行在程序運(yùn)行在用戶態(tài)用戶態(tài), ,不能執(zhí)行不能執(zhí)行OSOS指令及區(qū)域。指令及區(qū)域。OSOS內(nèi)核運(yùn)行在內(nèi)核運(yùn)行在系統(tǒng)態(tài)系統(tǒng)態(tài), ,進(jìn)程控制進(jìn)程控制是由是由OSOS內(nèi)核實(shí)現(xiàn)內(nèi)核實(shí)現(xiàn)的。的。2022-4-739進(jìn)程控制是進(jìn)程管理中進(jìn)程控制是進(jìn)程管理中最基本最基本的功能的功能, ,主要包括以下幾個(gè)方面主要包括以下幾個(gè)方面 創(chuàng)建創(chuàng)建新進(jìn)程新進(jìn)程 終止終止已結(jié)束進(jìn)程已結(jié)束進(jìn)程 終止終止由于某事件而無(wú)法運(yùn)行下去的進(jìn)程由于某事件而無(wú)法運(yùn)行下去的進(jìn)程 負(fù)責(zé)進(jìn)程的狀態(tài)負(fù)責(zé)進(jìn)程的狀態(tài)轉(zhuǎn)換轉(zhuǎn)換原語(yǔ)原語(yǔ)(primitive)(primitive) 由若干條指令構(gòu)成的由若干條指令構(gòu)成的“原子操作原子
39、操作(atomic operation)(atomic operation)”過(guò)程過(guò)程, ,在執(zhí)行期間在執(zhí)行期間不可中斷不可中斷, ,以保證其正確性。作為一個(gè)整體而不以保證其正確性。作為一個(gè)整體而不可分割。許多系統(tǒng)調(diào)用就是原語(yǔ)??煞指睢TS多系統(tǒng)調(diào)用就是原語(yǔ)。 系統(tǒng)調(diào)用系統(tǒng)調(diào)用并不都是并不都是原語(yǔ)。進(jìn)程原語(yǔ)。進(jìn)程A A調(diào)用調(diào)用read(),read(),因無(wú)數(shù)據(jù)而阻因無(wú)數(shù)據(jù)而阻塞塞, ,在在read()read()里未返回。然后進(jìn)程里未返回。然后進(jìn)程B B調(diào)用調(diào)用read(),read(),此時(shí)此時(shí)read()read()被重入。系統(tǒng)調(diào)用不一定一次執(zhí)行完并返回該進(jìn)程被重入。系統(tǒng)調(diào)用不一定一次執(zhí)行
40、完并返回該進(jìn)程, ,有可能有可能在特定的點(diǎn)暫停在特定的點(diǎn)暫停, ,而轉(zhuǎn)入到其他進(jìn)程。而轉(zhuǎn)入到其他進(jìn)程。1.創(chuàng)建原語(yǔ)創(chuàng)建原語(yǔ)2.撤消原語(yǔ)撤消原語(yǔ)3.阻塞原語(yǔ)阻塞原語(yǔ)4.喚醒原語(yǔ)喚醒原語(yǔ)5.掛起原語(yǔ)掛起原語(yǔ)6.激活原語(yǔ)激活原語(yǔ)2022-4-7402.2.1 2.2.1 進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建2.2.2 2.2.2 進(jìn)程的終止進(jìn)程的終止2.2.3 2.2.3 進(jìn)程的阻塞與喚醒進(jìn)程的阻塞與喚醒2.2.4 2.2.4 進(jìn)程的掛起與激活進(jìn)程的掛起與激活2022-4-7412.2.1 2.2.1 進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建圖圖2-9 2-9 進(jìn)程樹(shù)進(jìn)程樹(shù) 1.1.進(jìn)程圖進(jìn)程圖(Process Graph)(Proc
41、ess Graph)進(jìn)程圖進(jìn)程圖是用于描述一個(gè)進(jìn)程的家族是用于描述一個(gè)進(jìn)程的家族關(guān)系關(guān)系的的有向樹(shù)有向樹(shù), ,樹(shù)中的樹(shù)中的結(jié)點(diǎn)結(jié)點(diǎn)表示表示進(jìn)程進(jìn)程在進(jìn)程在進(jìn)程A A創(chuàng)建了進(jìn)程創(chuàng)建了進(jìn)程B B之后稱之后稱A A是是B B的的父進(jìn)程父進(jìn)程(Parent Process)(Parent Process),B,B是是A A的的子子進(jìn)程進(jìn)程(Progeny Process)(Progeny Process)。創(chuàng)建父進(jìn)。創(chuàng)建父進(jìn)程的進(jìn)程稱為祖先進(jìn)程程的進(jìn)程稱為祖先進(jìn)程, ,把樹(shù)的把樹(shù)的根根結(jié)結(jié)點(diǎn)稱為進(jìn)程家族的點(diǎn)稱為進(jìn)程家族的祖先進(jìn)程祖先進(jìn)程(Ancestor)(Ancestor)子進(jìn)程可以子進(jìn)程可以繼承繼
42、承(Inherit)(Inherit)父進(jìn)程的父進(jìn)程的資源。資源。撤消父進(jìn)程時(shí)必須撤消父進(jìn)程時(shí)必須同時(shí)同時(shí)撤消子進(jìn)程撤消子進(jìn)程2022-4-7422.2.引起創(chuàng)建進(jìn)程的事件引起創(chuàng)建進(jìn)程的事件 在在多道程序多道程序環(huán)境中環(huán)境中, ,只有只有進(jìn)程進(jìn)程才能在系統(tǒng)中運(yùn)行。才能在系統(tǒng)中運(yùn)行。因此因此, ,為使程序運(yùn)行為使程序運(yùn)行, ,必須創(chuàng)建進(jìn)程必須創(chuàng)建進(jìn)程, ,創(chuàng)建進(jìn)程事件包創(chuàng)建進(jìn)程事件包括括: :(1)(1)用戶登錄用戶登錄 在在分時(shí)系統(tǒng)分時(shí)系統(tǒng)中中, ,用戶在終端登錄后用戶在終端登錄后, ,如是合法用戶如是合法用戶, ,系統(tǒng)將為用戶創(chuàng)建一個(gè)進(jìn)程系統(tǒng)將為用戶創(chuàng)建一個(gè)進(jìn)程, ,并插入并插入就緒隊(duì)列就緒
43、隊(duì)列。(2)(2)作業(yè)調(diào)度作業(yè)調(diào)度 在批處理系統(tǒng)中在批處理系統(tǒng)中, ,當(dāng)作業(yè)調(diào)度程序調(diào)度到某作業(yè)當(dāng)作業(yè)調(diào)度程序調(diào)度到某作業(yè)時(shí)時(shí), ,將該作業(yè)裝入內(nèi)存將該作業(yè)裝入內(nèi)存, ,為它分配資源并創(chuàng)建進(jìn)程。為它分配資源并創(chuàng)建進(jìn)程。(3)(3)提供服務(wù)提供服務(wù) 當(dāng)運(yùn)行中的用戶進(jìn)程提出某種請(qǐng)求后當(dāng)運(yùn)行中的用戶進(jìn)程提出某種請(qǐng)求后, ,系統(tǒng)系統(tǒng)將專將專門(mén)創(chuàng)建一個(gè)進(jìn)程來(lái)提供服務(wù)門(mén)創(chuàng)建一個(gè)進(jìn)程來(lái)提供服務(wù), ,如打印。如打印。(4)(4)應(yīng)用請(qǐng)求應(yīng)用請(qǐng)求 由應(yīng)用進(jìn)程為由應(yīng)用進(jìn)程為自己自己創(chuàng)建進(jìn)程創(chuàng)建進(jìn)程, ,以便能并發(fā)執(zhí)行以便能并發(fā)執(zhí)行, ,如如輸入、計(jì)算、輸出程序。輸入、計(jì)算、輸出程序。2022-4-7433.3.進(jìn)
44、程的創(chuàng)建進(jìn)程的創(chuàng)建步驟步驟(Creation of Progress) (Creation of Progress) (1)(1)申請(qǐng)空白申請(qǐng)空白PCB PCB 為新進(jìn)程申請(qǐng)惟一的數(shù)字為新進(jìn)程申請(qǐng)惟一的數(shù)字標(biāo)識(shí)符標(biāo)識(shí)符, ,并從并從PCBPCB集合中索取集合中索取一個(gè)空白一個(gè)空白PCBPCB(2)(2)為新進(jìn)程分配資源為新進(jìn)程分配資源 為新進(jìn)程的程序和數(shù)據(jù)為新進(jìn)程的程序和數(shù)據(jù)分配內(nèi)存分配內(nèi)存。對(duì)于。對(duì)于批處理批處理型作業(yè)型作業(yè), ,可以在可以在用戶用戶提出創(chuàng)建進(jìn)程時(shí)要求提供所需內(nèi)存大小。提出創(chuàng)建進(jìn)程時(shí)要求提供所需內(nèi)存大小。對(duì)于對(duì)于交互型交互型作業(yè)可以由作業(yè)可以由系統(tǒng)系統(tǒng)來(lái)分配一定的空間來(lái)分配一
45、定的空間(3)(3)初始化進(jìn)程控制塊初始化進(jìn)程控制塊 初始化標(biāo)識(shí)信息初始化標(biāo)識(shí)信息將系統(tǒng)標(biāo)識(shí)信息寫(xiě)入新將系統(tǒng)標(biāo)識(shí)信息寫(xiě)入新PCBPCB初始化處理機(jī)狀態(tài)信息初始化處理機(jī)狀態(tài)信息使使程序計(jì)數(shù)器程序計(jì)數(shù)器指向程序的入指向程序的入口地址口地址, ,棧指針指向棧頂棧指針指向棧頂初始化處理機(jī)控制信息初始化處理機(jī)控制信息將進(jìn)程的狀態(tài)設(shè)為將進(jìn)程的狀態(tài)設(shè)為就緒狀態(tài)就緒狀態(tài)或或靜止就緒狀態(tài)靜止就緒狀態(tài)(4)(4)將新進(jìn)程插入就緒隊(duì)列將新進(jìn)程插入就緒隊(duì)列如果進(jìn)程就緒隊(duì)列能夠接納新進(jìn)程如果進(jìn)程就緒隊(duì)列能夠接納新進(jìn)程, ,便將新進(jìn)程插入就便將新進(jìn)程插入就緒隊(duì)列緒隊(duì)列2022-4-7442.2.1 2.2.1 進(jìn)程的創(chuàng)建
46、進(jìn)程的創(chuàng)建2.2.2 2.2.2 進(jìn)程的終止進(jìn)程的終止2.2.3 2.2.3 進(jìn)程的阻塞與喚醒進(jìn)程的阻塞與喚醒2.2.4 2.2.4 進(jìn)程的掛起與激活進(jìn)程的掛起與激活2022-4-7451.1.引起進(jìn)程終止引起進(jìn)程終止(Termination of Process)(Termination of Process)的事件的事件 1)1)正常結(jié)束正常結(jié)束 在任何計(jì)算機(jī)系統(tǒng)中在任何計(jì)算機(jī)系統(tǒng)中, ,都應(yīng)有一個(gè)用于表示進(jìn)程已經(jīng)都應(yīng)有一個(gè)用于表示進(jìn)程已經(jīng)運(yùn)行完成的指示。例如運(yùn)行完成的指示。例如, ,在批處理系統(tǒng)中在批處理系統(tǒng)中, ,通常在程序的最通常在程序的最后安排一條后安排一條HaltHalt指令或終
47、止的系統(tǒng)調(diào)用。當(dāng)程序運(yùn)行到指令或終止的系統(tǒng)調(diào)用。當(dāng)程序運(yùn)行到HaltHalt指令時(shí)指令時(shí), ,將產(chǎn)生一個(gè)中斷將產(chǎn)生一個(gè)中斷, ,去通知去通知OSOS本進(jìn)程已經(jīng)完成。本進(jìn)程已經(jīng)完成。 在分時(shí)系統(tǒng)中在分時(shí)系統(tǒng)中, ,用戶可利用用戶可利用Logs offLogs off去表示進(jìn)程運(yùn)行完畢去表示進(jìn)程運(yùn)行完畢, , 此時(shí)同樣可產(chǎn)生一個(gè)中斷此時(shí)同樣可產(chǎn)生一個(gè)中斷, ,去通知去通知OSOS進(jìn)程已運(yùn)行完畢。進(jìn)程已運(yùn)行完畢。 2022-4-746 2) 2)異常結(jié)束異常結(jié)束 在進(jìn)程運(yùn)行期間在進(jìn)程運(yùn)行期間, ,由于出現(xiàn)某些錯(cuò)誤和故障而迫使進(jìn)程由于出現(xiàn)某些錯(cuò)誤和故障而迫使進(jìn)程終止。這類異常事件很多終止。這類異常事件
48、很多, ,常見(jiàn)的有常見(jiàn)的有: :越界錯(cuò)誤。這是指程序所訪問(wèn)的存儲(chǔ)區(qū)越界錯(cuò)誤。這是指程序所訪問(wèn)的存儲(chǔ)區(qū), ,已已越出越出該進(jìn)程的區(qū)該進(jìn)程的區(qū)域域; ; 保護(hù)錯(cuò)。進(jìn)程試圖去訪問(wèn)一個(gè)保護(hù)錯(cuò)。進(jìn)程試圖去訪問(wèn)一個(gè)不允許訪問(wèn)不允許訪問(wèn)的資源或文件的資源或文件, ,或或者以不適當(dāng)?shù)姆绞竭M(jìn)行訪問(wèn)者以不適當(dāng)?shù)姆绞竭M(jìn)行訪問(wèn), ,例如例如, ,進(jìn)程試圖去寫(xiě)一個(gè)進(jìn)程試圖去寫(xiě)一個(gè)只讀只讀文件文件; ;非法指令。程序試圖去執(zhí)行一條非法指令。程序試圖去執(zhí)行一條不存在不存在的的指令指令。出現(xiàn)該錯(cuò)。出現(xiàn)該錯(cuò)誤的原因誤的原因, ,可能是程序錯(cuò)誤地轉(zhuǎn)移到數(shù)據(jù)區(qū)可能是程序錯(cuò)誤地轉(zhuǎn)移到數(shù)據(jù)區(qū), ,把數(shù)據(jù)當(dāng)成了把數(shù)據(jù)當(dāng)成了指令指令; ;
49、特權(quán)指令錯(cuò)。用戶進(jìn)程試圖去執(zhí)行一條只允許特權(quán)指令錯(cuò)。用戶進(jìn)程試圖去執(zhí)行一條只允許OSOS執(zhí)行的指執(zhí)行的指令令; ;運(yùn)行超時(shí)。進(jìn)程的執(zhí)行時(shí)間超過(guò)了指定的最大值運(yùn)行超時(shí)。進(jìn)程的執(zhí)行時(shí)間超過(guò)了指定的最大值; ;等待超時(shí)。進(jìn)程等待某事件的時(shí)間等待超時(shí)。進(jìn)程等待某事件的時(shí)間, ,超過(guò)了規(guī)定的最大值超過(guò)了規(guī)定的最大值; ;算術(shù)運(yùn)算錯(cuò)。進(jìn)程試圖去執(zhí)行一個(gè)被禁止的運(yùn)算算術(shù)運(yùn)算錯(cuò)。進(jìn)程試圖去執(zhí)行一個(gè)被禁止的運(yùn)算, ,例如例如, ,被被0 0除除; ;I/OI/O故障。這是指在故障。這是指在I/OI/O過(guò)程中發(fā)生了錯(cuò)誤等。過(guò)程中發(fā)生了錯(cuò)誤等。2022-4-747 3) 3)外界干預(yù)外界干預(yù) 外界干預(yù)并外界干預(yù)并非
50、非指在本進(jìn)程運(yùn)行中出現(xiàn)了指在本進(jìn)程運(yùn)行中出現(xiàn)了異常事件異常事件, ,而而是指進(jìn)程應(yīng)外界的請(qǐng)求而終止運(yùn)行。這些干預(yù)有是指進(jìn)程應(yīng)外界的請(qǐng)求而終止運(yùn)行。這些干預(yù)有: :操作員操作員或或操作系統(tǒng)操作系統(tǒng)干預(yù)。由于某種原因干預(yù)。由于某種原因, ,例如例如, ,發(fā)生了發(fā)生了死鎖死鎖, ,由操作員或操作系統(tǒng)終止該進(jìn)程由操作員或操作系統(tǒng)終止該進(jìn)程; ;父進(jìn)程請(qǐng)求父進(jìn)程請(qǐng)求。由于父進(jìn)程具有終止自己的任何子孫進(jìn)。由于父進(jìn)程具有終止自己的任何子孫進(jìn)程的權(quán)利程的權(quán)利, ,因而當(dāng)父進(jìn)程提出請(qǐng)求時(shí)因而當(dāng)父進(jìn)程提出請(qǐng)求時(shí), ,系統(tǒng)將終止該進(jìn)程系統(tǒng)將終止該進(jìn)程; ; 父進(jìn)程終止父進(jìn)程終止。當(dāng)父進(jìn)程終止時(shí)。當(dāng)父進(jìn)程終止時(shí),OS
51、,OS也將他的所有子孫進(jìn)也將他的所有子孫進(jìn)程終止。程終止。 2022-4-7482.2.進(jìn)程的終止過(guò)程進(jìn)程的終止過(guò)程 (1)(1)根據(jù)被終止進(jìn)程的標(biāo)識(shí)符根據(jù)被終止進(jìn)程的標(biāo)識(shí)符, ,從從PCBPCB集合中檢索出該進(jìn)集合中檢索出該進(jìn)程的程的PCB,PCB,從中讀出該進(jìn)程的狀態(tài)。從中讀出該進(jìn)程的狀態(tài)。 (2)(2)若被終止進(jìn)程正處于若被終止進(jìn)程正處于執(zhí)行狀態(tài)執(zhí)行狀態(tài), ,應(yīng)立即終止該進(jìn)程應(yīng)立即終止該進(jìn)程的執(zhí)行的執(zhí)行, ,并置并置調(diào)度標(biāo)志調(diào)度標(biāo)志為為真真, ,用于指示該進(jìn)程被終止后應(yīng)重用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度。新進(jìn)行調(diào)度。 (3)(3)若該進(jìn)程還有若該進(jìn)程還有子孫進(jìn)程子孫進(jìn)程, ,還應(yīng)將其
52、所有子孫進(jìn)程予還應(yīng)將其所有子孫進(jìn)程予以以終止終止, ,以防他們成為不可控的進(jìn)程。以防他們成為不可控的進(jìn)程。 (4)(4)將被終止進(jìn)程所擁有的將被終止進(jìn)程所擁有的全部資源全部資源, ,或者歸還給其父或者歸還給其父進(jìn)程進(jìn)程, , 或者歸還給系統(tǒng)。或者歸還給系統(tǒng)。 (5)(5)將被終止進(jìn)程將被終止進(jìn)程( (它的它的PCBPCB) )從所在隊(duì)列從所在隊(duì)列( (或鏈表或鏈表) )中中移移出出, ,等待其他程序來(lái)搜集信息。等待其他程序來(lái)搜集信息。 2022-4-7492.2.1 2.2.1 進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建2.2.2 2.2.2 進(jìn)程的終止進(jìn)程的終止2.2.3 2.2.3 進(jìn)程的阻塞與喚醒進(jìn)程的阻塞與
53、喚醒2.2.4 2.2.4 進(jìn)程的掛起與激活進(jìn)程的掛起與激活2022-4-7501.1.引起進(jìn)程阻塞和喚醒的事件引起進(jìn)程阻塞和喚醒的事件 (1)(1)請(qǐng)求系統(tǒng)服務(wù)請(qǐng)求系統(tǒng)服務(wù) 如請(qǐng)求如請(qǐng)求打印機(jī)打印機(jī)時(shí)時(shí), ,若已被其他進(jìn)程若已被其他進(jìn)程占用占用, ,此時(shí)只能此時(shí)只能阻塞阻塞, ,等其他進(jìn)程釋放后再將請(qǐng)求進(jìn)程喚醒。等其他進(jìn)程釋放后再將請(qǐng)求進(jìn)程喚醒。(2)(2)啟動(dòng)某種操作啟動(dòng)某種操作 當(dāng)進(jìn)程啟動(dòng)某種操作后當(dāng)進(jìn)程啟動(dòng)某種操作后, ,如果該進(jìn)程必須在該操如果該進(jìn)程必須在該操作完成后才能繼續(xù)執(zhí)行作完成后才能繼續(xù)執(zhí)行, ,則必須先使進(jìn)程阻塞則必須先使進(jìn)程阻塞, ,以等待以等待該該操作完成操作完成。如啟
54、動(dòng)。如啟動(dòng)I/OI/O設(shè)備。設(shè)備。(3)(3)新數(shù)據(jù)尚未到達(dá)新數(shù)據(jù)尚未到達(dá) 對(duì)于相互合作的進(jìn)程對(duì)于相互合作的進(jìn)程, ,如果一個(gè)進(jìn)程需要另一合如果一個(gè)進(jìn)程需要另一合作進(jìn)程提供的數(shù)據(jù)作進(jìn)程提供的數(shù)據(jù), ,則在數(shù)據(jù)到達(dá)之前只能阻塞。則在數(shù)據(jù)到達(dá)之前只能阻塞。(4)(4)無(wú)新工作可做無(wú)新工作可做 系統(tǒng)中的一些特殊功能進(jìn)程系統(tǒng)中的一些特殊功能進(jìn)程, ,在完成了任務(wù)之后在完成了任務(wù)之后, ,等待新任務(wù)到來(lái)。如系統(tǒng)中的發(fā)送進(jìn)程。等待新任務(wù)到來(lái)。如系統(tǒng)中的發(fā)送進(jìn)程。2022-4-7512.2.進(jìn)程阻塞過(guò)程進(jìn)程阻塞過(guò)程 正在執(zhí)行的進(jìn)程正在執(zhí)行的進(jìn)程, ,當(dāng)發(fā)現(xiàn)上述某事件時(shí)當(dāng)發(fā)現(xiàn)上述某事件時(shí), ,由于無(wú)法繼續(xù)由于
55、無(wú)法繼續(xù)執(zhí)行執(zhí)行, ,于是進(jìn)程便通過(guò)調(diào)用阻塞原語(yǔ)于是進(jìn)程便通過(guò)調(diào)用阻塞原語(yǔ)block()block()把自己阻把自己阻塞??梢?jiàn)塞。可見(jiàn), ,進(jìn)程的阻塞是進(jìn)程自身的一種主動(dòng)行為進(jìn)程的阻塞是進(jìn)程自身的一種主動(dòng)行為 進(jìn)入進(jìn)入blockblock過(guò)程后過(guò)程后, ,由于此時(shí)該進(jìn)程還處于由于此時(shí)該進(jìn)程還處于執(zhí)行狀態(tài)執(zhí)行狀態(tài), ,所以應(yīng)先立即所以應(yīng)先立即停止執(zhí)行停止執(zhí)行, ,把進(jìn)程控制塊中的現(xiàn)行狀態(tài)把進(jìn)程控制塊中的現(xiàn)行狀態(tài)由由“執(zhí)行執(zhí)行”改為改為阻塞阻塞, ,并將并將PCBPCB插入插入阻塞隊(duì)列阻塞隊(duì)列 如果系統(tǒng)中設(shè)置了因不同事件而阻塞的多個(gè)如果系統(tǒng)中設(shè)置了因不同事件而阻塞的多個(gè)阻塞隊(duì)列阻塞隊(duì)列, ,則應(yīng)將
56、本進(jìn)程則應(yīng)將本進(jìn)程插入插入到具有相同事件的阻塞到具有相同事件的阻塞( (等待等待) )隊(duì)列隊(duì)列 調(diào)度程序進(jìn)行調(diào)度程序進(jìn)行重新調(diào)度重新調(diào)度, ,將處理機(jī)分配給另一就緒進(jìn)將處理機(jī)分配給另一就緒進(jìn)程程, ,并進(jìn)行切換并進(jìn)行切換, ,亦即亦即, ,保留被阻塞進(jìn)程的處理機(jī)狀態(tài)保留被阻塞進(jìn)程的處理機(jī)狀態(tài)( (在在PCBPCB中中),),再按新進(jìn)程的再按新進(jìn)程的PCBPCB中的處理機(jī)狀態(tài)設(shè)置中的處理機(jī)狀態(tài)設(shè)置CPUCPU的環(huán)境的環(huán)境2022-4-7523.3.進(jìn)程喚醒過(guò)程進(jìn)程喚醒過(guò)程 當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí)當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí), ,如如I/OI/O完成或其所完成或其所期待的數(shù)據(jù)已經(jīng)到達(dá)期待
57、的數(shù)據(jù)已經(jīng)到達(dá), ,則由有關(guān)進(jìn)程則由有關(guān)進(jìn)程( (比如比如, ,用完并釋用完并釋放了該放了該I/OI/O設(shè)備的進(jìn)程設(shè)備的進(jìn)程) )調(diào)用喚醒原語(yǔ)調(diào)用喚醒原語(yǔ)wakeup( )wakeup( ), ,將等將等待該事件的進(jìn)程喚醒待該事件的進(jìn)程喚醒 喚醒原語(yǔ)執(zhí)行的過(guò)程是喚醒原語(yǔ)執(zhí)行的過(guò)程是 把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中移出移出 將其將其PCBPCB中的現(xiàn)行狀態(tài)由中的現(xiàn)行狀態(tài)由阻塞阻塞改為改為就緒就緒 將該將該P(yáng)CBPCB插入到插入到就緒隊(duì)列就緒隊(duì)列中中2022-4-7532.2.1 2.2.1 進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建2.2.2 2.2.2 進(jìn)程的終止進(jìn)程的
58、終止2.2.3 2.2.3 進(jìn)程的阻塞與喚醒進(jìn)程的阻塞與喚醒2.2.4 2.2.4 進(jìn)程的掛起與激活進(jìn)程的掛起與激活2022-4-7541.1.進(jìn)程的掛起進(jìn)程的掛起 當(dāng)出現(xiàn)了引起進(jìn)程掛起的事件時(shí)當(dāng)出現(xiàn)了引起進(jìn)程掛起的事件時(shí), ,比如比如, ,用戶進(jìn)程請(qǐng)求用戶進(jìn)程請(qǐng)求將自己掛起將自己掛起, ,或父進(jìn)程請(qǐng)求將自己的某個(gè)子進(jìn)程掛起或父進(jìn)程請(qǐng)求將自己的某個(gè)子進(jìn)程掛起, , 系統(tǒng)將利用掛起原語(yǔ)系統(tǒng)將利用掛起原語(yǔ)suspend( )suspend( )將指定進(jìn)程或處于阻將指定進(jìn)程或處于阻塞狀態(tài)的進(jìn)程掛起。塞狀態(tài)的進(jìn)程掛起。 suspend()suspend()原語(yǔ)的執(zhí)行過(guò)程原語(yǔ)的執(zhí)行過(guò)程 首先檢查被掛起進(jìn)
59、程的狀態(tài)首先檢查被掛起進(jìn)程的狀態(tài), ,若處于若處于活動(dòng)就緒活動(dòng)就緒狀態(tài)狀態(tài), ,便將其改為便將其改為靜止就緒靜止就緒; ;對(duì)于對(duì)于活動(dòng)阻塞活動(dòng)阻塞狀態(tài)的進(jìn)程狀態(tài)的進(jìn)程, ,則將之改為則將之改為靜止阻塞。靜止阻塞。 為了方便用戶或父進(jìn)程考查該進(jìn)程的運(yùn)行情況而為了方便用戶或父進(jìn)程考查該進(jìn)程的運(yùn)行情況而把該進(jìn)程的把該進(jìn)程的PCBPCB復(fù)制復(fù)制到某指定的到某指定的內(nèi)存區(qū)域內(nèi)存區(qū)域。 若被掛起的進(jìn)程若被掛起的進(jìn)程正在執(zhí)行正在執(zhí)行, ,則轉(zhuǎn)向調(diào)度程序則轉(zhuǎn)向調(diào)度程序重新調(diào)重新調(diào)度。度。2022-4-7552.2.進(jìn)程的激活過(guò)程進(jìn)程的激活過(guò)程 當(dāng)發(fā)生激活進(jìn)程的事件時(shí)當(dāng)發(fā)生激活進(jìn)程的事件時(shí), ,例如例如, ,父
60、進(jìn)程或用戶進(jìn)程請(qǐng)父進(jìn)程或用戶進(jìn)程請(qǐng)求激活指定進(jìn)程求激活指定進(jìn)程, ,若該進(jìn)程駐留在外存而內(nèi)存中已有若該進(jìn)程駐留在外存而內(nèi)存中已有足夠的空間時(shí)足夠的空間時(shí), ,則可將在外存上處于靜止就緒狀態(tài)的則可將在外存上處于靜止就緒狀態(tài)的進(jìn)程換入內(nèi)存。這時(shí)進(jìn)程換入內(nèi)存。這時(shí), ,系統(tǒng)將利用激活原語(yǔ)系統(tǒng)將利用激活原語(yǔ)active( )active( )將指定進(jìn)程激活。將指定進(jìn)程激活。 active()active()原語(yǔ)執(zhí)行過(guò)程原語(yǔ)執(zhí)行過(guò)程 激活原語(yǔ)先將進(jìn)程從外存激活原語(yǔ)先將進(jìn)程從外存調(diào)入內(nèi)存調(diào)入內(nèi)存, ,檢查該進(jìn)程的檢查該進(jìn)程的現(xiàn)行狀態(tài)現(xiàn)行狀態(tài), ,若是若是靜止就緒靜止就緒, ,便將之改為便將之改為活動(dòng)就緒活
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海洋氣象觀測(cè)網(wǎng)絡(luò)布局考核試卷
- 燈具安全標(biāo)準(zhǔn)與規(guī)范考核試卷
- 期貨市場(chǎng)交易對(duì)手方風(fēng)險(xiǎn)管理服務(wù)考核試卷
- 2024年CPSM考試創(chuàng)新備考試題及答案
- 遺傳學(xué)與腦科學(xué)的交叉領(lǐng)域:試題及答案
- 2024年CPSM考試知識(shí)體系試題與答案
- 2024年證券法規(guī)應(yīng)用試題及答案
- 2024-2025學(xué)年江西省玉山縣一中高三三調(diào)(5月)生物試題試卷含解析
- 2025年西藏拉薩市高考生物試題一輪復(fù)習(xí)模擬試題含解析
- 重慶文化藝術(shù)職業(yè)學(xué)院《網(wǎng)絡(luò)視聽(tīng)腳本創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 高中語(yǔ)文整本書(shū)閱讀教學(xué)研究
- 2024年蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 投資銀行學(xué)第4版- 課件匯 馬曉軍 第1-4章 投資銀行概述-上市公司再融資
- 2025年月度工作日歷含農(nóng)歷節(jié)假日電子表格版
- 中國(guó)近現(xiàn)代史綱要心得體會(huì)
- 竣工結(jié)算審計(jì)服務(wù)投標(biāo)方案(2024修訂版)(技術(shù)方案)
- 2025年中考語(yǔ)文復(fù)習(xí)課件 模塊三 語(yǔ)言綜合運(yùn)用
- 《年產(chǎn)2000噸果汁型茶飲料的生產(chǎn)工藝設(shè)計(jì)》4600字(論文)
- 中建落地式腳手架施工方案
- 基因檢測(cè)銷售培訓(xùn)
- 小學(xué)的數(shù)學(xué)課件
評(píng)論
0/150
提交評(píng)論