4.状态间的六种转换情况
生活随笔
收集整理的這篇文章主要介紹了
4.状态间的六种转换情况
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 1.運行——>就緒
- 1,主要是進程占用CPU的時間過長,而系統分配給該進程占用CPU的時間是有限的
- 2,在采用搶先式優先級調度算法的系統中,當有更高優先級的進程要運行時,該進程就被迫讓出CPU,該進程便由執行狀態轉變為就緒狀態
- 2.就緒——>運行
- 運行的進程的時間片用完,調度就轉到就緒隊列中選擇合適的進程分配CPU
- 3.運行——>阻塞
- 正在執行的進程因發生某等待事件而無法執行,則進程由執行狀態變為阻塞狀態,如發生了I/O請求
- 4.阻塞——>就緒
- 進程所等待的事件已經發生,就進入就緒隊列
以下兩種狀態是不可能發生的
- 5.阻塞——>運行
- 即使給阻塞進程分配CPU,也無法執行,操作系統在進行調度時不會從阻塞隊列進行挑選,而是從就緒隊列中選取
- 6.就緒——>阻塞
- 就緒態根本就沒有執行,談不上進入阻塞態
另外一個版本
- (1)新狀態->就緒態
- 當等待隊列允許接納新進程時,內核便把新進程移入等待隊列。
- (2)就緒態->運行態
- 調度類選中等待隊列中的某個進程,該進程進入運行態。
- (3)運行態->睡眠態
- 正在運行的進程因需要等待某事件(如IO等待、信號等待等)的出現而無法執行,進入睡眠態。
- (4)睡眠態->就緒態
- 進程所等待的事件發生了,進程就從睡眠態排入等待隊列,等待下次被選中執行。
- (5)運行態->就緒態
- 正在執行的進程因時間片用完而被暫停執行;或者在搶占式調度方式中,高優先級進程強制搶占了正在執行的低優先級進程。
- (6)運行態->終止態
一個進程已完成或發生某種特殊事件,進程將變為終止狀態。對于命令來說,一般都會返回退出狀態碼。
以上引用:http://www.cnblogs.com/f-ck-need-u/p/7058920.html這位大佬
轉載于:https://www.cnblogs.com/lqynkdcwy/p/9570260.html
總結
以上是生活随笔為你收集整理的4.状态间的六种转换情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: _itemmod_day_limit
- 下一篇: 军事夏令营中的枪支用不用公安机关管理