進(jìn)程

進(jìn)程

進(jìn)程是操作系統(tǒng)的核心

進(jìn)程由以下三部分組成:

  1. 一個(gè)可執(zhí)行的程序笋妥。
  2. 該程序所需的相關(guān)數(shù)據(jù)(變量祷蝌,工作空間痒钝,緩沖區(qū))
  3. 該程序的執(zhí)行上下文(context)婉支。

上下文是必不可少的鸯隅。所有操作系統(tǒng)用來管理進(jìn)程和處理器執(zhí)行進(jìn)程的信息都包括在執(zhí)行上下文中。這個(gè)上下文包括寄存器的內(nèi)容向挖,進(jìn)程的優(yōu)先級(jí)以及進(jìn)程是否等待I/O事件的完成滋迈。

操作系統(tǒng)設(shè)計(jì)和層次結(jié)構(gòu)
層名字 對(duì)象
13 外殼 用戶程序設(shè)計(jì)環(huán)境
12 用戶進(jìn)程 用戶進(jìn)程
11 目錄 目錄
10 設(shè)備 外設(shè),打印機(jī)户誓,顯示器等
9 文件系統(tǒng) 文件
8 通信 管道
7 虛擬存儲(chǔ)器 段饼灿,頁
6 局部輔存 數(shù)據(jù)塊,設(shè)備通道
5 進(jìn)程原語 進(jìn)程原語帝美,信號(hào)量碍彭,就緒隊(duì)列
4 中斷 中斷處理程序
3 過程 過程,調(diào)用棧悼潭,顯示
2 指令集 演算棧庇忌,微程序解釋器
1 電子線路 寄存器,邏輯門舰褪,總線等

第一層:由電路組成皆疹,其中的對(duì)象是寄存器,村粗單元和邏輯門占拍,對(duì)這些對(duì)象的操作是一些動(dòng)作如清除寄存器或讀取內(nèi)存單元等略就。

第二層:是處理器的指令集,這一層的操作是那些機(jī)器語言指令集所允許的一些指令晃酒,入ADD表牢,SUBTRACT,LOAD,STORE等。

第三層:這一層加入過程概念贝次,包括調(diào)用返回操作崔兴。

第四層:中斷時(shí)處理器保存當(dāng)前內(nèi)容并調(diào)用中斷處理程序。

這四層并不是操作系統(tǒng)的一部分蛔翅,但他們組成了處理器硬件敲茄,然而,操作系統(tǒng)中的一些元素山析,如中斷處理程序堰燎,已在這一層出現(xiàn)。

第五層:進(jìn)程作為程序的執(zhí)行在本層出現(xiàn)盖腿。w為了支持多進(jìn)程爽待,對(duì)操作系統(tǒng)而言基本的要求包括要有掛起和重新執(zhí)行進(jìn)程的能力。這就要求保存寄存器和值以便從一個(gè)進(jìn)程切換到另一個(gè)進(jìn)程翩腐。

第六層:處理計(jì)算機(jī)的輔存鸟款,這一層的主要功能有讀/寫扇區(qū),進(jìn)行定位茂卦,以及傳輸數(shù)據(jù)塊何什。第六層依靠第五層的調(diào)度操作。

第七層:為進(jìn)程創(chuàng)建邏輯空間等龙。真一層將虛擬空間組織成塊处渣,并在主,輔存之間調(diào)度蛛砰,當(dāng)一個(gè)所需塊不在主存中時(shí)罐栈,本層將邏輯地要求第六層傳輸。

第八層:處理進(jìn)程間的信息和消息通信泥畅。其最有利的工具之一就是管道(pipe)荠诬。管道是進(jìn)程間數(shù)據(jù)流的一個(gè)邏輯通道,它也可用來將外部設(shè)備和文件同進(jìn)程連起來位仁。

第九層:支持長(zhǎng)期存儲(chǔ)文件柑贞。

第十層:利用標(biāo)準(zhǔn)接口,提供對(duì)外部設(shè)備的訪問聂抢。

第十一層:負(fù)責(zé)保存系統(tǒng)資源和對(duì)象的外部和內(nèi)部定義間的聯(lián)系钧嘶。外部定義是應(yīng)用程序和用戶可以使用的名字。內(nèi)部定義是能夠被操作系統(tǒng)底層部分用來控制一個(gè)對(duì)象的地址或其他指示符琳疏。

