²Ù×÷ϵͳ¿ÎºóϰÌâ1-9´ð°¸½ÌѧÎݸ ÏÂÔØ±¾ÎÄ

end; P:begin repeat

wait(full1);

get from buffer1; signal(empty1); wait(empty2); put to buffer2; signal(full2); until false; end; O:begin repeat

wait(full2)

get from buffer2; signal(empty2); until false; end;

parend; end;

µÚ5ÕÂ

5.1ʲôÊÇËÀËø£¿ÒýÆðËÀËøµÄÔ­ÒòºÍ±ØÒªÌõ¼þÊÇʲô£¿

ËÀËøÊÇÖ¸¶à¸ö½ø³ÌÒòΪ¾ºÕù×ÊÔ´Ôì³ÉµÄÒ»ÖÖ½©¾Ö¡£

Ô­Òò£º²¢·¢½ø³Ì¶ÔÁÙ½ç×ÊÔ´µÄ¾ºÕùºÍ²¢·¢½ø³ÌÍÆ½øË³Ðò²»µ±¡£

±ØÒªÌõ¼þ£º»¥³âÌõ¼þ£¬Õ¼Óв¢ÇëÇóÌõ¼þ£¬²»°þ¶áÌõ¼þ£¬»·Â·µÈ´ýÌõ¼þ¡£

5.2 ±È½Ï½â¾öËÀËøµÄ·½·¨ÖУ¬ÄÇÖÖ·½·¨×îÈÝÒ×ʵÏÖ£¿ÄÇÖÖ·½·¨Ê¹µÃ×ÊÔ´µÄÀûÓÃÂÊ×î¸ß£¿

½â¾öËÀËøµÄ·½·¨£ºÔ¤·ÀËÀËø£¬±ÜÃâËÀËø£¬¼ì²âËÀËø£¬½â³ýËÀËø¡£

Ô¤·ÀËÀËøÊÇͨ¹ýÉè¼ÆÐ­Í¬×ÊÔ´¹ÜÀí³ÌÐò£¬ÔÚ½ø³ÌÔËÐÐÆÚ¼ä£¬°Ø»³ËÀËø²úÉúµÄËĸöÌõ¼þÖ®ÖеÄÈκÎÒ»¸ö£¬ÊÇÖ¸²»³ÉÁ¢¡£ ÊÇ×îÈÝÒ×ʵÏֵķ½·¨¡£

½â³ýËÀËøÊÇÔÚ·¢ÏÖËÀËøºó£¬½â³ýËÀËø£¬ÊÍ·Å×ÊÔ´¡£ÊÇ×ÊÔ´ÀûÓÃÂÊ×î¸ßµÄ·½·¨¡£

5.3Ô¤·ÀËÀËøµÄ·½·¨ÓÐÄÄЩ£¿

ÆÆ»µ»¥³âÌõ¼þ£¬ÆÆ»µÕ¼Óв¢ÇëÇó£¬×èÖ¹»·Â·µÈ´ý£¬ÔÊÐí°þ¶á

5.8ϵͳÖÐÓÐ3¸ö½ø³Ì¹²Ïí4¸ö×ÊÔ´£¬Ã¿¸ö½ø³Ìÿ´ÎÖ»ÄÜÉêÇë»òÊÍ·ÅÒ»¸ö×ÊÔ´£¬Ã¿¸ö½ø³Ì×î¶àÐèÒª2¸ö×ÊÔ´£¬¸ø½ø³ÌÊÇ·ñ»á·¢ÉúËÀËø£¬ÎªÊ²Ã´£¿ ½â:

²»»á·¢ÉúËÀËø¡£3¸ö½ø³Ì¹²Ïí4¸ö×ÊÔ´£¬Ã¿¸ö½ø³Ì×î¶àÐèÒª2¸ö×ÊÔ´¡£ ×ÜÓÐÒ»¸ö½ø³ÌµÄÇëÇó»áÂú×㣬ÔËÐв¢ÊÍ·Å×ÊÔ´¡£²»»áÐγɻ·Â·µÈ´ý¡£

