V(full); until false; end compute: begin
repeat
??.. P(full); y:=b; V(empty);
compute the item in y; until false; end
parend end
4. ×ÀÉÏÓÐÒ»¿ÕÅÌ£¬ÔÊÐí´æ·Åһֻˮ¹û¡£°Ö°Ö¿ÉÏòÅÌÖзÅÆ»¹û»ò½Û×Ó£¬¶ù×ÓרµÈ³Ô½Û×Ó£¬Å®¶ùרµÈ³ÔÆ»¹û¡£¹æ¶¨µ±ÅÌ¿Õʱһ´ÎÖ»ÄÜ·Åһֻˮ¹û¹©³ÔÕßÈ¡Óã¬ÇëÓÃP¡¢V²Ù×÷ʵÏÖ°Ö°Ö¡¢¶ù×Ó¡¢Å®¶ùÈý¸ö²¢·¢½ø³ÌµÄͬ²½¡£ ´ð£ºvar s,sa,s0:semaphore:=1,0,0 begin parbegin father:begin repeat P(s);
½«Ë®¹û·ÅÈëÅÌÖУ»
if(·ÅµÄÊǽÛ×Ó) then V(s0);
else V(sa);
until false end son: begin repeat
37
P(s0);
´ÓÅÌÖÐÈ¡½Û×Ó£» V(s); ³Ô½Û×Ó£» until false end daughter: begin
repeat
P(sa); ´ÓÅÌÖÐÈ¡Æ»¹û£» V(s); ³ÔÆ»¹û£» until false end
parend end
8.Íê³ÉÏÂ±í£º·Ö±ð°´ÈýÖÖµ÷¶ÈËã·¨Ìîд³öÏÂÁÐ×÷ÒµµÄÍê³Éʱ¼ä¡¢ÖÜתʱ¼ä¡¢´øȨÖÜתʱ¼äºÍÖ´ÐÐÐòÁС£ ½ø³ÌÃû µ½´ïʱ¼ä ·þÎñʱ¼ä Íê³Éʱ¼ä FCFS ÖÜתʱ¼ä ´øȨÖÜתʱ¼ä Íê³Éʱ¼ä SJF ÖÜתʱ¼ä ´øȨÖÜתʱ¼ä RR
A 0 2 2 2 1 2 2 1 B 1 1 3 2 2 3 2 2 C 3 5 8 5 1 8 5 1 D 4 3 11 7 7/3 13 9 3 E 5 2 13 8 4 10 5 5/2 ABCED ABCDE Ö´ÐÐÐòÁÐ Íê³Éʱ¼ä 2 3 13 38
12 9 ABCDECDC q=2 ÖÜתʱ¼ä ´øȨÖÜתʱ¼ä 2 1 2 2 10 2 8 8/3 4 2 5. ÔÚÒøÐмÒËã·¨ÖУ¬Èô³öÏÖÏÂÊö×ÊÔ´·ÖÅäÇé¿ö£º Process Allocation A B C D P0 P1 P2 P3 P4 0 0 3 2 1 0 0 0 1 3 5 4 0 0 3 2 0 0 1 4 Need ABCD 0 0 1 2 1 7 5 0 2 3 5 6 0 6 5 2 0 6 5 6 Available ABCD 1 7 2 2 ÊÔÎÊ£º£¨1£©¸Ã״̬ÊÇ·ñ°²È«£¿
£¨2£©Èô½ø³ÌP2Ìá³öÇëÇóRequest£¨1£¬2£¬2£¬2£©ºó£¬ÏµÍ³ÄÜ·ñ½«×ÊÔ´
·ÖÅä¸øËü£¿
´ð£º£¨1£©¶Ô¸Ã״̬½øÐа²È«ÐÔ¼ì²é£º ×ÊÔ´ÇéWork Need A B C D Allocation A B C D Work+Allocation A B C D Finish ¿ö A B C D ½ø³Ì P0 P3 P4 P1 P2 1 7 2 2 1 7 5 4 1 7 8 6 1 7 9 10 2 7 9 10 0 0 1 2 0 6 5 2 0 6 5 6 1 7 5 0 2 3 5 6 0 0 3 2 0 0 3 2 0 0 1 4 1 0 0 0 1 3 5 4 1 7 5 4 1 7 8 6 1 7 9 10 2 7 9 10 3 10 14 14 True True True True True ÀûÓð²È«ÐÔËã·¨¶ÔÉÏÃæµÄ״̬½øÐзÖÎö£¬ÕÒµ½ÁËÒ»¸ö°²È«ÐòÁÐ{P0£¬P3£¬P4£¬P1£¬P2}£¬¹ÊϵͳÊÇ°²È«µÄ¡£
£¨2£©P2Ìá³öÇëÇóRequest£¨1£¬2£¬2£¬2£©ºó£¬ÏµÍ³°´ÒøÐмÒËã·¨½øÐмì²é£º
¢Ù Request2£¨1,2,2,2£©¡ÜNeed2(2,3,5,6)£» ¢Ú Request2£¨1,2,2,2£©¡ÜAvailable(1,7,2,2) ¢Û ϵͳÏȼٶ¨ÎªP2·ÖÅä×ÊÔ´£¬²¢Ð޸ĸ÷ÏòÁ¿µÄÖµ£º
39
Available=(0,5,0,0)£»Allocation2=(2,5,7,6)£»Need2=(1,1,3,4) ¢Ü ½øÐа²È«ÐÔ¼ì²é£º´Ëʱ¶ÔËùÓеĽø³Ì£¬Ìõ¼þNeedi¡Ü
Available(0,4,0,0)¶¼²»³ÉÁ¢£¬¼´Available²»ÄÜÂú×ãÈκνø³ÌµÄÇëÇ󣬹Êϵͳ½øÈë²»°²È«×´Ì¬¡£Òò´Ë£¬µ±P2Ìá³öÇëÇóRequest£¨1£¬2£¬2£¬2£©£¬ÏµÍ³²»Äܽ«×ÊÔ´·ÖÅä¸øËü¡£
40