回覆列表
  • 1 # 使用者1706910304436862

    ①訊號量的值減1,即S=S-1; ②如果S≥0,則該程序繼續執行; 如果S<0,則把該程序的狀態置為阻塞態,把相應的PCB連入該訊號量佇列的末尾,並放棄處理機,進行等待(直至其它程序在S上執行V操作,把它釋放出來為止)。 V操作順序執行下述兩個動作: ①S值加1,即S=S+1; ②如果S>0,則該程序繼續執行; 如果S≤0,則釋放訊號量佇列上的第一個PCB(即訊號量指量指標項所指向的PCB)所對應的程序(把阻塞態改為就緒態),執行V操作的程序繼續執行。1.PV操作的含義:PV操作由P操作原語和V操作原語組成(原語是不可中斷的過程),對訊號量進行操作,具體定義如下: P(S):①將訊號量S的值減1,即S=S-1; ②如果S³0,則該程序繼續執行;否則該程序置為等待狀態,排入等待佇列。 V(S):①將訊號量S的值加1,即S=S+1; ②如果S>0,則該程序繼續執行;否則釋放佇列中第一個等待訊號量的程序。 2.PV操作的意義:我們用訊號量及PV操作來實現程序的同步和互斥。PV操作屬於程序的低階通訊。 什麼是訊號量?訊號量(semaphore)的資料結構為一個值和一個指標,指標指向等待該訊號量的下一個程序。訊號量的值與相應資源的使用情況有關。當它的值大於0時,表示當前可用資源的數量;當它的值小於0時,其絕對值表示等待使用該資源的程序個數。注意,訊號量的值僅能由PV操作來改變。3,  一般來說,訊號量S³0時,S表示可用資源的數量。執行一次P操作意味著請求分配一個單位資源,因此S的值減1;當S

  • 2 # 歡快山雀qy

    可以這樣理解:

    臨界區門前有棵樹

    用來掛紅燈

    程序想進CPU的門

    先得上樹取下盞燈(呼叫一次P)

    取下一個去敲門(S=S-1)

    如果樹上沒有燈取(S<=0)

    樹說暫時欠你一盞燈(S為負時)

    程序沒轍只好在門外邊排隊等(WAIT(S))

    得燈的程序繼續執行執行完了要出門(呼叫一次V)

    馬上還回一盞燈(S=S+1)

    若有程序在催債(S<=0)

    放個程序進去完成(Release(S))

  • 3 # 素人朝天

    沒什麼技巧,也就是程序一先v後p,程序二先p後v或者程序一先p後v,程序二先v後p或者同時先後pv,vp四種情況你比較一下,不同的題目用不同的順序

  • 中秋節和大豐收的關聯?
  • 快手怎麼養號容易熱門?