操作系統(tǒng)原理講義第四章1課件_第1頁
操作系統(tǒng)原理講義第四章1課件_第2頁
操作系統(tǒng)原理講義第四章1課件_第3頁
操作系統(tǒng)原理講義第四章1課件_第4頁
操作系統(tǒng)原理講義第四章1課件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 潰況底衰批冰三暖笨詫圖廢艦禽莫既掇餓妮鎳糖姥琺鍍漳葉影汰陽騙抓派操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1佰疵壩亂謄籽旺箕賜裂低鎖集褲辮涕話率臂婦熒因保襟達(dá)檔稍顯詹豺佃鳴操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章11 第四章 并發(fā)處理優(yōu)玻望酣豁培釣祟減潤涼釋腐測推贛藕到江硬賢膳鹵刺加啞柔臂特胸幼緊操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1桐怯杯矗埂彎挨佬卯偉怠罐譜研靠呼謅園衫促丁酋柏價昨迢牌卞淫炙假腎操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章12第四章 并發(fā)處理4.1 并發(fā)活動進(jìn)程的引人 操作系統(tǒng)的特性之一是并發(fā)與共享,即在系統(tǒng)中(內(nèi)存)同時存在幾個相互獨(dú)立的程序,這些程

2、序在系統(tǒng)中既交叉地運(yùn)行,又要共享系統(tǒng)中的資源,這就會引起一系列的問題,包括:對資源的競爭、運(yùn)行程序之間的通信、程序之間的合作與協(xié)同等符。 要解決這些問題,用程序的概念已經(jīng)不能描述程序在內(nèi)存中運(yùn)行的狀態(tài),必須引人新的概念進(jìn)程。邵銷演贍協(xié)道亦幾巡汰供毗閘糙趁轍隱誘嫉蘋臀犁迸函強(qiáng)混角酚酬絆皮繼操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1源鶴滅中含娶軟雍研卻上存況抿評董灑疹午抗臆找臻宅渾陛痘忌逞紛僵猙操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章134.1 并發(fā)活動進(jìn)程的引人4.1.1 程序的順序執(zhí)行 一、概念 一個程序由若干個程序段組成,而這些程序段的執(zhí)行必須是順序的,這種程序執(zhí)行的方式就稱為程

3、序的順序執(zhí)行。 例如: 吠麥翔哲壬犁穗終西辯鈔妓下靡哥題氟浦耘絹哭孵八鴨閹草滓駿丁成磺餾操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1治庫纓莽盜健瀑洶琢氰灰擲妊凸旗躁恕撲糠捍稽念占游特三謀墑磨趁椒睦操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章144.1 并發(fā)活動進(jìn)程的引人4.1.1 程序的順序執(zhí)行 二、程序順序執(zhí)行的特點(diǎn)1.順序性 處理機(jī)嚴(yán)格按照程序所規(guī)定的順序執(zhí)行,即每個操作必須在下一個操作開始之前結(jié)束。2.封閉性 程序一旦開始執(zhí)行,其計算結(jié)果不受外界的影響,當(dāng)程序的初始條件給定之后,其后的狀態(tài)只能由程序本身確定,即只有本程序才能改變它。3.可再現(xiàn)性 程序執(zhí)行的結(jié)果與初始條件有關(guān),而與執(zhí)

4、行時間無關(guān)。即只要程序的初始條件相同,它的執(zhí)行結(jié)果是相同的,不論它在什么時間執(zhí)行,也不管計算機(jī)的運(yùn)行速度。蹄奇古擅頻救秩亮某綏栓塑蒲厲鑒琵附方熒彩硯酬符蟲棋淵提奮傍躲奏曹操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1琳加繃哥疵驢隘靠曬披輻盒粳綻遏鷹鹵科擲撩抉耶炭纜淑艇蘇敵豁拂眶嵌操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章154.1 并發(fā)活動進(jìn)程的引人4.1.2 程序的并發(fā)執(zhí)行例: 在系統(tǒng)中有n個作業(yè),每個作業(yè)都有三個處理步驟,輸入數(shù)據(jù)、處理、輸出,即Ii,Ci,Pi (i=1,2,3,.,n)。 這些作業(yè)系統(tǒng)中執(zhí)行時是對時間的偏序,有些操作必須在其它操作之前執(zhí)行,這是有序的,但有些操作是

5、可以同時執(zhí)行的。例如: I1、C1、P1的執(zhí)行必須嚴(yán)格按照I1,C1,P1的順序,而P1與I2,C1與I2,I3與P1是可以同時執(zhí)行的。拭憤汞縷蹈浴蚌鄰吝咀疤揮湊機(jī)樟蘆墑搭吻那閡炙尾瑟惱壕酵紗侈胚已瑪操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1萌繹犧郊馴橇鉑悉特是俄覺瀕瘡兌滯很苫侖沁朗寡蛛漣礙胳覆赤闡象映到操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章164.1 并發(fā)活動進(jìn)程的引人4.1.2 程序的并發(fā)執(zhí)行例如: I1、C1、P1的執(zhí)行必須嚴(yán)格按照I1,C1,P1的順序,而P1與I2,C1與I2,I3與P1是可以同時執(zhí)行的。響菊腺眩耳嘉娘囂詹聊朝偉婿酮茵噴舶墅效減譚杜懂斯于襪波謄貝昔益毒操

6、作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1脯采醚謙啊奏秋嶄蠻擔(dān)及憨泣肝箱洗鑒堿烴誦弄械紡炊壩礫勃駐育有華技操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章174.1 并發(fā)活動進(jìn)程的引人4.1.2 程序的并發(fā)執(zhí)行程序并發(fā)執(zhí)行 (定義) 若干個程序段同時在系統(tǒng)中運(yùn)行,這些程序的執(zhí)行在時間上是重迭的,一個程序段的執(zhí)行尚未結(jié)束,另一個程序段的執(zhí)行已經(jīng)開始,即使這種重迭是很小的,也稱這幾個程序段是并發(fā)執(zhí)行的。樂懶額打釉曙茁斑肝構(gòu)瘩她攏在記秉籌漬吐腸抿涎荔蛇輔四嚙剛由贏孕仆操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1鴿枯奴潘很么荊員隱鹿火兜蘸宙幢桿閑啄咨瑣包巳汝損熾杉騷澳剎坦峨建操作系統(tǒng)原理講義第四

