進(jìn)程管理(一):進(jìn)程、程序点寥、作業(yè)艾疟、線程

進(jìn)程:資源分配的基本單位,也是獨立運(yùn)行的基本單位。

進(jìn)程管理

1蔽莱、程序的順序執(zhí)行:一個程序通常由若干字段組成弟疆,他們必須按照某種先后次序執(zhí)行,僅當(dāng)前一個操作執(zhí)行后才能進(jìn)行下一個操作盗冷,這類計算過程就是程序的順序執(zhí)行過程怠苔。

特征:

? ? ? ? 順序性:嚴(yán)格按照順序執(zhí)行

? ? ? ? 封閉性:程序一旦開始運(yùn)行,便不受外界條件的改變而改變

? ? ? ? 可再現(xiàn)性:只要程序的初始條件和執(zhí)行環(huán)境相同仪糖,當(dāng)程序重復(fù)執(zhí)行時柑司,一定會得到相同的結(jié)果

2、程序的并發(fā)執(zhí)行:指若干個程序同時在系統(tǒng)中運(yùn)行锅劝,這些程序(或程序段)在執(zhí)行時間上時重疊的攒驰,即一個程序尚未結(jié)束而另一個程序已經(jīng)開始。

特征:

? ? ? ? 間斷性:程序在并發(fā)執(zhí)行時鸠天,由于他們共享資源或為完成同一任務(wù)而相互合作讼育,致使并發(fā)程序之間形成了相互制約的關(guān)系

? ? ? ? 失去封閉性:程序在并發(fā)執(zhí)行過程中,多個程序共享系統(tǒng)中的資源稠集,因而這些資源的狀態(tài)將由多個程序改變奶段,致使程序失去了封閉性。例如:當(dāng)處理器被某程序占用時剥纷,其他程序必須等待

? ? ? ? 不可再現(xiàn)性:由于并發(fā)執(zhí)行導(dǎo)致失去了封閉性痹籍,因此也將導(dǎo)致程序的不可再現(xiàn)型

3、進(jìn)程

3.1 定義

是程序在處理器上的一次執(zhí)行過程

是可以和別的進(jìn)程并行執(zhí)行的計算

是程序在一個數(shù)據(jù)集合上面的執(zhí)行過程晦鞋,是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨立單位

可定義為一個數(shù)據(jù)結(jié)構(gòu)及能在其上進(jìn)行操作的一個程序

是一個程序關(guān)于某個數(shù)據(jù)集合在處理器上順序發(fā)生的活動

3.2 特征

動態(tài)性:進(jìn)程是程序在處理器上的一次執(zhí)行過程蹲缠,因此不是一成不變的,是一個動態(tài)概念:他因創(chuàng)建而產(chǎn)生悠垛,因調(diào)度而執(zhí)行线定,因得不到資源而暫停,因撤銷而消亡确买。

并發(fā)性:多個進(jìn)程可以在同一時間內(nèi)同時存在在進(jìn)程當(dāng)中斤讥,能在一段時間內(nèi)同時運(yùn)行

獨立性:進(jìn)程是一個能夠獨立運(yùn)行的基本單位湾趾,也是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨立單位芭商。

異步性:進(jìn)程以各自的不可預(yù)知的速度向前推進(jìn)。

結(jié)構(gòu)特征:每個進(jìn)程由程序段搀缠、數(shù)據(jù)段和一個進(jìn)程控制塊(Process Control Block)組成铛楣。

3.3 進(jìn)程與程序

進(jìn)程是動態(tài)的,程序是靜態(tài)的艺普。進(jìn)程是程序的執(zhí)行過程簸州,每個進(jìn)程包含了程序段鉴竭、數(shù)據(jù)段以及PCB,而程序是一組有序代碼的集合勿侯,無執(zhí)行意義拓瞪。

進(jìn)程是暫時的缴罗,會暫停也會消亡助琐,程序是永久的。

通過多次執(zhí)行面氓,一個程序可能產(chǎn)生不同的進(jìn)程兵钮;通過調(diào)用關(guān)系,一個進(jìn)程可以執(zhí)行多個程序舌界,進(jìn)程可以創(chuàng)建其他進(jìn)程掘譬,程序不能創(chuàng)建其他程序。

3.4 進(jìn)程與作業(yè)

作業(yè)是用戶需要計算機(jī)完成某項任務(wù)而要求計算機(jī)所做的工作的集合呻拌,一個作業(yè)的完成需要經(jīng)歷作業(yè)提交葱轩、作業(yè)收容、作業(yè)執(zhí)行和作業(yè)完成四個階段藐握。而進(jìn)程是已提交的作業(yè)的執(zhí)行過程靴拱,是資源分配的基本單位

作業(yè)是用戶向計算機(jī)提交的任務(wù)實體猾普。在用戶向計算機(jī)提交作業(yè)之后袜炕,系統(tǒng)將他放入外存中的作業(yè)等待隊列中等待執(zhí)行,而進(jìn)程則是完成用戶任務(wù)的執(zhí)行實體初家,是向系統(tǒng)分配資源的基本單位偎窘。任一進(jìn)程,只要被創(chuàng)建溜在,就會有一部分存在在內(nèi)存當(dāng)中陌知。

一個作業(yè)可由一個以上的進(jìn)程構(gòu)成,而一個進(jìn)程卻不能構(gòu)成多個作業(yè)掖肋。

3.5 PCB是進(jìn)程存在的唯一標(biāo)志

