作業系統 pv之道

2021-08-27 10:28:13 字數 1038 閱讀 9678

我們的生活每天都有很多的事情發生,大部分事情我們可以自行處理,有些事情我們就要和其他人合作,比如去飯館吃飯,飯館是我們的乙個經常光顧的地方,但是我們往往會碰到這樣的情況,附近只有這一家飯館,我很餓,不想去別的飯館,剛剛我來的時候沒有了位置,服務員讓我等,看到別人在那吃得滿嘴流油,恨啊……

剛剛的場景,很生活,我們不妨讓時間暫停在上面那句話的時刻,我們來看這個可不可以解釋pv操作,首先我們定義,飯館有3張桌子,飯館的經營情況是只有乙個廚師,來的客人不定,在廚師的案面上放著要做幾個菜,客人點菜由客人自己保管(小票),廚師唸號,告訴他做什麼!

我們這麼定義,廚師做幾個菜是廚師的訊號為sc,客人看到飯館剩幾個座位是客人的訊號sp。

上午9點,飯館裡沒有乙個客人,剛好有個客人來,還沒有點菜

sc=0

sp=3

客人點了乙個菜

sc=1

sp=2

上午11點,客人坐滿,沒有人等著,所有客人都點菜了

sc=3

sp=0

上午11:30,客人飽滿,有三個客人等著,客人點菜還沒上

sc=3

sp=-3

這時候我們再解釋pv,p操作是看看有沒有資源,對於廚師是看看有沒有人要做飯,對於顧客是看看還有幾個位置;v操作是,有乙個顧客吃完飯了,釋放了乙個位置,對於廚師要判斷要不要做飯,有人等著,就要做,沒有人等著,就等待。

程式的廚師設定為

sc=0

sp=3

廚師的**是

p(sc):看看要不要做飯

做飯+送飯

v(sp):通知顧客吃飯

顧客的**:

p(sp):看看我能吃飯嗎?

點菜+吃完

v(sc):通知廚師有乙個空位置

這裡我們理解pv操作的意義,飯館使我們的乙個公共資源,我們要向好好的利用它,就要有排隊,顧客排隊點菜,廚師排隊做飯,這樣我們就和諧了,如果只有乙個桌子廚師做了顧客才能吃,是合作的關係,也叫同步,如果飯館就剩乙個位置了,來了兩個顧客,他兩打起來了,這就叫互斥!所以pv操作是解決公共資源利用的問題,就是臨界區的問題!希望大家能稍微理解!

作業系統 PV操作

1.pv原語的含義 p操作和v操作是不可中斷的程式段,稱為原語。pv原語及訊號量的概念都是由荷蘭科學家e.w.dijkstra提出的,其基本思路是用一種新的變數型別 semaphore 來記錄當前可用資源的數量。訊號量sem是一整數,sem大於等於零時代表可供併發程序使用的資源實體數,但sem小於零...

作業系統 PV操作

分析 進入書店p sn 與離開書店v sn 操作對應題目中的 該書店最多允許n個購書者進入 因為假如進入書店的人數超過了最大的限制,p操作會被阻塞,知道v操作執行後釋放空間。接下來分析購書與收費的流程,現實生活中購書付款是顧客提出繳費的要求後,收銀員才能進行收費。所以收銀員預設是處於待機狀態即阻塞狀...

作業系統 PV原理

pv 原理是用來解決作業系統程序之間的同步和互斥的.同步 一補環境下的一組程序因相互制約而傳送訊息 進行互相合作互相等待 使各個程序按照一定的速度執行.互斥 一組程序因為共享乙個公共資源 必需保證同一時刻只有乙個程序在使用臨界資源.舉乙個例子就是 互斥就是很多人過乙個獨木橋 同時只能有乙個人使用這個...