²Ù×÷ϵͳÁ·Ï°Ìâ ÏÂÔØ±¾ÎÄ

V(wait[i]); end coend end

2£®ÔÚÒ»¸öÇëÇó·ÖҳϵͳÖУ¬²ÉÓÃLRUÒ³ÃæÖû»Ë㷨ʱ£¬¼ÙÈçÒ»¸ö×÷ÒµµÄÒ³Ãæ×ßÏòΪ4,3,2,1,4,3,5,4,3,2,1,5,µ±·ÖÅ䏸¸Ã×÷ÒµµÄÎïÀí¿éÊýM·Ö±ðΪ3ºÍ4ʱ£¬ÊÔ»­³ö·ÃÎʹý³ÌÖÐËù·¢ÉúµÄȱҳλÖ㬲¢¼ÆËãȱҳµÄ´ÎÊýºÍȱҳÂÊ£¬±È½ÏËùµÃµÄ½á¹û¡£ ½â

1)µ±·ÖÅ䏸¸Ã×÷ÒµµÄÎïÀí¿éÊýM=3ʱ£¬Æäȱҳʱ¼äÈçÏ£º¡°¡ø¡±±íʾȱҳµÄλÖá£ Ò³Ãæ·ÃÎÊÐòÁУº4 3 2 1 4 3 5 4 3 2 1 5 ÎïÀíÄڴ棺4 4 4 1 1 1 5 5 5 2 2 2 3 3 3 4 4 4 4 4 4 1 1 2 2 2 3 3 3 3 3 3 5 ȱҳ±êÖ¾£º¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¼ÆËã½á¹û£ºÈ±Ò³´ÎÊýΪ10´Î£¬È±Ò³ÂÊΪ5/6¡£

2)µ±·ÖÅ䏸¸Ã×÷ÒµµÄÎïÀí¿éÊýM=4ʱ£¬Æäȱҳʱ¼äÃèÊöÈçÏ£º¡°¡ø¡±±íʾȱҳµÄλÖá£ Ò³Ãæ·ÃÎÊÐòÁУº4 3 2 1 4 3 5 4 3 2 1 5 ÎïÀíÄڴ棺4 4 4 4 4 4 4 4 4 4 4 5 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 5 5 5 5 1 1 1 1 1 1 1 1 2 2 2 ȱҳ±êÖ¾£º¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¡ø ¼ÆËã½á¹û£ºÈ±Ò³´ÎÊýΪ8´Î£¬È±Ò³ÂÊΪ2/3¡£

±È½Ï£ºµ±Àï³Ì·ÖÅäµÄÄÚ´æ¿éÊý½Ï¶àʱ£¬½ø³ÌµÄȱҳÂʽϵ͡£

3£®Èý¸ö½ø³ÌA¡¢B¡¢C£¬¹²ÏíÁ½¸ö»º³åÇøB1ºÍB2¡£»º³åÇøB1Öпɴæ·Ån¼þ²úÆ·£¬»º³åÇøB2Öпɴæ·Åm¼þ²úÆ·¡£½ø³ÌAÿ´ÎÉú²úÒ»¼þ²úÆ·²¢½«Æä´æÈ뻺³åÇøB1ÖУ»½ø³ÌBÿ´Î´Ó»º³åÇøB1ÖÐÈ¡³öÒ»¼þ²úÆ·ºóÔÙ°ÑËüË͵½»º³åÇøB2ÖУ»½ø³ÌCÿ´Î´Ó»º³åÇøB2ÖÐÈ¡³öÒ»¼þ²úÆ·È¥Ïû·Ñ¡£Îª·ÀÖ¹°Ñ²úÆ·´æÈëÒÑÂúµÄ»º³åÇø£¬»ò´Ó¿ÕµÄ»º³åÇøÈ¡²úÆ·¡¢»òÖØ¸´È¡²úÆ·£¬ÊÔÓÃÐźÅÁ¿»úÖÆÊµÏÖËüÃÇÖ®¼äµÄͬ²½¡£ ½â£º

£¨1£©½ø³Ì¼ä¹ØÏµÎª£ºA¡úB1¡úB¡úB2¡úC

AÊÜBÖÆÔ¼£ºµ±Bδ°ÑB1ÐÅϢȡ×ߣ¬A²»ÄÜÊäÈëÏÂÒ»ÐÅÏ¢¡£ CÊÜBÖÆÔ¼£ºµ±Bδ°ÑB1ÐÅÏ¢ËÍÈëB2£¬C²»ÄÜ´òÓ¡B2ÐÅÏ¢¡£

BͬʱÊÜA¡¢CÔ¼Êø£º°ÑAδ°ÑÐÅϢдÈëB1£»Cδ°ÑB2ÐÅÏ¢Ó¡³ö£¬ÔòB²»ÄܰÑB1ÐÅÏ¢ËÍÖÁB2¡£