5.9ϵͳÖÐÓÐ20¸ö½ø³Ì£¬Ã¿¸ö½ø³Ì×î¶àʹÓÃ3¸ö×ÊÔ´£¬Ã¿¸ö½ø³ÌÖð¸öÉêÇë²¢¾ºÕùʹÓÃ60¸öͬÀà×ÊÔ´¡£Ò»µ©Ä³½ø³Ì»ñµÃËùÐèÒªµÄ×ÊÔ´£¬Íê³ÉºóÁ¢¼´ÊÍ·ÅÈ«²¿×ÊÔ´¡£ÏµÍ³ÊÇ·ñ»á·¢ÉúËÀËø£¿ÎªÊ²Ã´£¿

ϵͳ²»»á·¢ÉúËÀËø¡£ÒÔ×µÄÇé¿öÀ´¿¼ÂÇ£¬20¸ö½ø³Ì¶¼ÐèҪʹÓÃ3¸ö×ÊÔ´¡£µ±Ç°£¬Ã¿¸ö½ø³Ì¶¼³ÖÓÐ2¸ö×ÊÔ´¡££¨20*2=40£©.¶¼ÔÚÉêÇëµÚ3¸ö×ÊÔ´£¨60-40=20£©¶ÔÓÚÊ£ÓàµÄ20¸ö×ÊÔ´£¬Ã¿¸ö½ø³Ì¶à»áµÃµ½Ò»¸ö×ÊÔ´¡£²»»áÐγɻ·Â·µÈ´ý¡£

5.10 һ̨¼ÆËã»úÓÐ8̨´òÓ¡»ú£¬±»N¸ö½ø³Ì¾ºÕùʹÓã¬Ã¿¸ö½ø³Ì×î¶àÐè Òª3̨¡£ ÇëÎÊNΪ¶àÉÙʱ£¬ÏµÍ³Ã»ÓÐËÀËøµÄΣÏÕ£¬ËµÃ÷Ô­Òò¡£ ½â:

N=3ʱ£¬Ã»ÓÐËÀËøµÄΣÏÕ¡£

¶ÔÓÚN¸ö½ø³Ì£¬¶¼³ÖÓÐ2̨´òÓ¡»úʱ£¬ÉêÇëµÚ3̨´òÓ¡»ú£¬Ö»ÒªÓÐһ̨µÄ¶àÓàµÄ´òÓ¡»úÄܱ»ÉêÇëµ½£¬Ôòϵͳ¾ÍûÓÐËÀËøµÄΣÏÕ¡£¼´N*2+1<=8 £¬µÃ N<=3¡£

5.11 ¿¼ÂÇͼ5.9ËùʾµÄ×ÊÔ´·ÖÅäͼ£¬Äĸö½ø³Ì»á·¢ÉúËÀËø£¿

½ø³ÌP3,P4»á·¢ÉúËÀËø¡£

¶ÔÓÚ½ø³ÌP1,P2£¬½ø³ÌµÄÍÆ½ø²»ÐèÒªµÈ´ýÆäËû½ø³ÌµÄÍê³É¡£ ½ø³ÌP3,P4¡£P3ÒªµÈP4Íê³É²¢ÊÍ·Å×ÊÔ´ºó·½ÄÜÍÆ½ø¡£¶øP4ÒªµÈµ½P3Íê³Éºó²ÅÄÜ¡£½á¹ûÊÇP3,P4¶¼²»ÄÜÍê³É¡£ÐγÉËÀËø¡£

5.12 ¼Ù¶¨ÓÐ3¸öÈËÅŶӵȺòÉϵçÌÝ¡£µ±µçÌÝÃÅ´ò¿ªµÄʱºò£¬3¸öÈ˶¼³¯ÃſڳåÈ¥£¬µ«ÊÇÃŲ»¹»´ó£¬ËûÃÇ3È˲»ÄÜͬʱ½øÃÅ¡£ÃèÊö½â¾öÕâÖÖËÀËøµÄ·½·¨£¬¿ÉÒÔÈÃ3¸öÈ˶¼ÉϵçÌÝ¡£ËµÃ÷ÄãµÄ½â¾ö·½°¸Çå³ýÁËÄĸöËÀËøµÄ±ØÒªÌõ¼þ¡£ ´ð£ºÈÃ3¸öÈËÂÖÁ÷½øµçÌÝ¡£