PCB是系統(tǒng)為每一個進(jìn)程定義的一個數(shù)據(jù)結(jié)構(gòu)仆葡,其作用是能夠使程序能夠獨立運(yùn)行,PCB使一個在多道程序環(huán)境下不能獨立運(yùn)行的程序成為一個能獨立運(yùn)行的基本單位培遵,一個能與其他進(jìn)程并發(fā)的進(jìn)程浙芙,因此PCB是為了保證程序的并發(fā)執(zhí)行。創(chuàng)建進(jìn)程籽腕,實際上就是創(chuàng)建了PCB嗡呼,撤銷進(jìn)程實際上就是撤銷PCB。

在系統(tǒng)調(diào)用了某個進(jìn)程之后皇耗,要根據(jù)其PCB中保存的處理機(jī)狀態(tài)信息南窗,設(shè)置該進(jìn)程恢復(fù)運(yùn)行的現(xiàn)場,并根據(jù)其PCB中的程序和數(shù)據(jù)的內(nèi)存地址,找到其程序和數(shù)據(jù)万伤;進(jìn)程在執(zhí)行過程中窒悔,當(dāng)需要和與之合作的進(jìn)程實現(xiàn)同步、通信或者訪問文件時敌买,也需要訪問PCB简珠;當(dāng)進(jìn)程由某種原因暫停執(zhí)行時,也會將其斷點的處理機(jī)狀態(tài)保存在PCB中虹钮。

可見聋庵,在整個生命周期當(dāng)中,系統(tǒng)總是通過PCB對進(jìn)程進(jìn)行控制芙粱,即系統(tǒng)根據(jù)PCB感知進(jìn)程的存在祭玉,所以PCB是進(jìn)程存在的唯一標(biāo)志。

3.6 進(jìn)程和線程

線程的引入:為了使進(jìn)程并發(fā)執(zhí)行春畔,操作系統(tǒng)還必須進(jìn)行一系列的操作脱货,如創(chuàng)建進(jìn)程、撤銷進(jìn)程和進(jìn)程切換等律姨。在進(jìn)行這些操作時振峻,操作系統(tǒng)要為進(jìn)程分配及回收資源,為運(yùn)行進(jìn)程保留現(xiàn)場信息线召,這些工作都需要一定的時空開銷铺韧。線程的引入,是為了減少程序并發(fā)執(zhí)行時所付出的時空開銷缓淹,使操作系統(tǒng)具有更好的并發(fā)性哈打。

線程的定義:線程是一個相對獨立的、可調(diào)度的執(zhí)行單元讯壶。線程上自己本身不占用資源料仗,或者說只占用一點必不可少的資源(如程序計數(shù)器等),它可以與同屬一個進(jìn)程的其他線程共享該進(jìn)程擁有的全部資源伏蚊。

線程與進(jìn)程的區(qū)別及聯(lián)系:

調(diào)度:在傳統(tǒng)的OS中立轧,擁有資源和調(diào)度的基本單位都是進(jìn)程。在引入線程的OS中躏吊,線程使獨立調(diào)度的基本單位氛改,進(jìn)程使擁有資源的基本單位。在同一進(jìn)程中比伏,不同線程之間的切換不會引起線程的切換胜卤。

擁有資源:進(jìn)程使擁有資源的基本單位,線程不擁有資源(或者說只用于一些支持線程存在的資源)赁项,線程可以訪問其隸屬進(jìn)程的資源葛躏。

并發(fā)性:引入線程的OS澈段,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且同一進(jìn)程內(nèi)的多個線程也可以并發(fā)執(zhí)行舰攒,這使得操作系統(tǒng)具有更好的并發(fā)性败富,大大提升了系統(tǒng)的吞吐量。

系統(tǒng)開銷:創(chuàng)建或者撤銷進(jìn)程時摩窃,系統(tǒng)需要為之分配或回收資源兽叮;在進(jìn)程切換時,系統(tǒng)需要保存當(dāng)前進(jìn)程的CPU環(huán)境保存和新調(diào)度到CPU進(jìn)程的和環(huán)境設(shè)置偶芍。而線程切換時充择,只需要少量地保存和設(shè)置寄存器內(nèi)容德玫,因此開銷很小匪蟀。另外,同一個進(jìn)程內(nèi)多個線程共享進(jìn)程的地址空間宰僧,因此材彪,多線程之間的同步與通信非常容易實現(xiàn),甚至無需操作系統(tǒng)的干預(yù)琴儿。

#End

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末段化,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子造成,更是在濱河造成了極大的恐慌显熏,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晒屎,死亡現(xiàn)場離奇詭異喘蟆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鼓鲁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門蕴轨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骇吭,你說我怎么就攤上這事橙弱。” “怎么了燥狰?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵棘脐,是天一觀的道長。 經(jīng)常有香客問我龙致,道長蛀缝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任净当,我火速辦了婚禮内斯,結(jié)果婚禮上蕴潦,老公的妹妹穿的比我還像新娘。我一直安慰自己俘闯,他們只是感情好潭苞,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著真朗,像睡著了一般此疹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遮婶,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天蝗碎,我揣著相機(jī)與錄音,去河邊找鬼旗扑。 笑死蹦骑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的臀防。 我是一名探鬼主播眠菇,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼袱衷!你這毒婦竟也來了捎废?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤致燥,失蹤者是張志新(化名)和其女友劉穎登疗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫌蚤,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡辐益,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了搬葬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荷腊。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖急凰,靈堂內(nèi)的尸體忽然破棺而出女仰,到底是詐尸還是另有隱情,我是刑警寧澤抡锈,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布疾忍,位于F島的核電站,受9級特大地震影響床三,放射性物質(zhì)發(fā)生泄漏一罩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一撇簿、第九天 我趴在偏房一處隱蔽的房頂上張望聂渊。 院中可真熱鬧差购,春花似錦、人聲如沸汉嗽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饼暑。三九已至稳析,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弓叛,已是汗流浹背彰居。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留撰筷,地道東北人陈惰。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像闭专,于是被迫代替她去往敵國和親奴潘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

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