臨界區問題

臨界區是試圖訪問共用資源的程式的一部分。 該資源可以是電腦中的任何資源,如記憶體位置,數據結構,CPU或任何IO設備。

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

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

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

同步機制的要求

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

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

次要

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

2. 架構中立

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


上一篇: 進程同步簡介 下一篇: 鎖定變數機制