進程的五種基本狀態![在這裏插入圖片描述]()
(1)創建狀態:進程正在被創建。
(2)就緒狀態:進程被加入到就緒隊列中等待CPU調度運行。
(3)執行狀態:進程正在被運行。
(4)等待阻塞狀態:進程因爲某種原因,比如等待I/O,等待設備,而暫時不能運行。
(5)終止狀態:進程運行完畢。
交換技術
當多個進程競爭內存資源時,會造成內存資源緊張,並且,如果此時沒有就緒進程,處理機會空閒,I/0速度比處理機速度慢得多,可能出現全部進程阻塞等待I/O。
(1)交換技術: 換出一部分進程到外存,騰出內存空間。
(2)虛擬存儲技術: 每個進程只能裝入一部分程序和數據。
在交換技術上,將內存暫時不能運行的進程,或者暫時不用的數據和程序,換出到外存,來騰出足夠的內存空間,把已經具備運行條件的進程,或進程所需的數據和程序換入到內存。
從而出現了進程的掛起狀態:進程被交換到外存,進程狀態就成爲了掛起狀態。
幾種阻塞和就緒
- 活動阻塞:進程在內存,但是由於某種原因被阻塞了。
- 靜止阻塞:進程在外存,同時被某種原因阻塞了。
- 活動就緒:進程在內存,處於就緒狀態,只要給CPU和調度就可以直接運行。
- 靜止就緒:進程在外存,處於就緒狀態,只要調度到內存,給CPU和調度就可以運行。
從而有:
(1)活動就緒 -> 靜止就緒:內存不夠,調到外存
(2)活動阻塞 -> 靜止阻塞:內存不夠,調到外存
(3)執行 -> 靜止就緒:時間片用完