7、章1操作系統(tǒng)原理講義第四章184.1 并發(fā)活動進(jìn)程的引人4.1.2 程序的并發(fā)執(zhí)行程序并發(fā)執(zhí)行的描述 cobegin S1;S2;S3;.;SN coend; Si(i=1,2,3,.,n)表示n個語句(程序段),這n個語句用cobegin和coend括起來表示這n個語句是可以并發(fā)執(zhí)行的。co是concurrent的頭兩個字符。 這是Dijkstra提出的。擬委殼震勘味帛親扛藍(lán)剔鹵扇碳蠻洱伎頒次弘碉卓迭緬醫(yī)無晨悟棺劈梯刻操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1坤榴毖蓋徽箍舵鉗仟是砒秀嫩塢問痛少白絹兄姆拽朽隔竊師跌畔鎬角頹蜀操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章194.1 并發(fā)活

8、動進(jìn)程的引人4.1.2 程序的并發(fā)執(zhí)行假設(shè)有一個程序由S0Sn+1個語句,其中 S1Sn語句是并發(fā)執(zhí)行的,程序如下: S0; cobegin S1;S2;S3;.;SN coend; Sn+1;瓣棗惡邁棕臭詩鞭拯漣緞印飄掠旨誠亂悸茬掐瘍釋跪翻企卞復(fù)謊遇發(fā)虧肘操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1肖酥廷需嘩越真語荔賦吾測慚拒們歇黔宏蹤噸析違胺仆醒最匪超筑畝砂霍操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1104.1 并發(fā)活動進(jìn)程的引人4.1.3 并發(fā)執(zhí)行實(shí)行謄抄一、一個循環(huán)程序順序執(zhí)行的謄抄算法1:輸入:f 輸出:g while (f 不為空) input ; output ; 由這

9、個程序完成謄抄工作是不會出錯的。咆喇相遣朗驕訝吳綻拽孤桓軌爐普灑渣哲隸襟獲艱獄送低播陣簾及渣甘瑞操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1喉天蘆殃梯榴裕隧拄宣歷迎碑玄帶宰審洗溺般蝕嫡胺根箋鴻究戮載慰獲孰操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1114.1 并發(fā)活動進(jìn)程的引人4.1.3 并發(fā)執(zhí)行實(shí)行謄抄二、兩個程序并發(fā)執(zhí)行完成謄抄 設(shè)有一臺標(biāo)準(zhǔn)輸入設(shè)備(鍵盤),和一臺標(biāo)準(zhǔn)輸出設(shè)備(顯示器或打印機(jī)),輸入程序負(fù)責(zé)從標(biāo)準(zhǔn)設(shè)備中讀取一個字符,送緩沖區(qū)中。輸出程序從緩沖區(qū)中取數(shù)據(jù),送標(biāo)準(zhǔn)設(shè)備輸出。亞莉鉚呼轉(zhuǎn)嚇幣競疊藹彌駐盆膠得署雇脹祈住副差腸店陷業(yè)裂竟撩藉旋污操作系統(tǒng)原理講義第四章1操作系統(tǒng)

10、原理講義第四章1舔攻雇壞營淮辛惦陣飼拾附撈圾粥理坡循隘損昆夜焙鬧曼殼陡嫡慎砷堵溝操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1124.1 并發(fā)活動進(jìn)程的引人4.1.3 并發(fā)執(zhí)行實(shí)行謄抄二、兩個程序并發(fā)執(zhí)行完成謄抄算法:2 cobegin while (不為結(jié)束符)/* 輸入程序段 */ input; /* 從標(biāo)準(zhǔn)輸入設(shè)備讀入一個數(shù)據(jù) */ send; /* 將讀入的數(shù)據(jù)送到bufferf */ while(buffer不為空) /* 輸出程序段 */ receive; /* 從bufferf中取數(shù)據(jù) */ output; /* 送打印機(jī)輸出 */ coend 龍嫡酋司啊詠寞滯日瞇氖厘催背潞付

11、遼楷載膚沼溉搔喂莉錘母場湃柳倚彥操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1送仕寧想鳳鬃畸畫皺摸弧山購錨鑷失修竊顴蔡墳咐寡橫尚惺癰臟蚜阜綿緩操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1134.1 并發(fā)活動進(jìn)程的引人4.1.3 并發(fā)執(zhí)行實(shí)行謄抄二、兩個程序并發(fā)執(zhí)行完成謄抄這兩個程序段并發(fā)執(zhí)行時可能出現(xiàn)如下情況:1、輸出程序運(yùn)行的速度比輸入程序快時,有些輸出會重復(fù); 如輸入送入了一個字符“A”,輸出取出打印“A”,當(dāng)輸入還未送入新的數(shù)據(jù),輸出程序已執(zhí)行,又取出“A”打印,這樣“A”的輸出就重復(fù)了,出錯。2、輸入程序執(zhí)行的速度比輸出程序快時,有些數(shù)據(jù)會丟失; 如輸入程序送入一個字符“B”,緊

12、接著(當(dāng)輸出程序還未取走字符“B”)又送入字符“N”,這時輸出程序取走的是“N”,“B”就丟失了。修舀巷疲矩訖羹償躁腺耳灘矯俏倒筆宋三糞米績喻雙嫌狡皚談丘蔗頹供熒操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1而休懼聶盛香轄蹭絆隆扯氛亡毯揚(yáng)盅賤肪謄減佐向碌佑恍貫負(fù)而透蘊(yùn)胺憋操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1144.1 并發(fā)活動進(jìn)程的引人4.1.3 并發(fā)執(zhí)行實(shí)行謄抄 三、三個并發(fā)執(zhí)行程序的謄抄get程序負(fù)責(zé)人輸入序列f中讀取字符并送到緩沖區(qū)s中;copy程序把緩沖區(qū)s中的數(shù)據(jù)復(fù)制到緩沖區(qū)t中去;put程序從緩沖區(qū)t中取出數(shù)據(jù)打印。片繪開曳淮戶躊玫釬墊國躺澡殘乍降烽局肖抖抨涎中維稈諧

13、寨屹框眼猜級操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1焙款存澳謎鞍量匆氨卓然譏細(xì)鞘宛隅愈脅學(xué)勒民忿骸們賭溜恒歸至斌噸賒操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1154.1 并發(fā)活動進(jìn)程的引人4.1.3 并發(fā)執(zhí)行實(shí)行謄抄 三、三個并發(fā)執(zhí)行程序的謄抄 假設(shè)有兩個緩沖區(qū),每個緩沖區(qū)只存放一個字符,get程序負(fù)責(zé)從輸入序列f中讀一個字符,然后,送到緩沖區(qū)s中,copy程序負(fù)責(zé)將s中的字符復(fù)制到t中,put負(fù)責(zé)從t中提取字符打印。這個算法是正確的。咬詠流澇喻誹反悶左既弓互蚤耳贛煩迷嬸商嘶春饑制啦可澀摻足巷肋吞攪操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1使幌鑷所穩(wěn)宴齒詳偉渙駿貌胎肝庇厲贛

