21. 在多處理器作業系統中,處理單元中的一段程式碼會讀取或修改共享資源時,則稱該段程式
碼為臨界段落(Critical Section)。請問關於臨界段落的處理,下列何者有誤?
(A)不允許同時有兩個(含)以上的處理單元進入臨界段落
(B)處理單元位於臨界段落時,當有中斷請求時,優先處理中斷請求
(C)當有多個處理單元要求進入臨界段落時,會限制同一處理單元進入的次數,以避免其他處
理單元等待過久
(D)等待進入臨界段落的處理單元,不可以發生無限期延遲(Indefinite Postponement)
答案:登入後查看
統計: A(167), B(634), C(149), D(83), E(0) #1802247
統計: A(167), B(634), C(149), D(83), E(0) #1802247
詳解 (共 5 筆)
#4288668
- 由於程序切換需要依賴中斷來實現,如果遮蔽中斷,則不會引起程序切換
- 因此為了實現對臨界資源的互斥使用,可以在程序進入臨界區之前關閉中斷,等程序退出臨界區以後在開啟中斷
- 中斷被遮蔽後,處理器不響應中斷,則不會被切換
- 於是一旦遮蔽中斷,程序就可以進入臨界區修改訪問共享變數,而不用擔心其他程序介入
結論: 臨界區段收到中斷訊息時,為了互斥作用不影響共享資,即不會切換程序,會先切段中斷,先執行目前的執行程序,等執行完成退出臨界區段才會再開啟中斷.
20
0
#4591840
解決critical section problem
須同時滿足下列三個條件:
1.mutual exclusion >>(A)
2.progress >>(C)
3.bounded waiting >>(D)
0
1