為什么需要進(jìn)程
通常程序不能并發(fā)執(zhí)行,因?yàn)槌绦虿l(fā)執(zhí)行的結(jié)果,是不可再現(xiàn)的。為了使程序,可以并發(fā)執(zhí)行,且能對其加以描述和控制,引入了進(jìn)程的概念。
進(jìn)程的特征和定義
進(jìn)程是程序的一次執(zhí)行,是系統(tǒng)進(jìn)行資源分配調(diào)度的獨(dú)立單位。
結(jié)構(gòu)特征:為了使程序能夠獨(dú)立運(yùn)行,應(yīng)配置一個進(jìn)程控制塊PCB。進(jìn)程是由程序段,相關(guān)的數(shù)據(jù)段和PCB(進(jìn)程控制塊)三部分構(gòu)成的。
動態(tài)性:進(jìn)程是程序的一次執(zhí)行,由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡,進(jìn)程存在一定的生命周期。
并發(fā)性:多個進(jìn)程實(shí)體,同存在于內(nèi)存中,且能在一段時間內(nèi)同時運(yùn)行。
獨(dú)立性:進(jìn)程實(shí)體,是一個能獨(dú)立運(yùn)行,獨(dú)立分配資源,獨(dú)立接收調(diào)度的基本單位。
異步性:進(jìn)程按自己獨(dú)立的不可預(yù)知的速度推進(jìn)。
進(jìn)程的狀態(tài)及轉(zhuǎn)換
創(chuàng)建:保證進(jìn)程的調(diào)度,必須在創(chuàng)建工作完成以后,再進(jìn)行。確保,對進(jìn)程控制塊PCB操作的完整性。
就緒:進(jìn)程已分配到除CPU外的所有必要資源。
執(zhí)行:進(jìn)程已獲得CPU,其指令集正在執(zhí)行。
阻塞/掛起
正在執(zhí)行的進(jìn)程由于發(fā)生某事件導(dǎo)致暫時無法繼續(xù)執(zhí)行。
終止:等待其他進(jìn)程收集完信息后,將刪除該進(jìn)程,清空PCB并返還給系統(tǒng)。
下面是進(jìn)程狀態(tài)圖:

-
cpu
+關(guān)注
關(guān)注
68文章
11202瀏覽量
222196 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7290瀏覽量
128314 -
程序
+關(guān)注
關(guān)注
117文章
3835瀏覽量
84649
發(fā)布評論請先 登錄
進(jìn)程Context定義
進(jìn)程的定義和特征
進(jìn)程的Context定義
信息的定義有哪些?信息有哪些基本特征
進(jìn)程有幾種狀態(tài)?
Linux進(jìn)程管理
線程與進(jìn)程有哪些區(qū)別?
最新Linux進(jìn)程凍結(jié)技術(shù)需要了解
進(jìn)程和線程定義
編寫daemon進(jìn)程需要遵循哪些規(guī)則?
如何查看系統(tǒng)是否有僵尸進(jìn)程

為什么需要進(jìn)程 特征和定義有哪些
評論