熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 操作系統 >> 正文

二十 九陰真經之北航篇——P,V改錯(2002)[2]

2013-11-15 15:51:35  來源: 操作系統 

    他們不能正確運行因為題中的進程P和P之間有一個共享變量X由於進程的並發執行可能會產生與時間有關的錯誤比如進程P先於P運行程序執行完成後Z的值是u的值為但若進程P執行到賦值語句X=進程調度P運行此時X的值又被重新賦值為待進程P運行結束後進程P運行當兩個進程都結束運行時Z的值u的值若要使P和P能正確執行必須設置一互斥信號量以便對P和P中的臨界區互斥使用改正後的程序如下

  

  The PV code Using Pascal

  

  parbegin

  var x:integer;

  mutex:semaphore;

  process P        process P

    var yz:integer;      var tu:integer;

    begin             begin

    p(mutex);         p(mutex);

    x:=;             x:=;

    y:=;             t:=;

    if x≥ then y:=y+;  if x≤ then t:=t+;

    v(mutex);         v(mutex);

    z:=y;             u:=t;

    end             end

  parend

 

    返回《操作系統之PV金典》

[]  []  


From:http://tw.wingwit.com/Article/program/czxt/201311/24093.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.