pv原語的定義及解釋理解

2021-07-13 03:34:41 字數 2390 閱讀 7364

pv原語的含義

p操作和v操作是不可中斷的程式段,稱為原語.pv原語及訊號量的概念都是由荷蘭科學家e.w.dijkstra提出的.訊號量sem是一整數,sem大於等於零時代表可供併發程序使用的資源實體數,但sem小於零時則表示正在等待使用臨界區的程序數.

p原語操作的動作是:

(1) sem減1;

(2) 若sem減1後仍大於或等於零,則程序繼續執行;

(3) 若sem減1後小於零,則該程序被阻塞後進入與該訊號相對應的佇列中,然後轉程序排程.

v原語操作的動作是:

(1) sem加1;

(2) 若相加結果大於零,則程序繼續執行;

(3) 若相加結果小於或等於零,則從該訊號的等待佇列中喚醒一等待程序,然後再返回原程序繼續執行或轉程序排程.

pv操作對於每乙個程序來說,都只能進行一次,而且必須成對使用.在pv原語執行期間不允許有中斷的發生.

具體理解:

在計算機作業系統中,

pv操作是程序管理中的難點。

p,v原語中

p是荷蘭語的

passeren

,相當於英文的

pass, v

是荷蘭語的

verhoog,

相當於英文中的

increment。

首先應弄清

pv操作的含義:

pv操作由

p操作原語和

v操作原語組成(原語是不可中斷的過程),對訊號量進行操作,具體定義如下: p

(s):①將訊號量

s的值減1,即

s=s-1;

②如果s>=0

,則該程序繼續執行;否則該程序置為等待狀態,排入等待佇列。 v

(s):①將訊號量

s的值加1,即

s=s+1;

②如果s>0

,則該程序繼續執行;否則釋放佇列中第乙個等待訊號量的程序。 pv

操作的意義:我們用訊號量及

pv操作來實現程序的同步和互斥。

pv操作屬於程序的低階通訊。

什麼是訊號量?訊號量(

semaphore

)的資料結構為乙個值和乙個指標,指標指向等待該訊號量的下乙個程序。訊號量的值與相應資源的使用情況有關。當它的值大於

0時,表示當前可用資源的數量;當它的值小於

0時,其絕對值表示等待使用該資源的程序個數。注意,訊號量的值僅能由

pv操作來改變。

一般來說,訊號量

s>=0時,s

表示可用資源的數量

。執行一次

p操作意味著請求分配乙個單位資源

,因此s

的值減1

;當s<0

時,表示已經沒有可用資源,請求者必須等待別的程序釋放該類資源,它才能執行下去。而執行乙個

v操作意味著釋放乙個單位資源

,因此s

的值加1

;若s£0

,表示有某些程序正在等待該資源,因此要喚醒乙個等待狀態的程序,使之執行下去。

利用訊號量和

pv操作實現程序互斥的一般模型是: 程序

p1程序

p2……

程序pn

………………p

(s);p

(s);p

(s);

臨界區;

臨界區;

臨界區; v

(s);v

(s);v

(s);

…………

…………

其中訊號量

s用於互斥,初值為1。

使用pv操作實現程序互斥時應該注意的是: (

1)每個程式中使用者實現互斥的p、

v操作必須成對出現

,先做p

操作,進臨界區,後做

v操作,出臨界區。若有多個分支,要認真檢查其成對性。 (

2)p、

v操作應分別緊靠臨界區的頭尾部,臨界區的**應盡可能短,不能有死迴圈。 (

3)互斥訊號量的初值一般為1。

利用訊號量和

pv操作實現程序同步 pv

操作是典型的同步機制之一。用乙個訊號量與乙個訊息聯絡起來,當訊號量的值為

0時,表示期望的訊息尚未產生;當訊號量的值非

0時,表示期望的訊息已經存在。用

pv操作實現程序同步時,呼叫

p操作測試訊息是否到達,呼叫

v操作傳送訊息。 使用

pv操作實現程序同步時應該注意的是: (

1)分析程序間的制約關係,確定訊號量種類。在保持程序間有正確的同步關係情況下,哪個程序先執行,哪些程序後執行,彼此間通過什麼資源(訊號量)進行協調,從而明確要設定哪些訊號量。 (

2)訊號量的初值與相應資源的數量有關,也與p、

v操作在程式**中出現的位置有關。 (

3)同一訊號量的p、

v操作要成對出現,但它們分別在不同的程序**中。

PCB各層的定義及解釋

1 top layer 頂層佈線層 設計為頂層銅箔走線。2 bomttom layer 底層佈線層 設計為底層銅箔走線。3 top bottom solder 頂層 底層阻焊綠油層 頂層 底層敷設阻焊綠油,以防止銅箔上錫,保持絕緣。在焊盤 過孔及本層非電氣走線處阻焊綠油開窗。焊盤在設計中缺省會開窗 ...

威脅情報的定義及理解

根據gartner對威脅情報的定義,威脅情報是某種基於證據的知識,包括上下文 機制 標示 含義和能夠執行的建議,這些知識與資產所面臨已有的或醞釀中的威脅或危害相關,可用於資產相關主體對威脅或危害的響應或處理決策提供資訊支援。業內大多數所說的威脅情報可以認為是狹義的威脅情報,其主要內容為用於識別和檢測...

原型與原型鏈的理解及解釋

原型和繼承constructor prototype proto 建構函式 例項物件 用來初始化新建立的物件的函式是建構函式。在 c 語言中,類 有乙個建構函式,它與類同名且沒有返回值的 可以不寫,也可過載多個 在 js 中,沒有 類 的概念,原型物件 姑且等同於 類 原型物件有 construct...