第十二層:這一層支持所有管理進(jìn)程所必須的信息有决,這包括進(jìn)程虛擬地址空間,與該進(jìn)程由相互作用的進(jìn)程和對(duì)象表列空盼,創(chuàng)建該進(jìn)程時(shí)傳遞的參數(shù)等疮薇。

第十三層:在操作系統(tǒng)同用戶間提供一個(gè)界面。他被成為“外殼(shell)”我注,這是因?yàn)樗麑⒂脩艉筒僮飨到y(tǒng)具體實(shí)現(xiàn)分開并使操作系統(tǒng)就像一個(gè)功能的集合按咒。這個(gè)外殼接受用戶命令,解釋后根據(jù)需要?jiǎng)?chuàng)建并控制進(jìn)程但骨。

進(jìn)程狀態(tài)

有2種進(jìn)程狀態(tài)模型:

  1. 每個(gè)進(jìn)程只有2種狀態(tài):運(yùn)行励七,非運(yùn)行。
  2. 有一個(gè)進(jìn)程隊(duì)列奔缠,操作系統(tǒng)從這個(gè)對(duì)列中分派任務(wù)掠抬。
進(jìn)程的產(chǎn)生和終止

當(dāng)有一個(gè)新進(jìn)程要加入當(dāng)錢進(jìn)程隊(duì)列時(shí),操作系統(tǒng)產(chǎn)生一個(gè)控制進(jìn)程的數(shù)據(jù)結(jié)構(gòu)校哎,并且為該進(jìn)程分配地址空間两波,這樣瞳步,新進(jìn)程就產(chǎn)生了。

通常有4種事件會(huì)導(dǎo)致產(chǎn)生新的進(jìn)程:

  1. 新批處理任務(wù)
  2. 交互式登錄
  3. OS產(chǎn)生以提供服務(wù)
  4. 由已存在進(jìn)程產(chǎn)生腰奋。

進(jìn)程的終止:

  1. 正常結(jié)束
  2. 超時(shí)限制
  3. 內(nèi)存不足
  4. 超界(進(jìn)程試圖對(duì)不允許接近的區(qū)域進(jìn)行操作)
  5. 保護(hù)錯(cuò)誤(例如對(duì)只讀文件進(jìn)行寫操作)
  6. 算術(shù)錯(cuò)誤(例如除以零)
  7. 超越時(shí)限(進(jìn)程等待時(shí)間超過了某事件發(fā)生的制定時(shí)間)
  8. I/O失敗
  9. 非法指令
  10. 特權(quán)指令(進(jìn)程試圖執(zhí)行一個(gè)保留給OS使用的指令)
  11. 錯(cuò)誤使用數(shù)據(jù)(數(shù)據(jù)類型出錯(cuò)或數(shù)據(jù)為初始化)
  12. 操作員或OS干預(yù)
  13. 父進(jìn)程終止
  14. 父進(jìn)程需要(父進(jìn)程擁有終止所有子孫進(jìn)程的權(quán)利)

現(xiàn)代操作系統(tǒng)中最基本的組件就是進(jìn)程单起。操作系統(tǒng)的重要功能就是創(chuàng)建,管理和終止進(jìn)程劣坊。當(dāng)進(jìn)程處于活動(dòng)狀態(tài)時(shí)嘀倒,操作系統(tǒng)必須保證每一進(jìn)程都分到處理器執(zhí)行時(shí)間,還要協(xié)調(diào)他們的活動(dòng)局冰,管理沖突請(qǐng)求测蘑,并分配系統(tǒng)資源給這些進(jìn)程。要履行其進(jìn)程管理職能康二,操作系統(tǒng)還必須維持對(duì)每一進(jìn)程的描述碳胳。每個(gè)進(jìn)程是由一個(gè)進(jìn)程映像來表示的,它包括進(jìn)程執(zhí)行的地址空間和一個(gè)進(jìn)程控制塊沫勿。后者包含了操作系統(tǒng)管理該進(jìn)程所需的全部信息固逗,包括其目前的狀態(tài),分配給他的資源藕帜,優(yōu)先級(jí)及其他有關(guān)數(shù)據(jù)烫罩。