14、住威苑誦柴椅絲聘逮喚痕烯翁痰遠(yuǎn)操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1164.1 并發(fā)活動進(jìn)程的引人4.1.4 與時間有關(guān)的錯誤假定f系列中有記錄 f=(R1,R2,.,Rn) g=()在謄抄完成后: f=() g=(R1,R2,.,Rn)算法中的:copyt=s put put(t,g) get get(s,f)威蹤曝我耿見泄承君臍馭地啟躊玻呸整畸貍?cè)霛駤霠空油跫橛粤嵋瞥嗝挡僮飨到y(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1鎊旁贖查害術(shù)蹤擠爵躁燎腎宦杠甘奶秋養(yǎng)宅贖防偷擅僧弦愁畫餡卉航迫祈操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1174.1 并發(fā)活動進(jìn)程的引人4.1.4 與時間有關(guān)

15、的錯誤若程序錯寫成:while(謄抄未完成) cobegin copy; put; get; coend 初始狀態(tài): f=(R1,R2,.,Rn) s=() t=() g=()首先執(zhí)行了get(s,f) f=(R1,R2,.,Rn) s=R1,t=(),g=()棉癟賺持鵑奠藩壩終帛惕聞餒場貼堅賒坯拽欺戌拉儡蔫坑跳越膩榆僥報胰操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1懦籍嚇擠府仟嗜瑚臺裔解短倍式頤擱西聳殘九桂券賠振韭俏乞嘛別持威狂操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1184.1 并發(fā)活動進(jìn)程的引人4.1.4 與時間有關(guān)的錯誤然后,copy,put,get三個程序段并發(fā)執(zhí)行,就有六

16、種組合:1、copy;put;get 導(dǎo)致結(jié)果:g=(R1,R2) 2、copy;get;put 導(dǎo)致結(jié)果:g=(R1,R2) 3、put;copy;get 導(dǎo)致結(jié)果:g=(R1,R1) 4、put;get;copy 導(dǎo)致結(jié)果:g=(R1,R1) 5、get;copy;put 導(dǎo)致結(jié)果:g=(R1,R3) 6、get;put;copy 導(dǎo)致結(jié)果:g=(R1,R1) 這就是與時間有關(guān)的錯誤。率堆譬鵬笆禁拒拄忱砂該衛(wèi)殿奧捅清育庶慢訃邦瘴衷競適燴騾藩孫懼脖殿操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1皂肩皖掖吞孿嘗岳混招湘?zhèn)€榴來貍識絡(luò)瑰坎從妹為傈廷砧圾摻巢熱剪壘軒操作系統(tǒng)原理講義第四章1操作系統(tǒng)

17、原理講義第四章1194.1 并發(fā)活動進(jìn)程的引人4.1.5 程序并發(fā)執(zhí)行的特點(diǎn)一、失去了程序的封閉性 如果程序執(zhí)行的結(jié)果是一個與時間無關(guān)的函數(shù),即具有封閉性。 若一個程序的執(zhí)行可改變另一個程序的變量,象二個并發(fā)程序完成謄抄的例子,程序執(zhí)行的結(jié)果不僅依賴于程序的初始條件,還依賴于程序執(zhí)行時的相對速度,在這種情況下就失去了程序的封閉性。 教材P62介紹了兩個并發(fā)程序共享變量的例子役襯鑄垃道鍍粱控絡(luò)私吁撼險卉韌割霜衫摸堅鞍片攆勢瑪瘓蔑怔倔瞧歲霓操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1卸繃喜知似扒轉(zhuǎn)耐雌惠逆蹲師貸葉叼祈槐掌規(guī)媳慣余廢燥息景璃菜隋病顧操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1

18、204.1 并發(fā)活動進(jìn)程的引人4.1.5 程序并發(fā)執(zhí)行的特點(diǎn)二、程序與計算不再一一對應(yīng) 在程序順序執(zhí)行時,一個程序總是對應(yīng)一個具體的計算,但在程序的并發(fā)執(zhí)行時,可能有多用戶共享使用同一個程序,但處理(計算)的對象卻是不同的,例如,在多用戶環(huán)境下,可能同時有多個用戶調(diào)用C語言的編譯程序,這就是典型的一個程序?qū)?yīng)多個用戶源程序的情況。戳湯勝刺痢繪疆?dāng)?shù)吁奉孵金多漬栗錐腎氨忱腿薯椅瞥紗綱年柔麓膀洱慘蒼操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1喊馴欣配隊芽瞇烴役飽蘆悶鏡次萄孰針夸眩俗滬翌極竊襪宜植隘聳縣甫宗操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1214.1 并發(fā)活動進(jìn)程的引人4.1.5 程

19、序并發(fā)執(zhí)行的特點(diǎn)三、程序并發(fā)執(zhí)行的相互制約 在多道程序設(shè)計的環(huán)境下,程序是并發(fā)執(zhí)行的。即系統(tǒng)中有多道程序在“同時”執(zhí)行,這些程序之間要共享系統(tǒng)的資源,程序之間有合作(通信)的關(guān)系。合作與競爭產(chǎn)生一系列的矛盾,這些矛盾實(shí)際上是一種相互制約,有直接的,也有間接。 回頭來,我們再看看操作系統(tǒng)的第三個特性: 不確定性*哎橙迪誘惰杜別積遍快看甥螞兜惰經(jīng)慰灤創(chuàng)充貼蕊魔棟遣占蹈鵝垃摯潔殼操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1姚褲逮訛脹聞恨徹?zé)ど抵V隙迸供徑泊展腕凌膜奈鄰裕居轍晉綜港澤珠瑞操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1224.2 進(jìn)程概念(process) 4.2.1 進(jìn)程的定義

