第二章 進(jìn)程的描述與控制2

2.2進(jìn)程控制與同步

一像吻、進(jìn)程控制

1杖虾、進(jìn)程控制的基本過(guò)程:

1)進(jìn)程的創(chuàng)建? 2)進(jìn)程的終止? 3)進(jìn)程的阻塞與喚醒? 4)進(jìn)程的掛起和激活

2流昏、系統(tǒng)中運(yùn)行的進(jìn)程并不都是孤立的冀偶,有的進(jìn)程運(yùn)行后,會(huì)調(diào)用其他進(jìn)程來(lái)執(zhí)行花沉,這樣就組成了進(jìn)程間的父子關(guān)系柳爽。

(一)進(jìn)程的創(chuàng)建

1、一個(gè)進(jìn)程創(chuàng)建另一進(jìn)程的原因

1)用戶登錄? ?2)作業(yè)調(diào)度? ??

3)提供服務(wù):運(yùn)行中的用戶程序提出功能請(qǐng)求碱屁,要?jiǎng)?chuàng)建服務(wù)進(jìn)程

4)應(yīng)用請(qǐng)求:應(yīng)用程序自己創(chuàng)建進(jìn)程磷脯,完成特定功能的新進(jìn)程。

2娩脾、創(chuàng)建過(guò)程(重點(diǎn))

(1)申請(qǐng)空白PCB

(2)為新進(jìn)程分配資源:內(nèi)存資源的處理

(3)初始化進(jìn)程控制塊:信息填寫(xiě)

(4)將新進(jìn)程插入就緒隊(duì)列

注:上述過(guò)程不可以被打斷U允摹!

(二)進(jìn)程的終止

1柿赊、引起進(jìn)程終止的事件

1)正常結(jié)束? ?2)異常結(jié)束? ?3)外界干預(yù)

2俩功、終止過(guò)程

(1)根據(jù)進(jìn)程標(biāo)示符,檢索出該進(jìn)程PCB碰声,讀其狀態(tài)诡蜓。

? ? ?如果是執(zhí)行態(tài),就立即終止并置調(diào)度標(biāo)志為真胰挑,指示重新進(jìn)行調(diào)度蔓罚。??

? ? ?如果有子孫程序,也要終止以防成為不可控進(jìn)程洽腺。

(2)歸還全部資源至其父進(jìn)程或系統(tǒng)脚粟。

(3)將該進(jìn)程PCB從所在隊(duì)列或鏈表中移出。

(三)進(jìn)程的阻塞與喚醒

1蘸朋、引起進(jìn)程阻塞和喚醒的事件

1)請(qǐng)求系統(tǒng)服務(wù)的滿足情況

2)啟動(dòng)某種需等待(I/O)操作

3)合作需要的新數(shù)據(jù)尚未到達(dá)

4)執(zhí)行某功能的進(jìn)程暫時(shí)無(wú)新工作可做(如發(fā)送數(shù)據(jù)進(jìn)程)

2、阻塞和喚醒過(guò)程

阻塞:

由進(jìn)程調(diào)用阻塞原語(yǔ)阻塞自己是主動(dòng)行為扣唱。

1)將PCB中的狀態(tài)改為阻塞

2)該P(yáng)CB加入到阻塞隊(duì)列中

3)轉(zhuǎn)進(jìn)程調(diào)度藕坯,將處理機(jī)分配給另一進(jìn)程

4)進(jìn)行進(jìn)程切換团南,即根據(jù)兩切換進(jìn)程的PCB,保護(hù)與重新設(shè)置處理機(jī)狀態(tài)炼彪。

喚醒:

1)把阻塞進(jìn)程從等待該事件的阻塞隊(duì)列中移出

2)將其PCB中的現(xiàn)行狀態(tài)改為就緒

3)將PCB插入到就緒隊(duì)列中吐根。

(四)進(jìn)程的掛起與激活

1、掛起:

