6. 在分時(time-sharing)作業系統中,如果程序 A 的時間區段 (time slot)耗盡,因而將執行切換至另 一程序 B 時,程序 A 將會進入何種狀態(state)?
(A) waiting state
(B) ready state
(C) terminated state
(D) running state

答案:登入後查看
統計: A(38), B(148), C(22), D(5), E(0) #3145726

詳解 (共 2 筆)

#7042971
1. 題目解析 在分時作業系統中,程序...
(共 982 字,隱藏中)
前往觀看
1
0
#7082355

【解題思路】

這題在考作業系統的「程序狀態轉換」,尤其是分時系統(Time Sharing)下的 Round Robin 排程。

關鍵字:

  • time slot 用完

  • context switch(切換程序)

  • 程序並 沒有 等待 I/O,也 沒有 結束

邏輯非常明確:

當程序 A 的 CPU 時間片(time slice / time quantum)用完時:

  • A 不是 在等待 I/O → 所以不是 waiting

  • A 沒有 結束 → 所以不是 terminated

  • A 被移出 CPU → 所以不是 running

  • A 可再次排入 CPU → 所以它會回到 ready state

因此答案是 ready state

【為什麼其他選項不正確(逐一破題)】

(A) waiting state
waiting 是「在等 I/O」的狀態。
題目只有時間片結束,沒有進行 I/O,因此錯。

(B) ready state
正確!
時間片用完 → 被強制搶下 CPU → 放回 ready queue。

(C) terminated state
terminated 是「程式結束」。
時間片用完 ≠ 程式結束。

(D) running state
running 是「正在執行」。
時間片用完就不會在 CPU 上了。

【延伸知識】

程序五態(最常考):

  1. New

  2. Ready ← 本題答案會回到這裡

  3. Running

  4. Waiting (Blocked)

  5. Terminated

Round Robin 排程規則:

  • 每個程序給固定的時間片

  • 時間片一到就被搶下 CPU

  • 被搶下的程序重新排進 ready queue

這就是分時系統「公平」的核心。

【記憶技巧】

一句話:

時間片用完不代表等待,只是排隊再來一次 → 回到 ready。

或更短:

時間到 → 下 CPU → 回準備隊。

【常見錯誤】

  1. 把 ready 與 waiting 混淆
    waiting 是等 I/O,不是等 CPU。

  2. 以為 time slot 用完意味著「阻塞」
    沒有 I/O 就不會阻塞。

  3. 以為切換走是 terminated
    terminated 是程式結束,不是被搶下 CPU。

0
0

私人筆記 (共 1 筆)

私人筆記#5470559
未解鎖
Process State Proce...
(共 453 字,隱藏中)
前往觀看
1
1