£¨2£©ÉèËĸöÐźÅÁ¿¡£ËüÃdzõÖµ¾ùΪ0 A˽ÓÃÐźÅÁ¿S1¿Õ¡££¨Îª¡°0¡±±íʾB1¿Õ£© B˽ÓÃÐźÅÁ¿S1Âú¡££¨Îª¡°1¡±±íʾB1Âú£© B˽ÓÃÐźÅÁ¿S2¿Õ¡££¨Îª¡°0¡±±íʾB2¿Õ£© C˽ÓÃÐźÅÁ¿S2Âú¡££¨Îª¡°1¡±±íʾB2Âú£© PVÔ­Óïͬ²½Ëã·¨ÈçÏ£º

A£º ÊäÈëµ½B1¡úV£¨S1Âú£©¡úP£¨S1¿Õ£©¹ý³ÌÑ­»·Íù¸´

B£º P£¨S1Âú£©¡úB1µÄÐÅÏ¢ËÍÈëB2¡úV£¨S1¿Õ£©¡úV£¨S2Âú£©¡úP£¨S2¿Õ£©¹ý³ÌÑ­»·Íù¸´

C£º P£¨S2Âú£©¡úB2µÄÐÅÏ¢±»´òÓ¡¡úV£¨S2¿Õ£©¹ý³ÌÑ­»·Íù¸´ 4£®¼ÙÉèÓÐ4µÀ×÷Òµ£¬ËüÃǵÄÌύʱ¼ä¼°Ö´ÐÐʱ¼äÓÉÏÂ±í¸ø³ö¡£ ×÷ÒµºÅ 1 2 3 4 Ìύʱ¿Ì£¨Ê±£© 10£º00 10£º20 10£º40 10£º50 Ö´ÐÐʱ¼ä£¨Ð¡Ê±£© 2 1 0.5 0.3 ¼ÆËãÔÚµ¥µÀ³ÌÐò»·¾³Ï£¬²ÉÓÃÏÈÀ´ÏÈ·þÎñµ÷¶ÈËã·¨ºÍ×î¶Ì×÷ÒµÓÅÏȵ÷¶ÈË㷨ʱµÄƽ¾ùÖÜתʱ¼äºÍ´øÈ¨Æ½¾ùÖÜתʱ¼ä£¬²¢Ö¸³öËüÃǵĵ÷¶È˳Ðò¡£

¼ÙÉè×÷ÒµiÌύʱ¼äΪTsi£¬Íê³Éʱ¼äΪTei£¬Ö´ÐÐʱ¼äΪTi£¬µÈ´ýʱ¼äΪTwi£¬ÖÜתʱ¼äΪTzi£¬´øÈ¨ÖÜתʱ¼äΪWi£¬Æ½¾ùÖÜתʱ¼äΪT£¬Æ½¾ù´øÈ¨ÖÜתʱ¼äΪW¡£ 1£©ÏÈÀ´ÏÈ·þÎñ£¨FCFS£©

˳Ðò£º 1. Ts1=10:00 Tw1=0 T1=2.0 Te1=12:00 Tz1=2.0 W1=1 2. Ts2=10:20 Tw2=2.0 T2=1.0 Te2=13:00 Tz2=5/3 W2=5/3 3. Ts3=10:40 Tw3=7/3 T3=0.5 Te3=13:30 Tz3=8/3 W3=16/3 4. Ts4=10:50 Tw4=8/3 T4=0.3 Te4=13:48 Tz4=89/30 W4=89/9 T=(2.0+5/3+8/3+89/30)/4=279/120=2.325 W=(1+5/3+16/3+89/9)/4=161/36=4.472 2)×î¶Ì×÷ÒµÓÅÏÈ£¨SJF£©

˳Ðò£º 1. Ts1=10:00 Tw1=0 T1=2.0 Te1=12:00 Tz1=2.0 W1=1 2. Ts4=10:50 Tw4=7/6 T4=0.3 Te4=12:18 Tz4=44/30 W4=44/9 3. Ts3=10:40 Tw3=49/30 T3=0.5 Te3=12:48 Tz3=64/3 W3=128/30 4. Ts2=10:20 Tw2=74/30 T2=1.0 Te2=13:48 Tz2=104/30 W2=104/30 T=(2.0+44/30+64/30+104/30)/4=272/120=2.267 W=(1+44/9+128/30+104/30)/4=1226/360=3.406

5£®ÉèÓÐһ̨¼ÆËã»úÓÐÁ½ÌõI/OͨµÀ£¬·Ö±ð½Óһ̨¿¨Æ¬ÊäÈë»úºÍһ̨´òÓ¡»ú¡£¿¨Æ¬»ú°ÑÒ»µþ

¿¨Æ¬ÖðÒ»ÊäÈëµ½´óСΪn1»º³åÇøB1ÖУ¬¼Ó¹¤´¦ÀíºóÔÚ°áµ½´óСΪn2»º³åÇøB2ÖУ¬²¢ÔÚ´òÓ¡»úÉÏÓ¡³ö£¬ÎÊ£º

