軟考(軟件設計師)--操作系統之進程管理(一)

一、進程互斥與同步

1.進程間兩種形式的制約關係
(1)間接相互制約關係—源於資源共享
(2)直接相互制約關係–源於進程合作
2.臨界資源
臨界資源:把一段時間內只允許一個進程訪問的資源稱爲臨界資源或獨佔資源
臨界區:每個進程中訪問臨界資源的那段代碼稱爲臨界區。

二、信號量機制

信號量師OS提供的管理公有資源的有效手段
信號量是一個整數,當信號量大於等於零時,代表可供併發進程使用的資源數量,當信號量小於零時,表示處於阻塞態進程的個數。
兩個操作(Wait操作(減量操作);Signal操作(增量操作))

三、信號量的應用

  1. 利用信號量實現進程互斥(模式)
  2. 利用信號量實現前驅關係(模式)
  3. 利用記錄型信號量實現同步(模式)

利用信號量實現進程互斥:
爲使多個進程互斥的訪問某臨界資源,須爲該資源設置一互斥信號量mutex,並設其初始值爲1,然後將各進程訪問資源的臨界區CS置於wait(mutex)和signal(mutex)之間即可。

利用信號量實現前驅關係:
設有兩個併發執行的進程P1和P2,P1有語句S1,P2有語句S2,希望在S1執行後S2.
使進程P1和P2共享一個公用信號量2,並賦予其初始值爲0。
在這裏插入圖片描述
利用記錄型信號量實現同步
P1、P2兩進程因合作完成一項任務而共用一個變量X。進程P2將處理結果送入X;進程P1將X的結果打印。
即:P2:X=處理結果;
P1:Print(X);
如何實現該合作關係?
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章