掛起原語(yǔ)將指定進(jìn)程或阻塞進(jìn)程掛起辐马。

1)檢查被掛起進(jìn)程狀態(tài)拷橘,活動(dòng)就緒則改為靜止就緒,活動(dòng)阻塞則改為靜止阻塞

2)將該P(yáng)CB復(fù)制到內(nèi)外存指定區(qū)域

3)若掛起的進(jìn)程是執(zhí)行態(tài)喜爷,則需重新進(jìn)行進(jìn)程調(diào)度冗疮。

注:進(jìn)程只能掛起自己或其子孫進(jìn)程。

2檩帐、激活:

1)若掛起進(jìn)程在外存上术幔,將其調(diào)入內(nèi)存

2)檢查進(jìn)程狀態(tài),若處于靜止就緒湃密,則改為活動(dòng)就緒诅挑,若處于靜止阻塞,則改為活動(dòng)阻塞

二泛源、進(jìn)程同步

1拔妥、兩種制約關(guān)系

1)間接相互制約關(guān)系:主要源于資源共享(互斥)

2)直接相互制約關(guān)系:主要源于進(jìn)程合作(有序)

2、進(jìn)程同步的任務(wù):

使并發(fā)執(zhí)行的諸進(jìn)程之間能有效地共享資源和相互合作达箍,從而使程序的執(zhí)行具有可再現(xiàn)性毒嫡。

3、臨界資源:

1)一次僅允許一個(gè)進(jìn)程使用的資源幻梯。

2)共享變量應(yīng)按臨界資源處理兜畸,一個(gè)進(jìn)程還沒(méi)用完畢前不能讓其他進(jìn)程使用。

4碘梢、生產(chǎn)者—消費(fèi)者問(wèn)題:

1)沒(méi)有產(chǎn)品不能取咬摇,沒(méi)有空間不能放。也不能同時(shí)對(duì)一個(gè)空間進(jìn)行取和放

2)緩沖池組織為循環(huán)緩沖

?in加1表示為in:=(in+1)mod n? ? ? ? ? ? ? ? ? ?out加1表示為out:=(out+1)mod n

?當(dāng)(in+1)mod n=out時(shí)表示緩沖池滿? ? ? ??in=out表示緩沖池空

3)若是一群生產(chǎn)者和消費(fèi)者煞躬,生產(chǎn)者之間共同要影響的變量in要互斥肛鹏;消費(fèi)者間的out也一樣;

5恩沛、互斥:

在操作系統(tǒng)中在扰,當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)使用臨界資源時(shí),另一個(gè)進(jìn)程必須等待雷客,直到占用臨界資源的進(jìn)程退出臨界區(qū)杂穷,我們稱進(jìn)程之間的這種相互制約關(guān)系為“互斥”。

同步:

多個(gè)相互合作的進(jìn)程婚度,在一些關(guān)鍵點(diǎn)上可能需要互相等待或互相交換信息,這種相互制約關(guān)系稱為進(jìn)程同步關(guān)系裹芝。可理解為“有序”娜汁。

6嫂易、臨界區(qū)

1)每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段代碼叫臨界區(qū)。

2)為了正確同步掐禁,對(duì)臨界區(qū)的代碼要增加控制

3)進(jìn)程代碼分四部分:

repeat

entry? section? 進(jìn)入?yún)^(qū):對(duì)欲訪問(wèn)臨界資源檢驗(yàn)怜械。若未被訪問(wèn),設(shè)正在訪問(wèn)標(biāo)志

critical? section? ? ? ? ? ?臨界區(qū):訪問(wèn)臨界資源的代碼

exit? ?section? ? ? ? ? ? ? ? ?退出區(qū):將正在訪問(wèn)的標(biāo)志恢復(fù)為未被訪問(wèn)的標(biāo)志

remainder???section? ? ? 剩余區(qū):其余部分

until?? false

7傅事、同步機(jī)制應(yīng)遵循的規(guī)則