ÆÆ»µÁËËÀËø·¢ÉúµÄ4¸ö±ØÒªÌõ¼þÖеġ°²»°þ¶áÌõ¼þ¡±¡£

5.13 ¼Ù¶¨Ò»¸öϵͳ¾ßÓÐËÄÖÖ×ÊÔ´ÀàÐÍ£¬·Ö±ðΪ£ºR={3£¬7£¬2£¬3}£¬×î´ó×ÊÔ´ÐèÇóÊý±íÈçͼ5.10Ëùʾ¡£×ÊÔ´·ÖÅäÆ÷¸ù¾Ýͼ5.11ÖеıíÀ´·ÖÅä×ÊÔ´£¬Õâ¸ö״̬°²È«Âð£¿ÎªÊ²Ã´£¿

ͼ5.10 ͼ5.11

´ð£ºÕâ¸ö״̬°²È«¡£´æÔÚ°²È«Ö´ÐÐÐòÁÐ{P4,P0,P1,P3,P2}£»

6.9 Èç¹ûÒ»¸ö·ÖҳϵͳÄܹ»ÏòÓû§ÌṩµÄÂß¼­µØÖ·×î´óΪ16Ò³£¬Ò³Ãæ´ó СΪ2K£¬ÄÚ´æ×ܹ²ÓÐ8¸ö´æ´¢¿é¡£ÇëÎÊÂß¼­µØÖ·Ó¦¸ÃΪ¶àÉÙλ£¿ÄÚ ´æ¿Õ¼äΪ¶à´ó£¿

½â£ºÂß¼­µØÖ·Ó¦¸ÃΪ4+11=15£¨Î»£© ÄÚ´æ¿Õ¼äΪ8*2K =16K

6.10 Èç¹ûÒ»¸ö·ÖҳϵͳµÄÒ³±í´æ·ÅÔÚÄÚ´æ¡£

£¨1£©Èô¶ÔÄÚ´æµÄÒ»´Î´æÈ¡ÐèÒª1.2?s£¬ÇëÎÊÒ»´ÎÒ³Ãæ·ÃÎʵĴæÈ¡Ðè Òª»¨¶àÉÙʱ¼ä£¿

£¨2£©ÈôϵͳÅäÖÃÁËÁªÏë¼Ä´æÆ÷£¬¶Ô¿ì±íµÄÃüÖÐÂÊΪ70%£¬¼ÙÈç²éѯ ÁªÏë¼Ä´æÆ÷µÄʱ¼äºöÂÔ²»¼Æ£¬ÇëÎÊʵÏÖÒ»´ÎÒ³Ãæ·ÃÎʵĴæÈ¡ ʱ¼äÊǶàÉÙ£¿ ½â£º£¨1£©·ÃÎÊÒ»´ÎÒ³ÃæµÄ´æÈ¡ÐèÒª»¨·ÑµÄʱ¼äΪ2*1.2?s=2.4?s £¨2£©ÊµÏÖÒ»´ÎÒ³Ãæ·ÃÎʵĴæÈ¡Ê±¼ä=0.3*1.2?s+1.2?s=1.56?s

6.11 Èç¹ûÒ»¸ö·ÖҳϵͳÂß¼­µØÖ·³¤¶ÈΪ16λ£¬Ò³Ãæ´óСΪ4KB£¬µÚ0¡¢1¡¢2Ò³¶ÔÓ¦10¡¢12¡¢14ºÅÎïÀí¿é£¬ ÇëÎÊÂß¼­µØÖ·Îª2F6AH¶ÔÓ¦µÄÎïÀíµØÖ·Îª¶àÉÙ£¿ ½â£ºÂß¼­µØÖ·Îª2F6AH¶ÔÓ¦µÄ¶þ½øÖÆÂëΪ£º0010 1111 0110 1010£¬Ò³ºÅΪ£º2£¬Ò³ÄÚÆ«ÒÆÎªF6AH¡£

²éѯҳ±í2ºÅÒ³Ãæ¶ÔÓ¦14ºÅ¿é£¬ËùÒÔ£¬ÎïÀíµØÖ·Îª 1110 1111 0110 1010£¬×îÖÕÎïÀíµØÖ·Îª£ºEF6AH

6.12 Èç¹ûÄÚ´æÖÐÓÐ4¸ö¿ÕÏп飬ÿ¸ö¿ÕÏпéµÄ´óСΪ10MB¡£ÓÐ10¸öÇëÇó£¬Ã¿´ÎÇëÇó1MBµÄÄÚ´æ´óС£¬¶ÔÓÚÏÂÃæÁгöµÄÄÚ´æ·ÖÅä·½·¨ÖеÄÿһÖÖ£¬È·¶¨ËùÓÐ10¸öÇëÇó¶¼±»Âú×ãÖ®ºóÊ£Óà¿ÕÏпéµÄ´óС¡£ £¨a£©Ê×´ÎÊÊÓ¦Ëã·¨ £¨b£©Ñ­»·Ê×´ÎÊÊÓ¦Ëã·¨ £¨c£©×î¼ÑÊÊÓ¦Ëã·¨ £¨d£©×ÊÊÓ¦Ëã·¨ ½â£º£¨a£©Ê×´ÎÊÊÓ¦Ëã·¨£º¿é1ÓÃÍ꣬¿é2£¬3£¬4Ê£Óà10MB¡£ £¨b£©Ñ­»·Ê×´ÎÊÊÓ¦Ëã·¨£º¿é1£¬2Óà7MB£¬¿é3.4Óà8MB¡£ £¨c£©×î¼ÑÊÊÓ¦Ëã·¨£º¿é1ÓÃÍ꣬¿é2£¬3£¬4Óà10MB¡£ £¨d£©×ÊÊÓ¦Ëã·¨£º¿é1£¬2Óà7MB£¬¿é3£¬4Óà8MB¡£

6.13 Èç¹ûÒ»¸öϵͳµÄ¶Î±íΪ£º ¶Î ºÅ ʼ Ö· 0 1 2 3 200 900 100 1200 ¶Î ³¤ 510 30 80 500 4 1800 80 ÇóÏÂÁÐÂß¼­µØÖ·ÏàÓ¦µÄÎïÀíµØÖ·¡£Èç¹ûÔ½½çÇëÖ¸Ã÷¡£ {0,380}¡¢{1,20}¡¢{1,24}¡¢{2,200}¡¢{3,500}¡¢{4,120}¡£ ½â£º{0,380}±íʾΪ0¶Î£¬¶ÎÄÚÆ«ÒÆÎª380£¬ÎïÀíµØÖ·Îª580£» {1,20}±íʾΪ1¶Î£¬¶ÎÄÚÆ«ÒÆÎª20£¬ÎïÀíµØÖ·Îª920£»

{1,24}±íʾΪ1¶Î£¬¶ÎÄÚÆ«ÒÆÎª24£¬ÎïÀíµØÖ·Îª924£» {2,200}±íʾΪ2¶Î£¬¶ÎÄÚÆ«ÒÆÎª200£¬ÒѾ­Ô½½ç£»

{3,500}±íʾΪ3¶Î£¬¶ÎÄÚÆ«ÒÆÎª500£¬ÎïÀíµØÖ·Îª1700£» {4,120}±íʾΪ4¶Î£¬¶ÎÄÚÆ«ÒÆÎª120£¬ÒѾ­Ô½½ç¡£

7.5 ÔÚ·ÖÒ³ÐéÄâ´æ´¢Æ÷¹ÜÀíÖУ¬Èç¹ûÒÑ֪ʱ¼äÀûÓÃÂÊΪ£ºCPU20%¡¢·ÖÒ³ ´ÅÅÌ92%¡¢ÍâÉè50%£¬ÇëÎʲÉÈ¡ÄÄЩ´ëÊ©¿ÉÒÔ¸ÄÉÆCPUµÄÀûÓÃÂÊ£¿ ½â£ºÔö´ó·ÖÒ³´ÅÅ̿ռ䡣

7.6 Ò»¸ö32λµØÖ·µÄ¼ÆËã»úϵͳʹÓöþ¼¶Ò³±í£¬ÐéÄâµØÖ·Îª9λ¶¥¼¶Ò³ ±í£¬11λ¶þ¼¶Ò³±íºÍÆ«ÒÆ¡£ÇëÎÊ£ºÒ³Ã泤¶ÈΪ¶àÉÙ£¿ÐéÄâµØÖ·¿Õ¼ä ÓжàÉÙ¸öÒ³Ãæ£¿

½â£ºÒ³ÃæÕ¼ÓõÄλÊý=32-9-11=12룬ҳÃ泤¶ÈΪ4K¡£ÐéÄâµØÖ·¿Õ¼äÓÐ1M¸öÒ³Ãæ¡£

7.7 Èç¹û·ÖÒ³ÐéÄâ´æ´¢ÏµÍ³ÏòÓû§ÌṩµÄÂß¼­µØÖ·¿Õ¼ä×î´óΪ16Ò³£¬Ã¿ Ò³2KB£¬ÄÚ´æ×ܹ²ÓÐ8¸ö´æ´¢¿é£¬ÇëÎÊÂß¼­µØÖ·ÖÁÉÙӦΪ¶àÉÙλ£¿ÄÚ ´æ¿Õ¼ä¶à´ó£¿

½â£º½â£ºÂß¼­µØÖ·Ó¦¸ÃΪ4+11=15£¨Î»£© ÄÚ´æ¿Õ¼äΪ8*2K =16K

7.8 ÔÚÒ»¸öÇëÇó·ÖÒ³µÄÐéÄâ´æ´¢Æ÷¹ÜÀíÖУ¬Ò»¸ö³ÌÐòµÄÔËÐÐÒ³Ãæ×ßÏòΪ£º 1¡¢2¡¢3¡¢4¡¢2¡¢3¡¢5¡¢6¡¢3¡¢1¡¢4¡¢6¡¢7¡¢5¡¢2¡¢4¡¢1¡¢3¡¢2

Èç¹ûΪ³ÌÐò·ÖÅäÒ³¿òΪ3¸ö¡¢4¸ö£¬Çë·Ö±ðÓÃFIFO¡¢OPTºÍLRUËã·¨Çó³öȱҳÖжϴÎÊýºÍȱҳÂÊ¡£ ½â£ºÒ³¿òΪ3£º

FIFOȱҳÖжϴÎÊýΪ14£»È±Ò³ÂÊΪ14/19¡£ OPTȱҳÖжϴÎÊýΪ8£»È±Ò³ÂÊΪ8/19¡£

LRUȱҳÖжϴÎÊýΪ13£»È±Ò³ÂÊΪ13/19¡£

Ò³¿òΪ4£º

FIFOȱҳÖжϴÎÊýΪ7£»È±Ò³ÂÊΪ7/19¡£

OPTȱҳÖжϴÎÊýΪ5£»È±Ò³ÂÊΪ5/19¡£

LRUȱҳÖжϴÎÊýΪ10£»È±Ò³ÂÊΪ10/19¡£

9.9 Èô²ÉÓÃ×Ö³¤Îª16λµÄλʾͼ¹ÜÀí´ÅÅ̿ռ䣬ij²Ù×÷ϵͳµÄ´ÅÅÌÎļþ¿Õ¼ä¹²ÓÐ500¿é£¬ÎÊλʾͼÐèÒª¶àÉÙ¸ö×Ö£¿µÚiÁеÚjÐжÔÓ¦µÄ¿éºÅΪ¶àÉÙ£¿ ´ð£º32,i,j°´ÕÕÊéÉϹ«Ê½

9.10 Ò»¸öÁ´½ÓÎļþÓÉ5¸öÂß¼­¼Ç¼×é³É£¬Ã¿¸öÂß¼­¼Ç¼µÄ´óСÓë´ÅÅÌ¿é´óС¶¼Îª512×Ö½Ú£¬Ò»´Î´æ·ÅÔÚ25£¬70£¬98£¬83£¬60ºÅ´ÅÅÌÉÏ¡£ÈôÒª´æÈ¡ÎļþµÄµÚ1 769Âß¼­×Ö½Ú´¦µÄÐÅÏ¢£¬ÎÊÐèÒª·ÃÎÊÄĸö´ÅÅ̿飿 ´ð£º83