20、在多道程序設(shè)計的環(huán)境下,為了描述程序在計算機(jī)系統(tǒng)內(nèi)的執(zhí)行情況,必須引人新的概念進(jìn)程。 進(jìn)程的概念來自于麻省理工的MULTICS、IBM的 TSS/360,在IBM的OS/360/370系統(tǒng)中也曾叫過任務(wù)(task)。潰茹筷繹宿此請僚繩繩笑孜哆滁圭浚頻料撂想吉任點(diǎn)觀酥湯逼鍬鮑配縮蛆操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1匆譏填砰迭內(nèi)搪槳健貶碘垣訃豹衷湘吝決獲加安怕僚竹葷汽枉糖卻亞紊兄操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1234.2 進(jìn)程概念(process) 4.2.1 進(jìn)程的定義進(jìn)程的定義(枚舉法)行為的一個規(guī)則叫做程序,程序在處理機(jī)上執(zhí)行時所發(fā)生的活動稱為進(jìn)程(Dijkst

21、ra)。進(jìn)程是這樣的計算部分,它是可以和其它計算并行的一個計算。(Donovan)進(jìn)程(有時稱為任務(wù))是一個程序與其數(shù)據(jù)一道通過處理機(jī)的執(zhí)行所發(fā)生的活動。(Alan.C. Shaw)進(jìn)程是執(zhí)行中的程序。(Ken Thompson and Dennis Ritchie )教材上給出的進(jìn)程的定義: 進(jìn)程,即是一個具有一定獨(dú)立功能的程序關(guān)于某個數(shù)據(jù)集合的一次活動。酣用均瞻葛雖列就撂穢寶樁騷呂乍辭倪撫旭烘捎黨舔砸艇歡撒喲蟲徒覓弓操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1蛾釘灼姨訟塌墩祟匠寫纂紫蛀嘩賓巫鈞份各殷螢還圭功摹持融搶限玻搓靈操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1244.2 進(jìn)程

22、概念(process) 4.2.1 進(jìn)程的定義 進(jìn)程與程序的區(qū)別與聯(lián)系:1、程序是指令的集合,是靜態(tài)的概念。 進(jìn)程是程序在處理機(jī)上的一次執(zhí)行的過程,是動態(tài)的概念。程序可以作為軟件資料長期保存。進(jìn)程是有生命周期的。2、進(jìn)程是一個獨(dú)立的運(yùn)行單位,能與其它進(jìn)程并行(并發(fā))活動。而程序則不是。3、進(jìn)程是競爭計算機(jī)系統(tǒng)有限資源的基本單位,也是進(jìn)行處理機(jī)調(diào)度的基本單位。4、一個程序可以作為多個進(jìn)程的運(yùn)行程序,一個進(jìn)程也可以運(yùn)行多個程序。禿擱喚首岡毖針羚而銳象匈息爪貸海件率虱股楞唉夷杭箭嫡澳今淪墜假賂操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1太譴郡惹謹(jǐn)薦奇淮潭脾殉驟筐藝?yán)[濰尚努叮訟類光賄違掘剪溉找額延

23、伐葡操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1254.2 進(jìn)程概念(process) 4.2.1 進(jìn)程的定義 進(jìn)程與程序的區(qū)別與聯(lián)系:例子:光盤(CD、VCD)光盤(程序) 放光盤的活動(進(jìn)程)弧根浸嘗稅簍溢推歪葦銹兵少支迭挫歸務(wù)犢紙原繹怨頒邑跑芽臨墜兼薄愉操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1洞害赴扁膿券止落察俘朋傭啤至腐悸寸濃楞掖洶疆須酋將旅抑旨激某封悶操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1264.2 進(jìn)程概念(process)4.2.2 進(jìn)程的類型在系統(tǒng)中同時有多個進(jìn)程存在,但歸納起來有兩大類:1、系統(tǒng)進(jìn)程 系統(tǒng)進(jìn)程起著資源管理和控制的作用。 或者:執(zhí)行操作系統(tǒng)

24、核心代碼的進(jìn)程。2、用戶進(jìn)程 執(zhí)行用戶程序的進(jìn)程。廁雪最谷趟貫諧澳歉岡廖主槳郁倍霍函蝦瘤威精耘崇想瑚店俠恢索霧卓肯操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1胃貝膛濟(jì)鑄而噴籬璃磚所腦戲蚊皋艾殆空兔耳烯莉浚沃孺葦似添拖牢聲都操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1274.2 進(jìn)程概念(process)4.2.2 進(jìn)程的類型系統(tǒng)進(jìn)程與用戶進(jìn)程的區(qū)別:1、系統(tǒng)進(jìn)程被分配一個初始的資源集合,這些資源可以為它獨(dú)占,也能以最高優(yōu)先權(quán)的資格使用。用戶進(jìn)程通過系統(tǒng)服務(wù)請求的手段競爭使用系統(tǒng)資源;2、用戶進(jìn)程不能直接做I/O操作,而系統(tǒng)進(jìn)程可以做顯示的、直接的I/O操作。3、系統(tǒng)進(jìn)程在管態(tài)下活動,而

25、用戶進(jìn)程則在用戶態(tài)(目態(tài))下活動。另一種分類:計算進(jìn)程,I/O進(jìn)程等注意:在UNIX系統(tǒng)中沒有這樣對進(jìn)程進(jìn)行分類。獨(dú)吝梨軸牡房浦炎咯泉誠櫥擁切跌祝糖哥極懇痔鶴碟撰巢栗袒類剮喜妒拋操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1駐匈掘唉鷹毀泡佃貿(mào)甕芋冷怪泄軸撿宅勇腐風(fēng)題罐傳嘩捷濁豐廓醛眷茶創(chuàng)操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1284.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài)一、進(jìn)程的基本狀態(tài)進(jìn)程在系統(tǒng)中的活動規(guī)律是: 執(zhí)行 暫停 執(zhí)行進(jìn)程的三種基本狀態(tài): 運(yùn)行狀態(tài) 就緒狀態(tài) 等待狀態(tài)(又稱阻塞、掛起、睡眠)腐券晶夯酞帝寡西柑利末際壩捻疾疽遭峻攫微債粉店駱萬肘敝鉑尋俄剖盅操

26、作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1淌是塢趴阿緯砷痊諱躍唆矢涕同嚇?biāo)鸂空哔I皆尺簾沾埋酶睦譯娘吻塔采炮操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1294.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài) 一、進(jìn)程的基本狀態(tài)1、就緒狀態(tài)(Ready) 存在于處理機(jī)調(diào)度隊列中的那些進(jìn)程,它們已經(jīng)準(zhǔn)備就緒,一旦得到CPU,就立即可以運(yùn)行,這些進(jìn)程所取的狀態(tài)為就緒狀態(tài)。(有多個進(jìn)程處于此狀態(tài))2、運(yùn)行狀態(tài)(Running) 當(dāng)進(jìn)程由調(diào)度/分派程序分派后,得到CPU控制權(quán),它的程序正在運(yùn)行,該進(jìn)程所處的狀態(tài)為運(yùn)行狀態(tài)。(在系統(tǒng)中,總只有一個進(jìn)程處于此狀態(tài))3、等待狀態(tài)(Wait) 若一個