¢ÙϵͳҪÉ輸¸ö½ø³ÌÀ´Íê³ÉÕâ¸öÈÎÎñ£¿¸÷×ԵŤ×÷ÊÇʲô£¿ ¢ÚÕâЩ½ø³Ì¼äÓÐʲôÑùµÄÏà»¥ÖÆÔ¼¹ØÏµ£¿ ¢ÛÓÃP¡¢V²Ù×÷д³öÕâЩ½ø³ÌµÄͬ²½Ëã·¨¡£ £®½â£º

¢Ùϵͳ¿ÉÉèÈý¸ö½ø³ÌÀ´Íê³ÉÕâ¸öÈÎÎñ£ºR½ø³Ì¸ºÔð´Ó¿¨Æ¬ÊäÈë»úÉ϶ÁÈ뿨ƬÐÅÏ¢£¬ÊäÈëµ½»º³åÇøB1ÖУ»C½ø³Ì¸ºÔð´Ó»º³åÇøB1ÖÐÈ¡³öÐÅÏ¢£¬½øÐмӹ¤´¦Àí£¬Ö®ºó½«½á¹ûË͵½»º³åÇøB2ÖУ»P½ø³Ì¸ºÔð´Ó»º³åÇøB2ÖÐÈ¡³öÐÅÏ¢£¬²¢ÔÚ´òÓ¡»úÉÏÓ¡³ö¡£

¢ÚR½ø³ÌÊÜC½ø³ÌÓ°Ï죬B1·ÅÂúÐÅÏ¢ºóR½ø³ÌÒªµÈ´ý¡ª¡ªµÈC½ø³Ì½«ÆäÖÐÐÅϢȫ²¿È¡×ߣ¬²ÅÄܼÌÐø¶ÁÈëÐÅÏ¢£»C½ø³ÌÊÜR½ø³ÌºÍP½ø³ÌµÄÔ¼Êø£ºB1ÖÐÐÅÏ¢·ÅÂúºóC½ø³Ì²Å¿É´ÓÖÐÈ¡³öËüÃÇ£¬ÇÒB2±»È¡¿ÕºóC½ø³Ì²Å¿É½«¼Ó¹¤½á¹ûËÍÈëÆäÖУ»P½ø³ÌÊÜC½ø³ÌµÄÔ¼Êø£ºB2ÖÐÐÅÏ¢·ÅÂúºóP½ø³Ì²Å¿É´ÓÖÐÈ¡³öËüÃÇ,½øÐдòÓ¡¡£

¢Û6¸öÐźÅÁ¿º¬Òå¼°³õÖµ£º

full1¡ª¡ª »º³åÇøB1Âú£¬³õֵΪ0£» empty1¡ª¡ª»º³åÇøB1¿Õ£¬³õֵΪn1£» full2¡ª¡ª »º³åÇøB2Âú£¬³õֵΪ0£» empty2¡ª¡ª»º³åÇøB2¿Õ£¬³õֵΪn2£»

S1¡ª¡ª¶ÔB1»¥³â·ÃÎʵĻ¥³âÐźÅÁ¿£¬³õֵΪ1£» S2¡ª¡ª¶ÔB2»¥³â·ÃÎʵĻ¥³âÐźÅʱ£¬³õֵΪ1£» R¡¢C¡¢Pͬ²½µÄ´úÂëÈçÏ£º

var s1,s2,full1,full2,empty1,empty2:semaphore:=1,1,0,0,n1,n2; begin parbegin

R:begin

repeat

´Ó¿¨Æ¬ÊäÈë»úÉ϶ÁÈ뿨ƬÐÅÏ¢; P(empty1); P(s1);

½«ÐÅÏ¢·ÅÈëbuff1ÖÐ; V(s1); V(full1);

until false;

end C:begin

repeat

P(full1); P(s1);

´Óbuff1ÖÐÈ¡³öÊý¾Ý;

end

V(s1); V(empty1); ´¦ÀíÈ¡³öµÄÊý¾Ý; P(empty2); P(s2);

½«Êý¾Ý´¦Àí½á¹ûËÍÈëbuff2ÖÐ; V(s2); V(full2);

until false

end P:begin

repeat

P(full2); P(s2);

´Óbuffer2ÖÐÈ¡³öÊý¾Ý; V(s2); V(empty2);

½«ÐÅÏ¢´Ó´òÓ¡»úÊä³ö;

until false;

end parend;

6£®ÉèÓÐÈý¸öÅú×÷ÒµJOB1¡¢JOB2¡¢JOB3£¬Æäµ½´ïʱ¼ä¡¢´¦Àíʱ¼ä¼°Íê³Éʱ¼äÈçÏ£º ×÷Òµ £¨Ê±£©

JOB1

×÷Òµµ½´ïʱ¼ä£¨Ê±£©

15

¿ªÊ¼´¦Àíʱ¼ä£¨Ê±£©

18

´¦ÀíÍê³Éʱ¼ä

22