PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
mii63829
Silent Member
 

加入日期: Dec 2005
文章: 0
[考題]求救...研究所(作業系統)考題..請各位幫幫忙

小弟這個問題...已經PO在奇摩知識快1個月了...
都沒人回應..希望站上有高手可以幫忙...

題目如下: Find a counterexample that demonstrates that this solution is incorrect
(請找出下列程式中的錯誤)

Concider the following program:
1 bollean block[2];
2 in turn;
3 void P(int id){
4 while(true){
5 blocked[id]=true;
6 while(turn!=id){
7 while(Blocked[1-id])
8 ;
9 turn=id;
10 }
11 /* critical section*/
12 blocked[id]=false;
13 /* remainder*/
14 }
15 }
16 void manin(){
17 blocked[0]false;
18 blocked[1]false;
19 turn=0;
20 parbegin(P(0),P(1));
21 }

這邊沒點數可給...只能先給各位高手說聲謝謝!!
     
      
舊 2006-04-20, 08:22 AM #1
回應時引用此文章
mii63829離線中  
aggregate
Major Member
 

加入日期: Apr 2005
文章: 224
我不覺的這是很難的題目
需要你來空等奇摩知識一個月別人的回應
念到了研究所 該自已解決問題了..
 
舊 2006-04-20, 08:40 AM #2
回應時引用此文章
aggregate離線中  
wetech
*停權中*
 

加入日期: Dec 2005
文章: 3
路過..... 0987
舊 2006-04-20, 08:40 AM #3
回應時引用此文章
wetech離線中  
zongyou
Advance Member
 

加入日期: Apr 2002
文章: 308
無限迴圈==

真是亂七八糟的排版
舊 2006-04-20, 08:59 AM #4
回應時引用此文章
zongyou離線中  
Magic S-RED
Junior Member
 
Magic S-RED的大頭照
 

加入日期: May 2004
文章: 975
一個月......
為什麼不問老師呀......
舊 2006-04-20, 09:10 AM #5
回應時引用此文章
Magic S-RED離線中  
kaivensong
Regular Member
 
kaivensong的大頭照
 

加入日期: Nov 2003
文章: 98
一點誠意也沒有
不排版、錯別字又多
bollean是啥?
in又是啥? 沒這種type....

-------------------------------
考不上、不會寫是應該的
__________________
1.西巴丹 2.美娜多 3.帛琉
何時才能騎到海龜呢?
Olympus c-755 + PT-018拍的
舊 2006-04-20, 09:29 AM #6
回應時引用此文章
kaivensong離線中  
巧克力酥片
Senior Member
 
巧克力酥片的大頭照
 

加入日期: Aug 2004
文章: 1,068
違反了Critical Section三個條件中的mutual exclusion。題目是要求給一個反例指出程式違反了Critical Section三個條件中的那一個條件,不是要你指出程式那行寫錯,何況閣下所打出來的程式滿滿的錯誤。
主程式main執行到parbegin(P(0),P(1));時,,2個processes會平行執行,這時就看誰先取得cpu資源。
假設這時p(1)先取得cpu資源,然後一直執行到while(turn!=id)這行,發現目前turn的值是0,和自己的id不相等,就會執行while中的程式。執行到while(Blocked[1-id]);時,去檢查另一個process是否想進入Critical Section,發現p(0)還沒要進入Critical Section,所以while迴圈裡面的動作不作,要進入Critical Section。正要進去時,cpu的使用權被p(0)搶走,p(0),因為turn的值還是0,沒有作修改,p(0)檢查發現自己有優先權,也不作while裡面的動作,直接進入Critical Section。等到cpu被p(1)搶回來時,就從進入Critical Section那段開始作。這時在Critical Section同時有2個processes存取,違反了mutual exclusion的原則。
舊 2006-04-20, 10:05 AM #7
回應時引用此文章
巧克力酥片離線中  
redring
Senior Member
 
redring的大頭照
 

加入日期: Mar 2002
您的住址: 《八仙飯店》
文章: 1,354
這麼混亂的發問
這種程度的問題
都需要上網路來求救

台灣研究所學子的程度?!!


PS:我並沒有大專以上的學歷
舊 2006-04-20, 11:07 AM #8
回應時引用此文章
redring離線中  
seatree
Major Member
 
seatree的大頭照
 

加入日期: Sep 2001
文章: 108
1個月....還解不出來,樓主要不要考慮一下研究所別唸了。
__________________
潛水去
舊 2006-04-20, 12:03 PM #9
回應時引用此文章
seatree離線中  
bawti
Major Member
 

加入日期: Nov 2005
您的住址: 台北
文章: 218
引用:
作者seatree
1個月....還解不出來,樓主要不要考慮一下研究所別唸了。


這句話...................猛


__________________
https://www.poem-design.com/
舊 2006-04-20, 12:14 PM #10
回應時引用此文章
bawti離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:59 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。