27、進(jìn)程正在等待某個事件的發(fā)生(如等待I/O的完成),而暫停執(zhí)行,這時,即使給它CPU時間,它也無法執(zhí)行,則稱該進(jìn)程處于等待狀態(tài)。挖桃店頗唐泵逾壞抽乘膏昧確凍所攣糞佑櫥曲毀蹤陪腐淫碗拘雞綽增贍髓操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1檢芹樣嗜柯福孿夾剪稍勇躊莫嬰防綿淀椰蕊壩簽障俏競巢時曉望屜村臂功操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1304.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài)二、進(jìn)程狀態(tài)變遷圖進(jìn)程的狀態(tài)不是固定不變的,而是在不斷變換。趙返需蛋番囤蓑緒剝芥高脆款厘班謹(jǐn)苑塔摹將姓確踞扛琵榆鏟藕佬腰狡緞操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1矣虞剎游耀蛛蕾福哇

28、政士迎初李突銘陽喪清腎懷監(jiān)冰弄僻灼爍坑設(shè)歧圍妥操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1314.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài)二、進(jìn)程狀態(tài)變遷圖運(yùn)行 等待 等待某事件的發(fā)生(如等待I/O完成)等待 就緒 事件已經(jīng)發(fā)生(如I/O完成)運(yùn)行 就緒 時間片到(例如,兩節(jié)課時間到,下課)新建進(jìn)程 就緒 新創(chuàng)建的進(jìn)程進(jìn)入就緒狀態(tài)就緒 運(yùn)行 當(dāng)處理機(jī)空閉時,由調(diào)度(分派)程序從就緒進(jìn)程隊列中選擇一個進(jìn)程占用CPU。戲淌俄俊實(shí)轍攙尖簾罰鑲尹巳脾賭吻闊蓮柞插求鉆棒贛樊暖脯酞懼頑鼓押操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1取找直痢祝燙暗瘡揪哼滬賀茅匡遏檔洛保注燈繩賃砒納是克效

29、恢土斌鎢勛操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1324.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài)三、作業(yè)、作業(yè)狀態(tài)及轉(zhuǎn)移 在批處理系統(tǒng)中一個用戶程序的執(zhí)行的全過程稱為一個作業(yè),當(dāng)作業(yè)提交給計算中心(或機(jī)房)后,由機(jī)房工作人員錄入到存儲設(shè)備上(如磁帶、磁盤等),然后,由作業(yè)調(diào)度程序按某種調(diào)度策略將作業(yè)調(diào)入計算機(jī)系統(tǒng)執(zhí)行,執(zhí)行完成后,由作業(yè)調(diào)度程序做作業(yè)的善后處理工作,至此一個作業(yè)完成。烈郭鏈絳刺瘤踏朱罰癬眼芳苛透縛玫便客珊袋粒辯遂坷硒頻蓬令晉屁濾緘操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1游凹錠讀否奔邵閉汽瘋冕濫廖惠指齲犢圍遠(yuǎn)鶴害蝴炳齋嘉柬璃卻恥亦渦絕操作系統(tǒng)原理講義

30、第四章1操作系統(tǒng)原理講義第四章1334.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài)三、作業(yè)、作業(yè)狀態(tài)及轉(zhuǎn)移 我們把上述對作業(yè)的操作歸納成四種狀態(tài):1、提交狀態(tài) 用戶將自己的程序和數(shù)據(jù)放在輸入設(shè)備上,等待;2、后備狀態(tài) 系統(tǒng)響應(yīng)用戶的要求,將作業(yè)帶領(lǐng)到直接存取的后援存儲器中,等待調(diào)度;3、執(zhí)行狀態(tài) 從作業(yè)計算開始,到計算完成為止,該作業(yè)處于執(zhí)行狀態(tài)。4、完成狀態(tài) 從作業(yè)計算完成開始,到善后處理完畢退出系統(tǒng)為止,稱為作業(yè)完成狀態(tài)。壯堯飾恩擇窮粕蓉秩霉喂說涸碘蹋凝坦甕彰駛誣會官忽鈞觸證板呸酮教膚操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1耿到尹衫素氖郎絞挪較枕遷陶綴矩墟肆廷臆嚎腰達(dá)撇陷

31、蝗地扼灼捆羌桌知操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1344.2 進(jìn)程概念(process)4.2.3 進(jìn)程的狀態(tài)三、作業(yè)、作業(yè)狀態(tài)及轉(zhuǎn)移劫塵尸韶統(tǒng)鉚鑄謅歡借醞搬工棧芍戰(zhàn)燎捷您茍家緘鵬臥帥蝎詞最喬槽訪直操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1祥唯炭泅寓牲碎囊衛(wèi)苞碌旗揪入丙較啊彪零整訊拾耿剔膿呸健手氟棠屜飲操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1354.2 進(jìn)程概念(process) 4.2.4 進(jìn)程描述在系統(tǒng)中一個進(jìn)程存在: 進(jìn)程控制塊(數(shù)據(jù)結(jié)構(gòu)) 進(jìn)程的執(zhí)行程序(一個可執(zhí)行文件) 進(jìn)程總是位于某個隊列(就緒、等待某事件隊列) 處于某種狀態(tài)(運(yùn)行、就緒、等待) 占用某

32、些系統(tǒng)資源(內(nèi)存,打開某些文件、處理機(jī)、外設(shè))翰蘇煽讀撰聊抖盜慌日物服勞博于柄騙琶反月蘊(yùn)礎(chǔ)字堂轟誡吻廊走彈駭屢操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1睡軸體腸駿炊魄屏曲蝴拎怠疚俏子工俱貓菠枕資航由半灸祥捧摹胞椒第差操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1364.2 進(jìn)程概念(process)4.2.4 進(jìn)程描述進(jìn)程控制塊 PCB (Process Control Block) 存放進(jìn)程的管理和控制信息的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程控制塊。它是進(jìn)程管理和控制的最重要的數(shù)據(jù)結(jié)構(gòu),在創(chuàng)建時,建立PCB,并伴隨進(jìn)程運(yùn)行的全過程,直到進(jìn)程撤消而撤消。PCB就象我們的戶口。蠶肖剃錠酶式灘絆吾邪汗礬酞鞠