在進(jìn)程生命周期中,他會(huì)在很多狀態(tài)之間移動(dòng)洽故。這些狀態(tài)中最重要的是就緒贝攒,運(yùn)行和阻塞。就緒進(jìn)程是指目前并未執(zhí)行但一旦得到操作系統(tǒng)調(diào)度就準(zhǔn)備運(yùn)行的進(jìn)程时甚。運(yùn)行進(jìn)程是指當(dāng)前正被處理器執(zhí)行的進(jìn)程隘弊。在多處理其系統(tǒng)中,可有不止一個(gè)進(jìn)程處于該狀態(tài)荒适。阻塞進(jìn)程是等待某件事完成(比如I/O操作)的進(jìn)程梨熙。

運(yùn)行進(jìn)程可能被中斷或執(zhí)行操作系統(tǒng)的訪管而終止,所謂中斷是指發(fā)生在進(jìn)程之外并可被處理器所識(shí)別的事件刀诬。在這兩種情況下咽扇,處理器都將執(zhí)行切換操作,將控制轉(zhuǎn)交給操作系統(tǒng)例程陕壹。在完成所需工作后质欲,曹組系統(tǒng)可能恢復(fù)被終止的進(jìn)程或切換到另一進(jìn)程。

一些操作系統(tǒng)區(qū)分了進(jìn)程和線程的概念糠馆,前者與資源的擁有有關(guān)嘶伟,而后者與程序的執(zhí)行有關(guān)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末又碌,一起剝皮案震驚了整個(gè)濱河市九昧,隨后出現(xiàn)的幾起案子绊袋,更是在濱河造成了極大的恐慌,老刑警劉巖铸鹰,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件癌别,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡掉奄,警方通過查閱死者的電腦和手機(jī)规个,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門凤薛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姓建,“玉大人,你說我怎么就攤上這事缤苫∷偻茫” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵活玲,是天一觀的道長(zhǎng)涣狗。 經(jīng)常有香客問我,道長(zhǎng)舒憾,這世上最難降的妖魔是什么镀钓? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮镀迂,結(jié)果婚禮上丁溅,老公的妹妹穿的比我還像新娘。我一直安慰自己探遵,他們只是感情好窟赏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著箱季,像睡著了一般涯穷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藏雏,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天拷况,我揣著相機(jī)與錄音,去河邊找鬼掘殴。 笑死蝠嘉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的杯巨。 我是一名探鬼主播蚤告,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼服爷!你這毒婦竟也來了杜恰?” 一聲冷哼從身側(cè)響起获诈,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎心褐,沒想到半個(gè)月后舔涎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逗爹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年亡嫌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掘而。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挟冠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出袍睡,到底是詐尸還是另有隱情知染,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布斑胜,位于F島的核電站控淡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏止潘。R本人自食惡果不足惜掺炭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凭戴。 院中可真熱鬧涧狮,春花似錦、人聲如沸簇宽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魏割。三九已至譬嚣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钞它,已是汗流浹背拜银。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遭垛,地道東北人尼桶。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像锯仪,于是被迫代替她去往敵國(guó)和親泵督。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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

  • 又來到了一個(gè)老生常談的問題庶喜,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢小腊? 今天就這個(gè)問題開始救鲤,來談?wù)劜?..
    tangsl閱讀 4,129評(píng)論 0 23
  • 3.1進(jìn)程 3.1.1 在進(jìn)程執(zhí)行時(shí),任意給定一個(gè)時(shí)間秩冈,進(jìn)程都包含如下信息: 標(biāo)識(shí)符進(jìn)程id本缠,用于區(qū)別其他進(jìn)程 狀...
    Myth52125閱讀 655評(píng)論 0 1
  • 四年前我選擇了一份按摩的工作,收入比正常工資高些入问,就是這份工作讓我在這里磨練四年丹锹,以前的我想只要我用心待人,用心處...
    Chen飛揚(yáng)閱讀 442評(píng)論 0 0
  • 1雪中孤立 冬日萬物凋零謝芬失, 陽光持照冰面透楣黍。 一人獨(dú)自迷霧走, 不知出口在于和麸折。 2煙火 清晨霧茫遍地廣锡凝, 出口...
    宇博韓閱讀 219評(píng)論 0 0