【OS】进程同步概念
文章目錄
- 臨界資源
- 同步
- 互斥
臨界資源
雖然多個進程可以共享系統中的各種資源,其中許多資源一次只能為一個進程所用,我們將一次僅允許一個進程使用的資源稱為臨界資源。許多物理設備都屬于臨界資源,如打印機等。此外,還有許多變量、數據等都可以被若干進程共享,也屬于臨界資源。
對臨界資源的訪問,必須互斥地進行,在每個進程中,訪問臨界資源的那段代碼稱為臨界區。
為了保證臨界資源的正確使用,把臨界資源的訪問過程分成4個部分:
進入區
為了進入臨界區使用臨界資源,在進入區要檢查可否進入臨界區,若能進入臨界區,則應設置正在訪問臨界區的標志,以阻止其他進程同時進入臨界區。
*臨界區
進程中訪問臨界資源的那段代碼,又稱臨界段。
退出區
將正在訪問臨界區的標志清除。
剩余區
代碼中的其余部分。
同步
同步也叫直接制約關系,是指為完成某種任務而建立的兩個或多個進程,這些進程因為需要在某些位置上協調它們的工作次序面等待、傳遞信息所產生的制約關系。進程間的同步源于它們之間的相互合作。
例如:輸入進程A通過單緩沖向進程B提供數據。當該緩沖區空時,進程B不能獲得所需數據而阻塞,旦進程
A將數據送入緩沖區,進程B就被喚醒,反之,當緩沖區滿時,進程A被阻塞,僅當進程B取走緩沖數據時,才喚醒進程A.
互斥
互斥也稱間接制約關系。當一個進程進入臨界區使用臨界資源時,另一個進程必須等待,當占用臨界資源的進程退出臨界區后,另一進程才允許去訪問此臨界資源。
例如:
在僅有一臺打印機的系統中,有兩個進程A和進程B,若進程A需要打印時,系統已將打印機分配給進程B,則進程A必須阻塞。一且進程B將打印機釋放,系統便將進程A喚醒,并將其由阻塞態變為就緒態。
總結
以上是生活随笔為你收集整理的【OS】进程同步概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机网络】TCP/IP 模型与OSI
- 下一篇: 目标明确!雷军:小米汽车争取15-20年