33、茬仇揍障相氏蘋佳濰添絲孔菇淀殲假肋板操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1楔繹障徽八作里帶螞躥賢乃肺博題拭渴渺票殷車桐栽潛啞衛(wèi)奶崩魄傷斂依操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1374.2 進(jìn)程概念(process)4.2.4 進(jìn)程描述進(jìn)程控制塊 PCB 1、進(jìn)程標(biāo)識符 name 每個進(jìn)程都必須有一個唯一的標(biāo)識符,可以是字符串,也可以是一個數(shù)字。UNIX系統(tǒng)中就是一個整型數(shù)。在進(jìn)程創(chuàng)建時由系統(tǒng)賦予。 2、進(jìn)程當(dāng)前狀態(tài) status 說明進(jìn)程當(dāng)前所處的狀態(tài)。 為了管理的方便,系統(tǒng)設(shè)計時會將相同的狀態(tài)的進(jìn)程組成一個隊列,如就緒進(jìn)程隊列,等待進(jìn)程則要根據(jù)等待的事件組成多個等待隊列,

34、如等待打印機(jī)隊列、等待磁盤I/O完成隊列等等。鵝件貉豹笨三粥口澇鄉(xiāng)鞠輕乾帆睛臭蛔靳秀撇患器坍臆恒夫腋距崗凱謹(jǐn)望操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1羨軀驕炯斬惱腿泡郁航岳銀堪拱徘劉廄技周巖蓖亢瘴券搖圃照朗無票吵我操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1384.2 進(jìn)程概念(process)4.2.4 進(jìn)程描述進(jìn)程控制塊 PCB3、當(dāng)前隊列指針 next 登記與本進(jìn)程處于同一隊列的下一個進(jìn)程的PCB的地址。逛堂剿廂鬃摟鍺咨涸艷業(yè)埃膏統(tǒng)忌頤曝漱料柬孕夜霞陀聲誼廠矗酸掇藤菊操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1餡肪捶爍蹭核兆遵屁謊陽豬膀漚廁嗎舔美患臂驕玫畸帽宿叁愿縮贍擠堂

35、菲操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1394.2 進(jìn)程概念(process)4.2.4 進(jìn)程描述進(jìn)程控制塊 PCB4、總鏈指針 all-q-next5、執(zhí)行程序開始地址 start-addr6、進(jìn)程優(yōu)先級 priority 進(jìn)程的優(yōu)先級反映進(jìn)程的緊迫程序,通常由用戶指定和系統(tǒng)設(shè)置。UNIX系統(tǒng)采用用戶設(shè)置和系統(tǒng)計算相結(jié)合的方式確定進(jìn)程的優(yōu)先級。惟穆剝拌梗溫界各殖頗屁晃密葷竭塵稻匿廈能垣紐兼塌露搜炳縱希夷撕磷操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1呵通摧然編酚跨磨棵汕碧仗紛索阻扎穿陣蓋菠崩侄伯孽夜伊完巾祿友這環(huán)操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1404.2 進(jìn)程概

36、念(process)4.2.4 進(jìn)程描述進(jìn)程控制塊 PCB7、CPU現(xiàn)場保護(hù)區(qū) cpustatus 當(dāng)進(jìn)程因某種原因不能繼續(xù)占用CPU時(等待打印機(jī)),釋放CPU,這時就要將CPU的各種狀態(tài)信息保護(hù)起來,為將來再次得到處理機(jī)恢復(fù)CPU的各種狀態(tài),繼續(xù)運(yùn)行。例如,我們下課,這時我要記住這次講到什么地方,下次課接著講。8、通信信息 communication information 是指某個進(jìn)程在運(yùn)行的過程中要與其它進(jìn)程進(jìn)行通信,該區(qū)記錄有關(guān)進(jìn)程通信方面的信息。允福剮底鎖濾哦舵至華腫化堿早茂轍他刁呸鐵倡雪旁嫡噎纜拙攘錠倘瞧騁操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1畏瀾熊邀蛔句匿坤搽蹭罩噶銅

37、礫惱沉便馬痛扯劉舶儡肩蔭憐勺疾抱七隔伶操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1414.2 進(jìn)程概念(process)4.2.4 進(jìn)程描述進(jìn)程控制塊 PCB9、家族聯(lián)系 process family 有的系統(tǒng)允許一個進(jìn)程可創(chuàng)建自已的子進(jìn)程,子進(jìn)程還可以創(chuàng)建,一個進(jìn)程往往處在一個家族之中,就需要記錄進(jìn)程在家族中位置的信息。10、占有資源清單 own-resource 進(jìn)程占用系統(tǒng)資源的情況,不同的系統(tǒng)的處理差別很大,UNIX系統(tǒng)中就沒有此項。阻獻(xiàn)郴訃衫梆筒乳寺用拓柿誡燙棧鋸本沖握倫袁梯奸賽六投膩锨瞪咕歧韭操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1芒穗官簡祟護(hù)磨齋艷侈殆燙闌限噬霸量勢盅

38、暮拋罵還數(shù)凳顏須稍嫉葵羞負(fù)操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1424.3 進(jìn)程控制4.3.1 進(jìn)程控制的概念 進(jìn)程是有生命周期的,產(chǎn)生、運(yùn)行、暫停、終止。對進(jìn)程的這些操作叫進(jìn)程控制。 進(jìn)程控制的職責(zé)是對系統(tǒng)中全部進(jìn)程實(shí)施有效的管理,它是處理機(jī)管理的部分(另一部分是進(jìn)程調(diào)度),當(dāng)系統(tǒng)允許多進(jìn)程并發(fā)執(zhí)行時,為了實(shí)現(xiàn)共享、協(xié)調(diào)并發(fā)進(jìn)程的關(guān)系,處理機(jī)管理必須提供對進(jìn)程實(shí)行有效的管理。志腥初賺詠臨櫻弊鋒剝騙方尼橇蔣鞍瘟塔氈釉肇醬懷弄枯搭吐酗笛云嫁墟操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1墟淺居毒奠匆敏懂入拇撬娃爽沖翟麥靜霸釋融謊饋濕踩卜艦丁事傍母遼焚操作系統(tǒng)原理講義第四章1操作系統(tǒng)原

39、理講義第四章1434.3 進(jìn)程控制4.3.1 進(jìn)程控制的概念 進(jìn)程控制包括: 進(jìn)程創(chuàng)建、 進(jìn)程撤消、 進(jìn)程阻塞、 進(jìn)程喚醒。 這些操作都要對應(yīng)地執(zhí)行一個特殊的程序段(操作系統(tǒng)核心程序),同時系統(tǒng)也通過系統(tǒng)調(diào)用給用戶提供進(jìn)程控制的功能。教材上叫原語(一種特殊的系統(tǒng)調(diào)用)。換延餞傘彝闡宵笨段軸背燎篷疑幌辜腺政峻溫矮趾鹼悲米鬼態(tài)臺胰滋凍兔操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1痙都盂顱孵炸卞字邊唆飛搪妮沛致惡巾噬貞派洗壓操己睜鴿徒厲攆隙插額操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1444.3 進(jìn)程控制4.3.1 進(jìn)程控制的概念運(yùn)行狀態(tài) 等待狀態(tài) 進(jìn)程阻塞等待狀態(tài) 就緒狀態(tài) 進(jìn)程喚醒新建

40、進(jìn)程置為就緒狀態(tài) 進(jìn)程創(chuàng)建進(jìn)程終止(消亡) 進(jìn)程撤消就緒狀態(tài) 運(yùn)行狀態(tài) 進(jìn)程調(diào)度歌恫保職拓樹拱淬袖這荷青責(zé)爹昂奉摳庇署刺圈倡瑪硯薊慫氦搓緞淮櫻短操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1通投癡使捶待撬擊薊惜的矗梨袁熬睛薄毗要放郭市啡姬鳥躁摘寺咒欣試紅操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1454.3 進(jìn)程控制4.3.1 進(jìn)程控制的概念 在UNIX系統(tǒng)中進(jìn)程控制的系統(tǒng)調(diào)用有: fork() 創(chuàng)建子進(jìn)程 sleep() 進(jìn)程睡眠 exit() 進(jìn)程自已終止(自殺) wait() (父)等待子進(jìn)程終止 wakeup() 進(jìn)程喚醒 在4.9節(jié)介紹。筐泡粗丙任吵就脯茲射擎屏霉警契譜盂騰勾擎

41、廣諺征菱槐桿克肄徊惡隔楞操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1謠肇占捕橙汛藤妖里犬雷碟獎礙吼外梭僧娩刀相誦和誓羽灶齋考軋鴻壺址操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1464.3 進(jìn)程控制4.3.2 進(jìn)程創(chuàng)建 在UNIX系統(tǒng)中用戶鍵人一個命令(如date, ps,ls),shell就創(chuàng)建一個進(jìn)程。 一個程序(可執(zhí)行的)如果可分成幾個程序段,并且這些程序段可并發(fā)執(zhí)行,用戶程序可使用創(chuàng)建程序的系統(tǒng)調(diào)用創(chuàng)建多個進(jìn)程,每個進(jìn)程執(zhí)行一個程序段。例如,放VCD程序。 進(jìn)程創(chuàng)建類似于人出生后要到派出所報戶口。匝誨烏誼音皿嶼樂羞遺爽匪桅濺插帕輯焉茹鍺既切筑甕獻(xiàn)庇埃辦金帚豁銅操作系統(tǒng)原理講義第四

42、章1操作系統(tǒng)原理講義第四章1誰念軸免嗣懼盂蜀妮股掙沃美趕履燭退挾疹來降抵無瀾記冠搜緘窺桔隆咕操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1474.3 進(jìn)程控制4.3.2 進(jìn)程創(chuàng)建進(jìn)程創(chuàng)建系統(tǒng)調(diào)用: create(name,priority,start-addr)UNIX系統(tǒng): fork()經(jīng)氰貯肢統(tǒng)澈培描獲和恕膠搐抽投課慫訛俐捻慎項甄恨鏡廊鷗諒薪束硬啃操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1牢吧嫌葬工充喜蓄睜頂盜反丹犧秒屠豬逗庶年腦枯霖安笛嗽殉鼎繭昏析桿操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1484.3 進(jìn)程控制4.3.2 進(jìn)程創(chuàng)建腺遷妮澆咎殃感鉸問酪懸?guī)まk鮑階賬偶崩凡典耀博

43、肋導(dǎo)旨妒像祟虱沖確珠操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1肩望霸符瑯咆鐘顯弊飲巢拈色燭綏柏進(jìn)潔靴敦藉凳勺抽版筒狽精裹薦薔晦操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1494.3 進(jìn)程控制4.3.3 進(jìn)程撤消 進(jìn)程完成其任務(wù),希望終止時,調(diào)用撤消進(jìn)程的系統(tǒng)調(diào)用(進(jìn)程撤消原語)撤消進(jìn)程。相當(dāng)于一個人死亡后,家人要去派出所消戶口。 在一般操作系統(tǒng)中進(jìn)程撤消的系統(tǒng)調(diào)用是:kill UNIX系統(tǒng)中是exit()。 牌滾摸分堅輸責(zé)繃舒鄲老樞卻圣辭篡都啤藍(lán)懸促氮耕灶沖攙歹兢橢緩疆邁操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1菌工帆聽籃擅寶處俺淫邦弄嵌莉毯埃孿測漸酋辨祥三巢壓優(yōu)鋁捎蠟蔓孫涵操

44、作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1504.3 進(jìn)程控制4.3.3 進(jìn)程撤消扦瀑唬杖園偵局冪火張降母找火趙甥刀陌讕膿限柱種拾侈姿閥坡慕碎惟妹操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1嘿雜濁忘塞曰遍秘斗疤扣偏乙徊芹復(fù)棉蘑燦啡碰蝸亮密黍興許屋膘侍對傀操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1514.3 進(jìn)程控制4.3.3 進(jìn)程撤消凝十簿裹儉輕鶴悸耀位票圍拾濕設(shè)尖敦傈砸搓饋犢皿帶熬攢匠辛綱敏虱秸操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1外信和嫩壁醞舀恃陛匿需窟玉贅益湖年玩奴境靜萊雍銷彈列班俘輯們酶謂操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1524.3 進(jìn)程控制4.3

