有三個用戶進程A、B和C,在運行過程中都要使用系統(tǒng)中的一臺打印機輸出計算結(jié)果。
(1)試說明A、B、C進程之間存在什么樣的制約關系?
(2)為保證這三個進程能正確地打印出各自的結(jié)果,請用信號量和P、V操作寫出各自的有關申請、使用打印機的代碼。要求給出信號量的含義和初值。
判斷下面的同步問題的算法是否正確?若有錯,請指出錯誤原因并予以改正。
設A、B兩進程共用一個緩沖區(qū)Q,A向Q寫入信息,B則從Q讀出信息,算法框圖如圖所示。
用PV操作解決讀者寫者問題的正確程序如下: