進(jìn)程的描述與控制


進(jìn)程的定義和特征

    在多道程序環(huán)境下,程序的執(zhí)行屬于并發(fā)執(zhí)行樟插,此時(shí)它們將失去其封閉性,并具
    有間斷性失息,以及運(yùn)行結(jié)果不可再現(xiàn)的特性凭语。為了使參與并發(fā)執(zhí)行的每個(gè)程序都能
    獨(dú)立地運(yùn)行峭范,在操作系統(tǒng)中有一個(gè)與之相配的數(shù)據(jù)結(jié)構(gòu)墓造,稱為進(jìn)程控制塊.
    (Process Control Block,PCB).操作系統(tǒng)利用PCB來描述進(jìn)程的基本情況和活動(dòng)
    過程杏愤,進(jìn)而控制和管理進(jìn)程。這樣推掸,由程序段桶蝎、相關(guān)的數(shù)據(jù)段和PCB三部分便
    構(gòu)成了進(jìn)程實(shí)體(又稱進(jìn)程映像)。一般情況下谅畅,我們把進(jìn)程實(shí)體就簡(jiǎn)稱為進(jìn)程
    例如,所謂創(chuàng)建進(jìn)程就是創(chuàng)建進(jìn)程中的PCB噪服;而撤銷進(jìn)程就是撤銷進(jìn)程的PCB
進(jìn)程的定義:
    1.進(jìn)程是程序的一次執(zhí)行
    2.進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)毡泻。
    3.進(jìn)程是具有獨(dú)立功能的程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過程,它是系統(tǒng)進(jìn)行資源
       分配和調(diào)度的一個(gè)獨(dú)立單位粘优。
    傳統(tǒng)os的進(jìn)程定義為:進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過程仇味,是系統(tǒng)進(jìn)行資源分配和調(diào)度的
    一個(gè)獨(dú)立單位。

進(jìn)程的特征

1.動(dòng)態(tài)性雹顺。進(jìn)程的實(shí)質(zhì)是進(jìn)程實(shí)體的執(zhí)行過程丹墨。由創(chuàng)建而生,調(diào)度而執(zhí)行嬉愧,撤銷而消亡贩挣。
2.并發(fā)性。是指多個(gè)進(jìn)程實(shí)體同存于內(nèi)存中没酣,且能在一段時(shí)間內(nèi)同時(shí)運(yùn)行王财。
3.獨(dú)立性。是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行裕便、獨(dú)立獲得資源和獨(dú)立接受調(diào)度的基本單位绒净。未建立PCB的程序都不能作為一個(gè)獨(dú)立的單位參與運(yùn)行。
4.異步性偿衰。即進(jìn)程按各自獨(dú)立的挂疆、不可預(yù)知的速度向前推進(jìn)。

進(jìn)程的基本狀態(tài)及轉(zhuǎn)換

進(jìn)程的三種基本狀態(tài)
1.就緒狀態(tài)下翎。萬事俱備缤言,只欠CPU。
2.執(zhí)行狀態(tài)漏设。進(jìn)程已獲cpu墨闲,程序正在執(zhí)行。
3.阻塞狀態(tài)郑口。若處于執(zhí)行狀態(tài)的進(jìn)程發(fā)生如IO鸳碧,申請(qǐng)緩沖區(qū)失敗盾鳞,暫時(shí)無法繼續(xù)執(zhí)
   行的狀態(tài)。此時(shí)引起進(jìn)程調(diào)度瞻离,OS把處理機(jī)分配給另一個(gè)就緒進(jìn)程腾仅,讓受阻進(jìn)
   程處于暫停狀態(tài)。
三種基本狀態(tài)的轉(zhuǎn)換
Paste_Image.png

創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)
1.創(chuàng)建狀態(tài):進(jìn)程是由創(chuàng)建而生
    首先由進(jìn)程申請(qǐng)一個(gè)空白PCB套利,并向PCB中填寫用于控制和管理進(jìn)程的信息推励;
    然后為該進(jìn)程分配運(yùn)行時(shí)所必須的資源;最后肉迫,把該進(jìn)程轉(zhuǎn)入就緒狀態(tài)并插入
    就緒隊(duì)列中验辞。
    若進(jìn)程所需資源不住,此時(shí)創(chuàng)建工作尚未完成喊衫,進(jìn)程不能被調(diào)度運(yùn)行跌造,于是把
    此時(shí)進(jìn)程所處的狀態(tài)稱為創(chuàng)建狀態(tài)。
 2.終止?fàn)顟B(tài)
    首先族购,等待操作系統(tǒng)進(jìn)行善后處理壳贪,最后將其PCB清零,并將PCB空間返回系統(tǒng)寝杖。

掛起操作和進(jìn)程狀態(tài)的轉(zhuǎn)換

掛起操作的引入
1.終端用戶的需要
2.父進(jìn)程請(qǐng)求
3.負(fù)荷調(diào)節(jié)的需要
4.操作系統(tǒng)的需要
引入掛起操作后五個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換
1.NULL -> 創(chuàng)建:一個(gè)新進(jìn)程產(chǎn)生時(shí)违施,該進(jìn)程處于創(chuàng)建狀態(tài)
2.創(chuàng)建 -> 活動(dòng)就緒:在系統(tǒng)的資源允許的情況下,完成對(duì)進(jìn)程創(chuàng)建的必要操作后瑟幕,
                  相應(yīng)的系統(tǒng)進(jìn)程將進(jìn)程的狀態(tài)轉(zhuǎn)換為活動(dòng)就緒狀態(tài)