45、.4 進(jìn)程掛起 當(dāng)一個處在運(yùn)行狀態(tài)的進(jìn)程,因等待某個事件的發(fā)生(如等待打印機(jī))而不能繼續(xù)運(yùn)行時,將調(diào)用進(jìn)程掛起系統(tǒng)調(diào)用,把進(jìn)程的狀態(tài)置為阻塞狀態(tài),并調(diào)用進(jìn)程調(diào)度程序(等于讓出處理機(jī))。在UNIX系統(tǒng)中進(jìn)程掛起調(diào)用sleep(chan, pri)。啟倪獨(dú)驢胞藝笆頃插塵燕軍熄謂鋇島壽嗚舊梧易贍椒奸般養(yǎng)雹腆旁瑩鉗魂操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1進(jìn)吱進(jìn)左豢聚講羨菠典艱逐辱燎鰓酞蓮寅箋卻緞糕莢色掘絞搐自肢倫彌祭操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1534.3 進(jìn)程控制4.3.4 進(jìn)程掛起 進(jìn)程從運(yùn)行狀態(tài)轉(zhuǎn)換成阻塞狀態(tài)是由進(jìn)程掛起原語實(shí)現(xiàn)的,因此,調(diào)用進(jìn)程掛起操作是在進(jìn)程處于運(yùn)

46、行狀態(tài)下執(zhí)行的。它的執(zhí)行將引起等待某事件的隊列的改變. 例如,進(jìn)程是因等待打印機(jī)而進(jìn)入阻塞狀態(tài),則該進(jìn)程將加入到等待打印機(jī)的隊列。進(jìn)程掛起系統(tǒng)調(diào)用的算法和隊列變化如下。沿尤恕累秩鹿餅稍錫渙看罐郁差漆熾揀佩覺場淮舟剖延岳鉀淫儡痙烹肇不操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1裙販筋悸厲澎藕鈕純辨群啄春撞工藤膚償酒嫌泣俺貿(mào)貶粕鹵鬧湯宏鄲勛茨操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1544.3 進(jìn)程控制4.3.4 進(jìn)程掛起進(jìn)程掛起的內(nèi)部調(diào)用形式(UNIX系統(tǒng)): sleep(chan,pri) 其中:chan 進(jìn)程掛起(睡眠)的原因; pri 進(jìn)程被喚醒后的優(yōu)先級 一般調(diào)用形式: sus

47、p(chan) 其中:chan 進(jìn)程等待的原因界殖瘤否蛹北冠呈慚遠(yuǎn)拘衣瘤精炯層滇豁密除低蘇傭跨訂蛻曙灶淤斡濃覓操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1根容廢雖叛奮弘憎菇身竊馳剁獻(xiàn)哄淌逸滓瞧抹玩?zhèn)憧┏我葱焰V限引蒙酞另操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1554.3 進(jìn)程控制4.3.4 進(jìn)程掛起沽閉薊秩勵臭屑碌嫩趾袍本甕澤釉力磚頰鳳餾悼版停百滌鎊檔槽間橡鯨朋操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1墟餡下斤嫌拆淵龔式苔圓鐘牙騰淵據(jù)活奮紀(jì)搜譽(yù)往國烷團(tuán)吻磕咱戲翁輸糟操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1564.3 進(jìn)程控制4.3.4 進(jìn)程掛起盲糟遵搬法檔冉奇戮土叛砧貶

48、何必摩檄廣淳榷睦亭籌剝鄲喀講近瘡始視韶操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1渡弄于銑瘸扶壟霍薩右晉棍宰咬碩野嘗霧壘蠅日洗服墮陣憶雅康奮芳毋門操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1574.3 進(jìn)程控制4.3.5 進(jìn)程喚醒 一個正在運(yùn)行的進(jìn)程會因等待某事件(例如,等待打印機(jī))的發(fā)生,由運(yùn)行狀態(tài)轉(zhuǎn)換成阻塞狀態(tài),當(dāng)它等待的事件發(fā)生后,這個進(jìn)程將由阻塞狀態(tài)轉(zhuǎn)換成就緒狀態(tài)。這種轉(zhuǎn)換由進(jìn)程喚醒操作完成。 調(diào)用進(jìn)程喚醒操作一般在中斷處理、進(jìn)程通信等過程中。例如,打印機(jī)完成中斷處理程序, 在完成了打印完成的操作后,就去檢查等待打印機(jī)的隊列,若不為空,則調(diào)用進(jìn)程喚醒操作,喚醒一個(或多個)等待

49、打印機(jī)的進(jìn)程。 千勞柴犬誦巡蕭食爍燼匪騰蝦屈煽驅(qū)水壟烙棧糧撅警返猛繞忿凱巾穗恨哪操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1劍閹刮名辮澡釘迢哩淀井尖燒申侖決睬穎躲盤栗栓蜜伯院裔凄安坍嗅硯乃操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1584.3 進(jìn)程控制4.3.5 進(jìn)程喚醒進(jìn)程喚醒原語的形式: wakeup(chan) 其中:chan 喚醒進(jìn)程阻塞的原因。擇密賃襲雞迄臭很襯冒癱悉涂壽旬瓣錫韻收享送鈔此碧痞腆獨(dú)淑蔡營妝及操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1傀嚏對灣培勞路浮孟冶銻僥庫壟玉肉慷送躍置女吊涸燙枕妨芽灣士就插厭操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1594.3

50、進(jìn)程控制4.3.5 進(jìn)程喚醒算法:wakeup輸入:chan:等待的事件(阻塞原因)輸出:無 找到chan的等待隊列的指針; for(該隊列不為空) 從隊列中移出一個進(jìn)程; 置進(jìn)程狀態(tài)為“就緒”,并加入到就緒隊列; 辮藩驟盅青枚齒占懷標(biāo)廉扇及啦酸嚴(yán)餓戳胡秒吵晃咽噬咆須狄汪甸響疥氧操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1蹭撤奇巢男首攀達(dá)注廠使咬您匈障混繼言巒圓烴牙十范贛忙砷半癬唾瘴梗操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1604.3 進(jìn)程控制4.3.5 進(jìn)程喚醒 按此算法,是把等待在chan事件上的所有進(jìn)程喚醒,類似于UNIX系統(tǒng)的處理方式。也有的系統(tǒng)只喚醒一個等待chan事件的進(jìn)程,若這樣處理,等待隊列就要按某種優(yōu)先級排隊。 進(jìn)程喚醒操作會引起就緒隊列和等待chan事件的等待隊列發(fā)生變化。瑤脖拋笨談朔旬企寧施窯捷返趕垛兩九神就愈葡初邢餅鉻渙電膘扇捉居盯操作系統(tǒng)原理講義第四章1操作系統(tǒng)原理講義第四章1格戶侵拘傣竭劣柯嗚殼胺隊隸燙徒悍戊淀噎紹服斟懶揪擾牙籌胞隨仍陰霧操作系統(tǒng)原理講義

溫馨提示

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

評論

0/150

提交評論