關務人員考試關務四等-資訊處理(選試英文)科別計算機概要113 年第 3 題單選題
下列何者不是共享記憶體多處理器(shared memory multiprocessor, SMP)在平行運作時,用來同步(synchronization)共享資料的存取,以確保程式正確執行的機制?
A共享變數的鎖(lock)
B不可切分的交換(atomic swap)
C載入聯結(load linked)/條件儲存(store conditional)機制
D程序切換(context switch)正確答案
D正確答案
SMP 同步機制靠 lock、atomic swap、LL/SC;context switch 是作業系統切換行程用,非同步機制。
為什麼答案是 D
Context switch(程序切換)是作業系統暫存目前行程狀態、切換到另一個行程執行的機制,屬於 CPU 排程範疇,與保護共享資料存取無關,因此不是同步機制。
載入中…
完整詳解
Pro · 無限重點 SMP 同步機制靠 lock、atomic swap、LL/SC;context switch 是作業系統切換行程用,非同步機制。
看到『切換』『排程』就不是同步原語;同步原語核心特徵是『不可分割』。
逐選項分析
A✕
Lock(鎖)是最典型的同步機制,用來確保臨界區(critical section)一次只有一個處理器能存取共享資料,是 SMP 同步的基礎工具。
B✕
Atomic swap(不可切分交換)是硬體層級的原子指令,一次完成讀取與寫入,可用來實作 lock 與 semaphore,是 SMP 同步的核心原語之一。
C✕
LL/SC(Load Linked / Store Conditional)是 RISC 架構(如 MIPS、ARM)提供的同步機制:先載入標記位址,若期間未被其他處理器寫入才成功儲存,用來實作無鎖同步。
D✓ 正確
Context switch(程序切換)是作業系統暫存目前行程狀態、切換到另一個行程執行的機制,屬於 CPU 排程範疇,與保護共享資料存取無關,因此不是同步機制。
SMP 常見同步機制比較
| 機制 | 層級 | 特性 | 用途 |
|---|
| Lock / Mutex | 軟體 | 互斥進入臨界區 | 保護共享變數 |
| Atomic Swap / Test-and-Set | 硬體指令 | 讀寫不可分割 | 實作 lock 的基石 |
| LL / SC | 硬體指令 | 條件式寫入 | 無鎖同步(RISC) |
| Context Switch | 作業系統 | 切換行程狀態 | CPU 排程,非同步 |
出題者把『作業系統排程』的 context switch 混入『同步機制』選項,考生若只看到「切換」兩字誤以為跟多處理器協調有關就會上當。兩者分屬不同議題:同步是資料保護,切換是 CPU 排程。