1)空閑讓進(jìn):資源使用最基本原則

2)忙則等待:保證互斥

3)有限等待:合適時(shí)被喚醒防止死等

4)讓權(quán)等待:能主動(dòng)釋放CPU防止忙等

8缕允、實(shí)現(xiàn)互斥的方法:

先修改、后檢查享完、后修改者等待

Repeat

flag[i]=true;? turn=j;

While(flag[j] and turn=j)??do no-op;

操作R的代碼

flag[i]=false;

??? …(其他操作)

Until

false

9灼芭、同步控制的關(guān)鍵

1)不被打斷的進(jìn)行標(biāo)志值的判斷和修改

2)制定一種寫(xiě)法,使標(biāo)志的使用適用于各種具體應(yīng)用情況

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末般又,一起剝皮案震驚了整個(gè)濱河市彼绷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茴迁,老刑警劉巖寄悯,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異堕义,居然都是意外死亡猜旬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)倦卖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)洒擦,“玉大人,你說(shuō)我怎么就攤上這事怕膛∈炷郏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵褐捻,是天一觀的道長(zhǎng)掸茅。 經(jīng)常有香客問(wèn)我,道長(zhǎng)柠逞,這世上最難降的妖魔是什么昧狮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮板壮,結(jié)果婚禮上逗鸣,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好慕购,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布聊疲。 她就那樣靜靜地躺著茬底,像睡著了一般沪悲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阱表,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天殿如,我揣著相機(jī)與錄音,去河邊找鬼最爬。 笑死涉馁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爱致。 我是一名探鬼主播烤送,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼糠悯!你這毒婦竟也來(lái)了帮坚?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤互艾,失蹤者是張志新(化名)和其女友劉穎试和,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纫普,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阅悍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了昨稼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片节视。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖假栓,靈堂內(nèi)的尸體忽然破棺而出寻行,到底是詐尸還是另有隱情,我是刑警寧澤但指,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布寡痰,位于F島的核電站,受9級(jí)特大地震影響棋凳,放射性物質(zhì)發(fā)生泄漏拦坠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一剩岳、第九天 我趴在偏房一處隱蔽的房頂上張望贞滨。 院中可真熱鬧,春花似錦、人聲如沸晓铆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骄噪。三九已至尚困,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間链蕊,已是汗流浹背事甜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滔韵,地道東北人逻谦。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像陪蜻,于是被迫代替她去往敵國(guó)和親邦马。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 進(jìn)程的描述與控制 1.前趨圖與程序執(zhí)行1.1 前趨圖介紹:描述程序先后執(zhí)行順序宴卖,又稱為有向無(wú)循環(huán)圖滋将,可記為DAG(...
    孫夢(mèng)翔閱讀 702評(píng)論 0 1
  • 進(jìn)程控制的基本過(guò)程: 進(jìn)程的創(chuàng)建 進(jìn)程的終止 進(jìn)程的阻塞與喚醒 進(jìn)程的掛起和激活 關(guān)于進(jìn)程的親屬關(guān)系 系統(tǒng)中運(yùn)行的...
    盆栽木只閱讀 638評(píng)論 0 0
  • 1.內(nèi)存的頁(yè)面置換算法 (1)最佳置換算法(OPT)(理想置換算法):從主存中移出永遠(yuǎn)不再需要的頁(yè)面齿兔;如無(wú)這樣的...
    杰倫哎呦哎呦閱讀 3,249評(píng)論 1 9
  • 其實(shí)我今天想睡覺(jué)橱脸,因?yàn)樽蛲頉](méi)睡好,今天坐公交去針灸坐過(guò)了十幾站分苇,我記得在車上沒(méi)有睡呵呵添诉,又下車返回,差點(diǎn)出了即墨市...
    SX書(shū)莘閱讀 348評(píng)論 5 2
  • 追憶者閱讀 215評(píng)論 1 2