進程



Process Execution state Address space Context switch Process control block(PCB)

進程的定義

進程是操作系統(tǒng)對執(zhí)行的抽象

  • 是執(zhí)行的基本單元
  • 是一個程序動態(tài)執(zhí)行的上下文

進程有的時候被稱為一個job或者task

  • 進程之間是相互獨立的
  • 進程可以被其他進程創(chuàng)建溅话,也可以創(chuàng)建其他進程宵膨。

進程的狀態(tài)

進程狀態(tài)表示進程當前在做什么:

  • Running:線程正在CPU上執(zhí)行指令(它控制著CPU沐批,最多有多少進程可以同時處于running狀態(tài)呢蛉拙?—— 等于CPU個數(shù))
  • Ready:等待被調(diào)度上CPU(準備執(zhí)行皱碘,但另外一個線程正在執(zhí)行)
  • Waiting:等待一個事件(如I/O)(直到等待的事件發(fā)生之前進程都不能被調(diào)度上CPU)
狀態(tài)轉(zhuǎn)化圖

進程內(nèi)有什么?

  • 進程狀態(tài)
  • new鸯乃,ready派阱,running,waiting揩环,halted
  • 程序計數(shù)器
  • 進程要執(zhí)行的下一條指令的地址
  • CPU寄存器
  • 棧指針搔弄,基本的寄存器,變址寄存器
  • CPU進行調(diào)度需要的信息
  • 進程優(yōu)先級丰滑,指向進程的指針
  • 內(nèi)存管理的信息
  • 基本的信息顾犹,虛擬地址空間到物理地址的映射
  • 統(tǒng)計信息
  • 進程的ID,owner,時間限制
  • I/O狀態(tài)信息
  • 分配給當前進程的I/O設(shè)備的列表

一個例子:

程序:

int myval;
int main(int argc, char *argv[]) {
  myval = atoi(argv[1]);
  while(1)
      printf("myval is %d, loc 0x%lx\n", myval, (long)&myval);
}

然后在兩個terminals里面輸入

Myval 5
Myval 6

結(jié)果為:

  • myval的數(shù)值是不一樣的
  • myval的地址是一樣的

與之相關(guān)的知識:

  • 進程的地址空間是相互獨立蹦渣,互不干涉的哄芜,所以值是一樣的
  • 輸出的myval的地址是這個變量的在其所屬進程中的邏輯地址。 所以可以有相同的地址柬唯。
  • 其地址相同是因為认臊,它們對應(yīng)的進程內(nèi)容除了myval的具體值之外基本完全相同。當然锄奢,如果采用其他的內(nèi)容分配策略(比如隨機)失晴,則地址也是可以不一樣的。

進程的地址空間一般是:

  • 用戶空間在低地址
  • 內(nèi)核在較高的地址 (從0xffffffff開始)

進程的用戶地址空間所含內(nèi)容如下:


用戶地址空間

進程控制塊(PCB)

在內(nèi)核中拘央,操作系統(tǒng)用PCB描述一個進程涂屁。

  • PCB包括了進程的所有的信息
  • 在進程不運行的時候,其運行的上下文就被存儲在PCB中灰伟。
PCB的一些內(nèi)容

PCB中存儲了進程所在的隊列
操作系統(tǒng)通過一些隊列來記錄進程的狀態(tài)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拆又,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子栏账,更是在濱河造成了極大的恐慌帖族,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挡爵,死亡現(xiàn)場離奇詭異竖般,居然都是意外死亡,警方通過查閱死者的電腦和手機茶鹃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門涣雕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闭翩,你說我怎么就攤上這事挣郭。” “怎么了疗韵?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵丈屹,是天一觀的道長。 經(jīng)常有香客問我伶棒,道長旺垒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任肤无,我火速辦了婚禮先蒋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宛渐。我一直安慰自己竞漾,他們只是感情好眯搭,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著业岁,像睡著了一般鳞仙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上笔时,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天棍好,我揣著相機與錄音,去河邊找鬼允耿。 笑死借笙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的较锡。 我是一名探鬼主播业稼,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蚂蕴!你這毒婦竟也來了低散?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤骡楼,失蹤者是張志新(化名)和其女友劉穎谦纱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體君编,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年川慌,在試婚紗的時候發(fā)現(xiàn)自己被綠了吃嘿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡梦重,死狀恐怖兑燥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情琴拧,我是刑警寧澤降瞳,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蚓胸,受9級特大地震影響挣饥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沛膳,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一扔枫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锹安,春花似錦短荐、人聲如沸倚舀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痕貌。三九已至,卻和暖如春糠排,著一層夾襖步出監(jiān)牢的瞬間舵稠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工乳讥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柱查,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓云石,卻偏偏與公主長得像唉工,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子汹忠,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

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

  • 又來到了一個老生常談的問題淋硝,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學習操作系統(tǒng)呢? 今天就這個問題開始宽菜,來談?wù)劜?..
    tangsl閱讀 4,129評論 0 23
  • 進程的描述與控制 1.前趨圖與程序執(zhí)行1.1 前趨圖介紹:描述程序先后執(zhí)行順序谣膳,又稱為有向無循環(huán)圖,可記為DAG(...
    孫夢翔閱讀 702評論 0 1
  • 11.1進程的概念 進程的定義 進程是指一個具有一定獨立功能的程序在一個數(shù)據(jù)集合上的一次動態(tài)執(zhí)行過程 精髓:正在執(zhí)...
    龜龜51閱讀 477評論 0 1
  • 1 進程介紹 1.1 進程和程序 所謂進程是由正文段(text)铅乡、用戶數(shù)據(jù)段(user segment)以及系統(tǒng)數(shù)...
    瘋狂小王子閱讀 1,244評論 0 7
  • 田霞《零極限》D8與神性共進餐 每一個當下有上百萬比特的信息產(chǎn)生继谚,但是我們每次能意識到的不到20比特...
    喚醒心靈之旅閱讀 307評論 0 0