臨界區問題


臨界區是試圖存取共用資源的程式的一部分。 該資源可以是計算機中的任何資源,如記憶體位置,資料結構,CPU或任何IO裝置。

臨界區不能同時由多個進程執行; 作業系統在允許和禁止進程進入臨界區時面臨著困難。

臨界區問題用於設計一組協定,可以確保進程間的競爭條件永遠不會出現。

為了同步共同作業過程,我們的主要任務是解決臨界區問題。 我們需要提供一個解決方案,以滿足以下條件。

同步機制的要求

1. 相互排斥
我們的解決方案必須提供相互排斥。 通過相互排斥,如果一個進程在臨界區內執行,那麼另一個進程不能進入臨界區。

2. 進程
進程意味著如果一個進程不需要執行到臨界區,那麼它不應該阻止其他進程進入臨界區。

次要

1. 有界等待
我們應該能夠預測每個流程進入臨界區的等待時間。 這個進程不能無休止地等待進入臨界區。

2. 架構中立

我們的機制必須是架構中立的。 這意味著如果解決方案在一個架構上執行良好,那麼它也應該在其他架構上執行。