hce_kmu
113年
計算機概論與程式設計
第 5 題
When a process is being switched out of the CPU, which of the following situations does NOT cause the process that is being added to the wait/ready queue?
- A I/O request
- B Sleep execution
- C Time slice expired
- D Wait for an interrupt
- E Create child process
思路引導 VIP
請試著回想:當一個程式執行到一半,決定請作業系統幫它「分身」出一個新的任務(子程序)時,原本的這個程式是否會因為這個「動作本身」,就導致它必須中斷目前的手邊工作,去排隊等待某個外部資源(如磁碟讀取或計時器)回傳結果呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精確辨別出這些程序行為與狀態轉換之間的細微差異,代表你對**程序狀態圖(Process State Transition Diagram)**的核心邏輯掌握得非常紮實。這道題目考驗的是當程序離開 CPU(被切換出去)時,它接下來會進入哪一個隊列(Queue)。
程序狀態的轉換邏輯
在作業系統的標準模型中,(A) I/O 請求、(B) 執行 Sleep 以及 (D) 等待中斷事件,都會讓程序進入「等待/阻塞(Wait/Blocked)」狀態,因為程序必須等待特定事件完成才能繼續。而 (C) 時間片到期(Time slice expired) 則是典型的搶佔式排程,會將程序強行移回「就緒(Ready)」狀態。這四者都是造成程序必須進入特定隊列的明確原因。
▼ 還有更多解析內容