程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 操作系統 pv原語-有關操作系統PV原語的問題

操作系統 pv原語-有關操作系統PV原語的問題

編輯:編程綜合問答
有關操作系統PV原語的問題

在操作系統中有PV原語對進程同步和互斥進行管理,現在假如有三個進程A,B,C,而他們所需的資源系統只有一個,現在A進程運行,他會使用P原語使資源數減一成為0,這時B進程也在申請所以他會被阻塞,這時的資源數為-1,表示有一個進程被阻塞,這時又有C進程申請,他也會被阻塞,也會將資源數減一成為-2。請問這時如果A進程釋放該資源,使資源數成為-1,那麼這時B進程會由調度成為就緒態,但是操作系統怎麼知道這時的資源數-1是什麼意思呢?這時的-1是表示有一個進程被阻塞嗎?那麼這時的資源數又怎麼表示啊???

最佳回答:


這裡不是根據-1,-2或者負幾來判斷來調用被阻塞的進程的,而是只要小於0就回去調用阻塞隊列裡的第一個進程。-1就代表一個進程阻塞,-2代表2個進程阻塞。而資源數的問題,你一開始不就說累了資源系統只有一個嗎。你一開始設的初始值1代表著資源數是1,後面那個變量就和資源數沒關系了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved