27 一個行程(process)在下列那種情況時,由等待(waiting)狀態轉移到就緒(ready)狀態?
(A)執行完畢
(B)得到CPU使用權
(C)完成輸入輸出(I/O)
(D)要求載入主記憶體

答案:登入後查看
統計: A(52), B(198), C(254), D(78), E(0) #3127710

詳解 (共 2 筆)

#5887333
一個行程(process)在下列那種情況...
(共 116 字,隱藏中)
前往觀看
16
0
#5982573

 (C) 是從等待狀態轉移到就緒狀態的正確選擇,因為完成 I/O 通常會觸發此轉換。
(B)與就緒狀態到運作狀態的轉換更相關。
(A)和(D)與從等待到就緒的轉變沒有直接關係;它們與進程生命週期中的其他狀態有關。
A--當進程完成執行時,它通常會從運行狀態轉移到終止狀態。 終止狀態表示進程已完成執行,不會回到就緒狀態
D--當進程請求載入到主記憶體時,通常涉及從新狀態或等待狀態到就緒狀態的轉換 載入到記憶體中是進程有資格執行的先決條件。

按照一個行程的生命週期,可以將 A、B、C、D 安排如下:

新建(New): 在一個行程被創建後,它進入新建狀態。

就緒(Ready): 由新建狀態,行程進入就緒狀態,等待 CPU 的使用權。

取得 CPU(Running): 當行程得到 CPU 使用權,它進入執行狀態。

完成輸入輸出(I/O): 行程可能會發出 I/O 請求,進入等待狀態等待 I/O 完成。

就緒(Ready): 當 I/O 操作完成,行程可能轉移到就緒狀態。

取得 CPU(Running): 行程再次取得 CPU 使用權,回到執行狀態。

執行完畢(Terminated): 當行程執行完畢,它進入結束狀態。

所以,順序是:新建 → 就緒 → 取得 CPU → 完成 I/O → 就緒 → 取得 CPU → 執行完畢。
在上述的 7 個狀態中,要求載入主記憶體通常會發生在 就緒(Ready) 狀態。當行程處於就緒狀態時,它等待 CPU 使用權,並且可能需要載入其相關的程式碼和數據到主記憶體中,以便隨時準備被調度執行。
在上述的 7 個狀態中,要求執行完畢通常不是一個特定的狀態。"執行完畢" 通常指的是行程已經完成了它的主要任務,並進入結束(Terminated)狀態。

要求執行完畢(結束行程)可能在執行(Running)狀態中發生,當行程執行完它的主要工作後,它可以通知操作系統,進入結束狀態。在某些情況下,也可以在等待(Waiting)狀態中提前結束,例如當行程等待的事件被提前取消或發生錯誤時。

在上述的 7 個狀態中,得到 CPU 使用權通常發生在 就緒(Ready) 狀態。當行程處於就緒狀態時,它已經準備好被操作系統的調度器選擇,並有機會獲得 CPU 使用權以執行其指令。行程在這個狀態中等待 CPU,一旦被選中,就會進入執行(Running)狀態,開始執行其指令。

在上述的 7 個狀態中,行程由等待(waiting)狀態轉移到就緒(ready)狀態通常發生在以下情況:

當行程正在等待某些事件的發生,例如等待 I/O 操作完成、等待定時器中斷等,一旦這些事件發生,行程就可能從等待狀態轉移到就緒狀態。
總的來說,當等待的事件發生,使得行程可以繼續執行時,它會由等待狀態轉移到就緒狀態,等待操作系統的調度器選中,以獲得 CPU 使用權。  

6
0