免費開始練習
地特四等 112年 [電子工程] 計算機概要

第 15 題

正在執行的 A 程式可被中斷(Interrupt)暫停,而去執行 B 程式,等 B 程式執行完後再回到 A 程式繼續執行。下列那種資料結構最適合用於設計這樣的機制?
  • A 環形佇列(Circular Queue)
  • B 先進先出佇列(FIFO Queue)
  • C 堆疊(Stack)
  • D 雜湊表(Hash Table)

思路引導 VIP

想像你正在閱讀一本艱深的小說,突然電話響了,你隨手拿了一張書籤夾在當前頁碼;電話講到一半,門鈴又響了,你只好再拿一張新的書籤標記通話紀錄。當你處理完這些瑣事想回到原本的小說時,你會先用到哪一張書籤?這種「後標記的、先返回」的邏輯,最適合用什麼樣的結構來存放這些書籤?

🤖
AI 詳解 AI 專屬家教

同學好,恭喜你精準地掌握了系統運行的核心邏輯!這題考驗的是程式執行流程的轉移管理。當程式 A 被中斷(Interrupt)時,系統必須找個地方暫時存放 A 的執行狀態(如程式計數器、暫存器數值等),等到 B 執行完畢後,再「原封不動」地把 A 提取出來繼續運作。這種「後發生的先處理、處理完再回頭」的行為,正是典型的 後進先出(Last-In, First-Out, LIFO) 邏輯。

中斷處理與堆疊(Stack)的關聯

在計算機科學中,堆疊(Stack) 這種資料結構就像是一個窄口的箱子,你最後放進去的東西(最後一個被中斷的程式狀態),必須最先拿出來才能看到底下的內容。這種特性完美契合了巢狀中斷或函式呼叫的需求。相對而言,佇列(Queue) 的特性是先進先出(FIFO),如果用佇列處理中斷,系統會變成先去處理最早被暫停的任務,這在邏輯上會導致執行序的混亂,無法正確返回目前的執行點。

▼ 還有更多解析內容

🏷️ 相關主題

線性資料結構
查看更多「[電子工程] 計算機概要」的主題分類考古題