19. 作業系統應讓要進入臨界區(Critical Section)的多個程序(Process)以何種方式執行?
(A)Concurrent
(B)Mutually exclusive
(C)Random
(D)Pipelined
答案:登入後查看
統計: A(7), B(51), C(1), D(36), E(0) #3123050
統計: A(7), B(51), C(1), D(36), E(0) #3123050
詳解 (共 2 筆)
#6408739
為了避免競爭條件並確保資料的一致性,對臨界區的存取必須受到控制。對多個程序而言,要正確地進入和執行臨界區,作業系統必須確保互斥性(Mutual Exclusion)。
互斥性是指在任何給定的時間點,最多只有一個程序能夠在它的臨界區中執行。如果其他程序想要進入自己的臨界區,而已經有一個程序正在臨界區內執行,那麼這些程序必須等待,直到該程序離開臨界區。
我們來分析選項:
(A) Concurrent (並行):並行是指多個程序在時間上交替執行或同時執行。雖然需要進入臨界區的程序通常是並行的,但「並行」本身不是進入臨界區的要求;相反,正是並行的存在才需要對臨界區進行控制。允許不受限制的並行存取臨界區會導致問題。
(B) Mutually exclusive (互斥):這直接表示在任何時候只有一個程序可以進入臨界區。這是確保在多個程序環境中安全存取共享資源所需的核心特性。
(C) Random (隨機):在臨界區中隨機執行無法保證資料的一致性,很可能導致競爭條件。
(D) Pipelined (管線化):管線化是一種在處理器設計或任務執行中重疊執行不同階段的技術,與控制多個程序對共享臨界區的存取無關。
因此,作業系統必須確保多個程序以互斥的方式執行它們的臨界區。
答案是 (B) Mutually exclusive。
0
0