地方政府公務人員四等-資訊處理類科計算機概要113 年第 25 題單選題
作業系統在處理程序同步(process synchronization)的問題時,會將具有競賽條件(race condition)的程式碼置於下列何種區段內?
A剩餘區段(remainder section)
B主區段(main section)
C臨界區段(critical section)正確答案
D堆積區段(heap section)
C正確答案
防止競賽條件的核心機制!存取共用資源且需互斥執行的程式碼區段,即為臨界區段(Critical Section)。
為什麼答案是 C
臨界區段是存取共用資源且可能引發競賽條件的程式碼,必須透過互斥機制確保同一時間僅有一個程序進入。
載入中…
完整詳解
Pro · 無限重點 防止競賽條件的核心機制!存取共用資源且需互斥執行的程式碼區段,即為臨界區段(Critical Section)。
看到「競賽條件」與「程序同步」,直接聯想「臨界區段(Critical Section)」,這是作業系統必考的基本定義。
逐選項分析
A✕
剩餘區段是指程序中不涉及共用資源存取的程式碼,執行時不需要同步機制,也不會引發競賽條件。
B✕
主區段並非程序同步機制中的標準術語,通常是指程式的進入點(main function),與同步控制無關。
C✓ 正確
臨界區段是存取共用資源且可能引發競賽條件的程式碼,必須透過互斥機制確保同一時間僅有一個程序進入。
D✕ 陷阱
堆積區段是作業系統用於動態記憶體配置的區域,屬於記憶體管理範疇,與程序同步的邏輯區段劃分無關。
程序同步與記憶體區段比較
| 區段名稱 | 主要功能/定義 | 是否涉及競賽條件 |
|---|
| 臨界區段 (Critical Section) | 存取共用資源的程式碼,需互斥執行 | 是 |
| 剩餘區段 (Remainder Section) | 不涉及共用資源的其他程式碼 | 否 |
| 堆積區段 (Heap Section) | 動態記憶體配置區域 (如 malloc/new) | 否 (屬記憶體管理) |
考生易將邏輯上的「臨界區段」與記憶體配置中的「堆積區段」混淆。臨界區段是程式碼的邏輯劃分,堆積區段是實體記憶體區域,兩者層次不同。