3.創(chuàng)建 -> 靜止就緒:在系統(tǒng)資源不足的情況下磕蒲,系統(tǒng)將其轉(zhuǎn)為靜止就緒態(tài),安置在
                  外存收苏,不參與調(diào)度亿卤,此時(shí)進(jìn)程創(chuàng)建工作尚未完成
4.執(zhí)行 -> 終止

進(jìn)程管理中的數(shù)據(jù)結(jié)構(gòu)

 便于對(duì)計(jì)算機(jī)中的各類資源的使用和管理,os將它們抽象為相應(yīng)的各種數(shù)據(jù)結(jié)構(gòu)
操作系統(tǒng)中用于管理控制的數(shù)據(jù)結(jié)構(gòu)
內(nèi)存表鹿霸,設(shè)備表排吴,文件表和進(jìn)程表
進(jìn)程控制塊PCB的作用
1.作為獨(dú)立運(yùn)行基本單位的標(biāo)志
2.能實(shí)現(xiàn)間斷性運(yùn)行方式
3.提供進(jìn)程管理所需要的信息
4.提供進(jìn)程調(diào)度所需要的信息
5.實(shí)現(xiàn)與其他進(jìn)程的同步與通信

進(jìn)程控制

進(jìn)程控制一般是由os的內(nèi)核中的原語來實(shí)現(xiàn)的。
操作系統(tǒng)內(nèi)核
包括一些與硬件緊密相關(guān)的模塊(如中斷處理程序)懦鼠、各種常用設(shè)備的驅(qū)動(dòng)程序以及
運(yùn)行頻率較高的模塊(如時(shí)鐘管理钻哩、進(jìn)程調(diào)度和許多模塊所公用的一些基本操作) 
將它們常駐內(nèi)存。這種安排的目的有:1.便于對(duì)這些軟件進(jìn)行保護(hù)肛冶,防止遭受其他
應(yīng)用程序的破壞街氢;2.可以提高os的運(yùn)行效率
支撐功能
1.中斷處理
2.時(shí)鐘管理
3.原語操作
資源管理功能
1.進(jìn)程管理
2.存儲(chǔ)器管理
3.設(shè)備管理
進(jìn)程的創(chuàng)建
引起進(jìn)程創(chuàng)建的事件
1.用戶登錄
2.作業(yè)調(diào)度
3.提供服務(wù)
4.應(yīng)用請(qǐng)求
進(jìn)程的創(chuàng)建
1.申請(qǐng)空白PCB
2.為新進(jìn)程分配其運(yùn)行所需的資源
3.初始化進(jìn)程控制塊
    a.初始化標(biāo)識(shí)信息,將系統(tǒng)分配的標(biāo)識(shí)符和父進(jìn)程標(biāo)識(shí)符填入新pcb中
    b.初始化處理機(jī)控制信息睦袖,使程序計(jì)數(shù)器指向程序的入口地址珊肃,使棧頂
       指針指向棧頂
    c.初始化處理機(jī)控制信息,將其設(shè)為就緒或靜止就緒狀態(tài)
4.若進(jìn)程就緒隊(duì)列能夠接納新進(jìn)程則將其插入就緒隊(duì)列
進(jìn)程的終止
引起進(jìn)程終止的事件
1.正常結(jié)束
2.異常結(jié)束
    a.越界錯(cuò)
    b.保護(hù)錯(cuò)
    c.非法指令
    d.特權(quán)指令錯(cuò)
    e.運(yùn)行超時(shí)
    f.等待超時(shí)
    g.I/O故障
3.外界干預(yù)
進(jìn)程的阻塞與喚醒
引起進(jìn)程阻塞和喚醒的事件
1.向系統(tǒng)請(qǐng)求共享資源失敗
2.等待某種操作的完成
3.新數(shù)據(jù)尚未到達(dá)
4.等待新任務(wù)的到達(dá) 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市伦乔,隨后出現(xiàn)的幾起案子厉亏,更是在濱河造成了極大的恐慌,老刑警劉巖烈和,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爱只,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡招刹,警方通過查閱死者的電腦和手機(jī)恬试,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疯暑,“玉大人训柴,你說我怎么就攤上這事$侄” “怎么了畦粮?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)乖阵。 經(jīng)常有香客問我,道長(zhǎng)预麸,這世上最難降的妖魔是什么瞪浸? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮吏祸,結(jié)果婚禮上对蒲,老公的妹妹穿的比我還像新娘。我一直安慰自己贡翘,他們只是感情好蹈矮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸣驱,像睡著了一般泛鸟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上踊东,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天北滥,我揣著相機(jī)與錄音,去河邊找鬼闸翅。 笑死再芋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坚冀。 我是一名探鬼主播济赎,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了司训?” 一聲冷哼從身側(cè)響起构捡,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎豁遭,沒想到半個(gè)月后叭喜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蓖谢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年捂蕴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闪幽。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啥辨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盯腌,到底是詐尸還是另有隱情溉知,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布腕够,位于F島的核電站级乍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏帚湘。R本人自食惡果不足惜玫荣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望大诸。 院中可真熱鬧捅厂,春花似錦、人聲如沸资柔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贿堰。三九已至辙芍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間官边,已是汗流浹背沸手。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留注簿,地道東北人契吉。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像诡渴,于是被迫代替她去往敵國和親捐晶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子菲语,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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