簡述操作系統(tǒng)進(jìn)程的三種基本狀態(tài)
操作系統(tǒng)里進(jìn)程一般具有三種基本狀態(tài),下面由學(xué)習(xí)啦小編為大家整理了簡述操作系統(tǒng)進(jìn)程的三種基本狀態(tài)的相關(guān)知識,希望對大家有幫助!
簡述操作系統(tǒng)進(jìn)程的三種基本狀態(tài)
進(jìn)程的三種基本狀態(tài):
(1) 就緒狀態(tài):進(jìn)程已獲得除CPU外的所有必要資源,只等待CPU時的狀態(tài)。一個系統(tǒng)會將多個處于就緒狀態(tài)的進(jìn)程排成一個就緒隊列。
(2) 執(zhí)行狀態(tài):進(jìn)程已獲CPU,正在執(zhí)行。單處理機系統(tǒng)中,處于執(zhí)行狀態(tài)的進(jìn)程只一個;多處理機系統(tǒng)中,有多個處于執(zhí)行狀態(tài)的進(jìn)程。
(3) 阻塞狀態(tài):正在執(zhí)行的進(jìn)程由于某種原因而暫時無法繼續(xù)執(zhí)行,便放棄處理機而處于暫停狀態(tài),即進(jìn)程執(zhí)行受阻。(這種狀態(tài)又稱等待狀態(tài)或封鎖狀態(tài))
通常導(dǎo)致進(jìn)程阻塞的典型事件有:請求I/O,申請緩沖空間等。
一般,將處于阻塞狀態(tài)的進(jìn)程排成一個隊列,有的系統(tǒng)還根據(jù)阻塞原因不同把這些阻塞集成排成多個隊列。
在一些系統(tǒng)中,進(jìn)程還有一種很重要的狀態(tài)是:掛起狀態(tài)(是該進(jìn)程暫時不接受調(diào)度)。
補充:操作系統(tǒng)進(jìn)程的其它狀態(tài)簡述
掛起狀態(tài)
在不少系統(tǒng)中進(jìn)程只有上述三種狀態(tài),但在另一些系統(tǒng)中,又增加了一些新狀態(tài),最重要的是掛起狀態(tài)。引入掛起狀態(tài)的原因有:
(1) 終端用戶的請求。當(dāng)終端用戶在自己的程序運行期間發(fā)現(xiàn)有可疑問題時,希望暫時使自己的程序靜止下來。亦即,使正在執(zhí)行的進(jìn)程暫停執(zhí)行;若此時用戶進(jìn)程正處于就緒狀態(tài)而未執(zhí)行,則該進(jìn)程暫不接受調(diào)度,以便用戶研究其執(zhí)行情況或?qū)Τ绦蜻M(jìn)行修改。我們把這種靜止?fàn)顟B(tài)稱為掛起狀態(tài)。
(2) 父進(jìn)程請求。有時父進(jìn)程希望掛起自己的某個子進(jìn)程,以便考查和修改該子進(jìn)程,或者協(xié)調(diào)各子進(jìn)程間的活動。
(3) 負(fù)荷調(diào)節(jié)的需要。當(dāng)實時系統(tǒng)中的工作負(fù)荷較重,已可能影響到對實時任務(wù)的控制時,可由系統(tǒng)把一些不重要的進(jìn)程掛起,以保證系統(tǒng)能正常運行。
(4) 操作系統(tǒng)的需要。操作系統(tǒng)有時希望掛起某些進(jìn)程,以便檢查運行中的資源使用情況或進(jìn)行記賬。
創(chuàng)建狀態(tài)
創(chuàng)建一個進(jìn)程一般要通過兩個步驟
(1) 為一個新進(jìn)程創(chuàng)建PCB,并填寫必要的管理信息.
(2) 把該進(jìn)程轉(zhuǎn)入就緒狀態(tài)并插入就緒隊列之中。當(dāng)一個新進(jìn)程被創(chuàng)建時,系統(tǒng)已為其分配了PCB,填寫了進(jìn)程標(biāo)識等信息,但由于該進(jìn)程所必需的資源或其它信息,如主存資源尚未分配等,一般而言,此時的進(jìn)程已擁有了自己PCB,但進(jìn)程自身還未進(jìn)入主存,即創(chuàng)建工作尚未完成,進(jìn)程還不能被調(diào)度運行,其所處的狀態(tài)就是創(chuàng)建狀態(tài)。 引入創(chuàng)建狀態(tài),是為了保證進(jìn)程的調(diào)度必須在創(chuàng)建工作完成后進(jìn)行,以確保對進(jìn)程控制塊操作的完整性。同時,創(chuàng)建狀態(tài)的引入,也增加了管理的靈活性,操作系統(tǒng)可以根據(jù)系統(tǒng)性能或主存容量的限制,推遲創(chuàng)建狀態(tài)進(jìn)程的提交。對于處于創(chuàng)建狀態(tài)的進(jìn)程,獲得了其所必需的資源,以及對其PCB初始化工作完成后,進(jìn)程狀態(tài)便可由創(chuàng)建狀態(tài)轉(zhuǎn)入就緒狀態(tài)。
終止?fàn)顟B(tài)
等待操作系統(tǒng)進(jìn)行善后處理,然后將其PCB清零,并將PCB空間返還系統(tǒng)。當(dāng)一個進(jìn)程到達(dá)了自然結(jié)束點,或是出現(xiàn)了無法克服的錯誤,或是被操作系統(tǒng)所終結(jié),或是被其他有終止權(quán)的進(jìn)程所終結(jié),它將進(jìn)入終止?fàn)顟B(tài)。進(jìn)入終止態(tài)的進(jìn)程以后不能再執(zhí)行,但在操作系統(tǒng)中依然保留一個記錄,其中保存狀態(tài)碼和一些計時統(tǒng)計數(shù)據(jù),供其它進(jìn)程收集。一旦其它進(jìn)程完成了對終止?fàn)顟B(tài)進(jìn)程的信息提取之后,操作系統(tǒng)將刪除該進(jìn)程。