計算機操作系統基礎(三)---進程管理之五狀態模型

引言

本文爲第三篇,進程管理之五狀態模型,進程在操作系統裏邊是有多個狀態的,本文就是了解進程在操作系統中的多個狀態

1、進程的五個狀態

  • 創建狀態
  • 就緒狀態
  • 阻塞狀態
  • 執行狀態
  • 終止狀態

2、進程處於這五種狀態時在做什麼

(1)就緒狀態

  • 當進程被分配到除CPU以外的所有必要資源後,就處於就緒狀態
  • 只要再獲得CPU的使用權,就可以裏立即運行
  • 其它資源都準備好,只差CPU資源的狀態,就是就緒狀態
    其它資源包括進程控制塊(PCB)、內存、棧空間、堆空間等

在操作系統裏邊,我們知道,多個程序可以併發的運行,這個時候就可能存在多個就緒狀態的進程,這些進程通常會排成一個隊列,這個隊列就稱爲就緒隊列,在就緒隊列裏邊有多個就緒的進程
image

(2)執行狀態

  • 進程獲得CPU使用權,其程序正在執行,稱爲執行狀態
  • 單處理機(一個CPU只有一個核的情況),在某個時刻只能有一個進程是處於執行狀態

(3)阻塞狀態

進程由於某種原因,如:其它設備未就緒而無法繼續執行,從而放棄CPU的狀態,就稱爲阻塞狀態

比如說有個進程要請求打印機,但是由於打印機正處於被佔用的情況,進程收不到迴應,那麼就會處於阻塞狀態。當多個進程同時請求打印機時,也會處於阻塞狀態,此時也有阻塞隊列的概念

(4)創建狀態

創建狀態分爲兩步:

a、分配PCB

b、插入就緒隊列

創建進程時,擁有PCB,但其它資源尚未就緒的狀態稱爲創建狀態

(5)終止狀態

終止狀態也分爲兩步:

a、系統清理

b、歸還PCB

進程結束由系統清理或者歸還PCB的狀態稱爲終止狀態

3、就緒、阻塞、執行三種狀態之間的切換

當進程發生進程調度的時候,就會由就緒狀態變爲執行狀態,當某一個進程發生進程調度的時候就會獲取到CPU的資源,當執行狀態的進程的CPU資源用完了,它就會切換回就緒的狀態,插入到就緒隊列中,這裏的CPU資源用完指的是,分配給某一個進程執行CPU的時間用完了

當執行狀態的進程發生IO請求的時候就有可能變成阻塞狀態(前邊有說到請求打印機的例子)。當發生IO完成的時候,就會由阻塞狀態切換到就緒狀態
image

在快速變化的技術中尋找不變,纔是一個技術人的核心競爭力。知行合一,理論結合實踐
image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章