进程状态转换(了解)
進程三個基本狀態(tài):就緒、阻塞、運行
這個比較簡單,進程創(chuàng)建后進入就緒狀態(tài)、然后若CPU空閑或能打斷CPU正在執(zhí)行的進程(優(yōu)先級低的),那么就緒狀態(tài)轉(zhuǎn)換成運行態(tài),運行時,進程需要用到其他資源,但不能立即獲得的話,那么運行太會轉(zhuǎn)換到阻塞態(tài),等待資源的獲取,當(dāng)資源獲取后,阻塞太就會轉(zhuǎn)換成就緒態(tài),然后看CPU情況而定是否轉(zhuǎn)換成運行態(tài),進程執(zhí)行完后就轉(zhuǎn)換成了停止態(tài)。
?
五狀態(tài)(多了就緒掛起和阻塞掛起)
這種不是太確定,至于什么是掛起,從網(wǎng)上沒有搜到太明確的說明,有一種說明是進程從內(nèi)存中調(diào)到了外存中(頁中斷)。
上個圖說明吧。
這里關(guān)鍵是不知道為什么扶起,至于是不是內(nèi)存調(diào)試的原因,還有待進一步查資料。 在五狀態(tài)中,對于就緒態(tài)、阻塞態(tài)和運行態(tài)是一種運動的狀態(tài),而就緒掛起態(tài)和阻塞掛起是一種靜止的狀態(tài)。?
對于掛起,現(xiàn)在補充一下:
扶起狀態(tài)(百度百科)
掛起狀態(tài)的確是進程從內(nèi)存中調(diào)度到外存中的一種狀態(tài),若在就緒態(tài)時,從內(nèi)存調(diào)出到外存中,那么就是就緒掛起態(tài),若在阻塞態(tài)時,從內(nèi)存調(diào)出到外存中,那么就轉(zhuǎn)換成了阻塞掛起態(tài)。至于是什么時候會把進程從內(nèi)存調(diào)出到外存中,主要有以下幾種情況:
1、終端用戶請求 2、父進程的請求 3、負荷調(diào)節(jié)的需要 4、操作系統(tǒng)的需要 5、對換的需要
轉(zhuǎn)載于:https://www.cnblogs.com/zzyoucan/p/3621117.html
總結(jié)
以上是生活随笔為你收集整理的进程状态转换(了解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#序列化和反序列化
- 下一篇: 使用vue+HBulider云游戏接口开