定義
訪問臨界資源的循環進程可以這樣來描述:
Repeat
entry section
Critical sections;
exit section
Remainder sectioni;
Until false
實現進程互斥
為實現進程互斥,可以利用軟體的方法,也可以在系統中設定專門的同步機制來協調多個進程,但是所有的同步機制應該遵循四大準則:
1.空閒讓進 當臨界資源處於空閒狀態,允許一個請求進入臨界區的進程立即進入臨界區,從 而有效的利用資源。
2.忙則等待 已經有進程進入臨界區時,意味著相應的臨界資源正在被訪問,所以其他準備進 入臨界區的進程必須等待,來保證多進程互斥。
3.有限等待 對要求訪問臨界資源的進程,應該保證該進程能在有效的時間內進入臨界區,防 止死等狀態。
4.讓權等待 當進程不能進入臨界區,應該立即釋放處理機,防止進程忙等待。
早期解決進程互斥問題有軟體的方法和硬體的方法,如:嚴格輪換法,Peterson的解決方案,TSL指令,Swap指令都可以實現進程的互斥,不過它們都有一定的缺陷,這裡就不一一詳細說明,而後來Dijkstra提出的信號量機制則更好的解決了互斥問題。
解決進程互斥還有管程,進程訊息通信等方式。