程序是程式的一次執行。在這個執行過程中,有時程序正在被cpu處理,有時有需要等待cpu服務,可見程序的狀態會有各種變化,為了方便對各個程序的管理,作業系統需要將程序合理地劃分為幾種狀態。
另外的兩種狀態
注意:不能由阻塞態之間轉換為執行態。處於阻塞態的程序需要先轉換為就緒態才能夠被排程,
也不能由就緒態之間轉為阻塞態。執行態轉換阻塞態是程序自身做出的一種主動行為,是程序自身主動請求的,必然需要程序在執行中才可以主動發出這種請求,處於就緒態的程序並沒有分配到處理機資源,因此不可以發出一些主動的行為,所以從就緒態是不可以直接轉換為阻塞態的
1.在程序狀態轉換時,下列哪一種狀態轉換是不可能發生的?
a)就緒態→執行態 b)執行態→就緒態
c)執行態→阻塞態d)阻塞態→執行態
2.某程序在執行過程中需要等待從磁碟上讀入資料,此時該程序的狀態將( )。
a.從就緒變為執行 b.從執行變為就緒
c.從執行變為阻塞d.從阻塞變為就緒
某程序在執行過程中,說明當前狀態為執行狀態。因需要等待從磁碟上讀入資料,所以變為阻塞狀態,停止執行,放棄cpu。所以是從執行變為阻塞。
作業系統 程序的狀態與轉換
程序的三種基本狀態 執行態 占用cpu,並在cpu執行,單核cpu最多只能有乙個程序處於執行態 就緒態 具備執行條件,但是沒有空閒cpu,暫時不能執行,萬事具備只差cpu 阻塞態 等待某事件 另外兩種狀態 建立態 分配資源,初始化pcb 終止態 資源,撤銷pcb 狀態轉換 就緒態 執行態 程序被排程...
作業系統 程序的狀態及轉換
1.為什麼要分開就緒和阻塞狀態 答 因為就緒態只需要等待處理機,而阻塞態可能在等待輸入輸出,即使分配給處理機也是徒勞,所以兩狀態圖不妥。對於排程程序,只需要等待就緒佇列裡的程序,因為阻塞狀態可以轉換到就緒佇列裡去。2.程序五狀態 1 新狀態 程序已經建立,但未被os接納為可執行程序。還沒有申請到相應...
作業系統 程序狀態轉換(實驗一)
sdibt 計科181 用陣列模擬的 我的 有些bug,望大家提出寶貴意見 include includeusing namespace std 就緒 執行 執行 就緒 時間片完 阻塞 等待 阻塞 就緒 struct pcb 程序結構體 t int sumrun 0 最多可以同時執行多少程序 int...