8 關於互斥(Mutual Exclusion)與旗標(Flag)的敘述,下列何者正確?
(A)使用一般旗標(Flag)可以完全避免兩個程序同時進入臨界區(Critical Region)的問題
(B)測試並設定指令(Test-and-Set Instruction)可以在單一機器指令內完成旗標的測試與設定,避免中斷干擾
(C)在測試旗標前停用中斷(Disable Interrupt)會導致整個系統無法繼續執行任何其他工作,直到重新開機
(D)訊號量(Semaphore)僅用於管理印表機等硬體裝置的存取,與程式碼無關
答案:登入後查看
統計: A(7), B(12), C(6), D(1), E(0) #3966672
統計: A(7), B(12), C(6), D(1), E(0) #3966672
詳解 (共 1 筆)
#7448874
選項解析
-
(A) 使用一般旗標(Flag)可以完全避免兩個程序同時進入臨界區(Critical Region)的問題 → ✘ 錯誤。一般旗標無法保證互斥,可能會有「競爭條件」(Race Condition)。
-
(B) 測試並設定指令(Test-and-Set Instruction)可以在單一機器指令內完成旗標的測試與設定,避免中斷干擾 → ✔ 正確。Test-and-Set 是硬體支援的原子操作,能確保互斥。
-
(C) 在測試旗標前停用中斷(Disable Interrupt)會導致整個系統無法繼續執行任何其他工作,直到重新開機 → ✘ 錯誤。停用中斷只是暫時禁止中斷,並非整個系統停擺到重開機。
-
(D) 訊號量(Semaphore)僅用於管理印表機等硬體裝置的存取,與程式碼無關 → ✘ 錯誤。Semaphore 是通用的同步工具,不僅限於硬體,也可用於程式的臨界區控制。
ㅤㅤ
✅ 正確答案: (B) 測試並設定指令(Test-and-Set Instruction)可以在單一機器指令內完成旗標的測試與設定,避免中斷干擾
1
0