9.11 ÔÚUNIX²Ù×÷ϵͳÖУ¬Èç¹ûÒ»¸öÅÌ¿éµÄ´óСΪ1KB£¬Ã¿¸öÅÌ¿éºÅÕ¼ÓÃ4¸ö×Ö½Ú£¬¼´Ã¿¿é¿É·Å256¸öµØÖ·£¬Èç¹û½ø³ÌÒª·ÃÎÊÆ«ÒÆÎª143 140´¦µÄÊý¾Ý£¬ÎÊÐèÒª¼¸´ÎѰַ£¿ ´ð£º1´Î¼äÖ·

9.12 ´Ó´ÅÅ̸ßËÙ»º´æ¶ÁÈ¡Êý¾ÝÐèÒª1ms£¬´Ó´ÅÅ̶ÁÈ¡Êý¾ÝÐèÒª40ms£¬Èç¹ûÃüÖÐÂÊΪ50%£¬¼ÆËã³ö¶ÁÈ¡Êý¾ÝµÄƽ¾ùʱ¼ä¡£ ´ð£º20.5ms

9.13 Ò»¸öÇëÇó´ÅÅÌI/OµÄ´ÅÅ̶ÓÁУ¬·Ö±ðÔÚÏÂÁÐÖùÃæÉÏ×èÈû£º 40£¬90£¬170£¬38£¬110£¬20£¬144£¬48£¬59¡£

Çë·Ö±ð°´ÕÕFCFS¡¢SSTF¡¢SCAN¡¢CSCAN¡¢CLOOKµ÷¶ÈËã·¨¼ÆËãÆ½¾ùѰµÀ³¤¶È£¬²¢ËµÃ÷ÄÇÖÖµ÷¶ÈËã·¨×îÓÅ¡£

9.14 Èç¹û´ÅÅÌ×ܹ²°üÀ¨A¸ö¿é£¬ÆäÖÐF¸öÊÇ¿ÕÏеġ£Ò»¸ö´ÅÅ̵ØÖ·ÐèÒªdB¡£Î»Ê¾Í¼ÎªÃ¿¸ö¿éʹÓÃ1λ¡£¿ÕÏÐÁ´±íÖеÄÿ¸öÁ´Ö¸ÏòÒ»¸öµ¥¶ÀµÄ¿ÕÏп顣 £¨a£©¼ÙÉè¿ÕÏÐÁ´±í·½·¨µ¥¶ÀµØÁ´½ÓÁËËùÓеĿ飬¸ø³öÁ½ÖÖ·½·¨¿ªÏúÏàͬʱ±ØÐëÂú×ãÌõ¼þ£¨ÓÃA,F,d±íʾ£©¡£

£¨b£©¼ÙÉè¿ÕÏÐÁ´±í·½·¨Á´½ÓÁËÏàÁÚ¿é×飬¶ø²»Êǵ¥¶ÀµÄ¿é£¬Öظ´ÉÏÃæµÄÎÊÌ⡣ÿ¸öÁ´ÔªËØÖ¸ÏòÁË×éÖеĵÚÒ»¿é£¬²¢°üÀ¨ÁËÒ»¸ö˵Ã÷ÔÚ¸Ã×éÖÐÓжàÉÙ¸ö¿éµÄ2×Ö½ÚÊý¡£Ò»¸ö×éµÄƽ¾ù´óСÊÇ5¸ö´ÅÅ̿顣

´ð£ºÎ»Ê¾Í¼µÄ¿ªÏú£ºÎ»Ê¾Í¼µÄÁÐΪdByte£¬ÐÐΪ£¨A£©/d£¬¿ªÏúΪ£¨A£© ¿ÕÏÐÁ´±íÖÁÉÙ°üÀ¨¿ÕÏпéºÅ¡¢Ö¸Õ루A-F¸ö£©

9.15 ±È½ÏʹÓÃλʾͼºÍʹÓÿÕÏÐÁ´±í±íʾ´ÅÅÌ¿ÕÏпéµÄÇé¿ö¡£