ʵʱϵͳ²ÉÓõÄÊÇÇÀռʽ½ø³Ìµ÷¶È
27£®ÊÔÊö½ø³Ìµ÷¶ÈµÃÖ÷ÒªÈÎÎñ£¬ÎªÊ²Ã´ËµËü°Ñһ̨ÎïÀí»ú±ä³ÉÁ˶ą̀Âß¼ÉϵĴ¦Àí»ú ´ð£º´¦Àí»úµ÷¶ÈµÄÈÎÎñÊÇ¿ØÖÆÐµ÷½ø³Ì¶Ô CPU µÄ¾ºÕù¼´°´Ò»¶¨µÄµ÷¶ÈËã·¨´Ó¾ÍÐ÷¶ÓÁÐÖÐÑ¡ ÖÐÒ»¸ö½ø³Ì£¬°Ñ CPU µÄʹÓÃȨ½»¸ø±»Ñ¡ÖеĽø³Ì
¶à¸ö½ø³ÌËäÈ»ÔÚ΢¹ÛÉÏÈÔÈ»ÊÇ˳ÐòÖ´ÐУ¬µ«ÊÇÔÚºê¹ÛÉÏ£¬·Â·ðÊDz¢·¢Ö´ÐÐ 28.ÔÚ CPU °´ÓÅÏȼ¶µ÷¶ÈµÄϵͳÖÐ 1£©£¬Ã»ÓÐÔËÐеĽø³ÌÊÇ·ñÒ»¶¨Ã»ÓоÍÐ÷½ø³Ì
2£©Ã»ÓÐÔËÐнø³Ì£¬Ã»ÓоÍÐ÷½ø³Ì»òÁ½Õß¶¼Ã»ÓÐÊÇ·ñ¿ÉÄÜ£¿¸÷ÊÇʲôÇé¿ö£¿ 3£©ÔËÐнø³ÌÊÇ·ñÒ»¶¨ÊÇ×ÔÓɽø³ÌÖÐÓÅÏÈÊý×î¸ßµÄ£¿ ´ð£º1)Ò»¶¨Ã»ÓÐ
2) ûÓÐÔËÐнø³Ì£¬Ò»¶¨Ã»ÓоÍÐ÷½ø³Ì;ûÓоÍÐ÷½ø³Ì¿ÉÄÜÓеȴý½ø³Ì£¬Ò²¿ÉÄÜÓÐÔËÐÐ ½ø³Ì£»Á½Õß¶¼Ã»ÓУ¬¿ÉÄÜÓеȴý½ø³Ì
3)²»Ò»¶¨£¬¿ÉÄܳöÏֵȴý½ø³ÌÖÐÓÅÏȼ¶¸ü¸ß
29.¶Ôijϵͳ½øÐмà²âºó±íÃ÷ƽ¾ùÿ¸ö½ø³ÌÔÚ I/O ×èÈû֮ǰµÄÔËÐÐʱ¼äΪ T£¬Ò»´Î½ø³ÌÇл» µÄÐèÒªµÄʱ¼äÊÇ S,ʵ¼ÊÉϾÍÊÇ¿ªÏú£¬¶ÔÓÚ²ÉÓõÄʱ¼äƬ³¤¶ÈΪ Q µÄʱ¼äƬÂÖת·¨£¬Çë¸ø³ö 1£©Q=ÎÞÇ2)Q>T , 3)S 2)µ± Q>T ʱ, CPU µÄÀûÓÃÂÊ=T/(T+S)*100%(µ±½ø³ÌÔËÐÐÍêºó£¬¾ÍÇл»£¬Ò²¾ÍÏ൱ÓÚʱ¼ä Ƭ=T ) 3)µ± S 5)µ± Q Ç÷ÓÚ 0,CPU µÄÀûÓÃÂÊ=T/T+nS=0 £¨n Ç÷ÓÚÎÞÇ 30£¬´ó¶àÊýʱ¼äƬÂÖתµ÷¶È³ÌÐòʹÓÃÒ»¸ö¹Ì¶¨´óСµÄʱ¼äƬ£¬Çë¸ø³öÑ¡ÔñСʱ¼äƬµÄÀíÓÉ £¬È»ºóÔÙ¸ø³öÑ¡Ôñ´óʱ¼äƬµÄÀíÓÉ ´ð£ºÑ¡ÔñСʱ¼äƬ£ºI/O Ãܼ¯ÐÍ,¿ÉÒÔËõ¶ÌÏìӦʱ¼ä£¬Âú×ã¶ÌµÄ½»»¥ÐèÇó Ñ¡Ôñ´óʱ¼äƬ£ºCPU Ãܼ¯ÐÍ£¬¿ÉÒÔ·ÀÖ¹¹ý¶àµÄ½ø³ÌÇл»£¬Ìá¸ß CPU ЧÂÊ 31.ÓÐ 5 ¸öÅú´¦Àí×÷Òµ A µ½ E ¼¸ºõͬʱµ½´ïÒ»¼ÆËãÖÐÐÄ¡£ËûÃǹÀ¼ÆÔËÐÐʱ¼ä·Ö±ðΪ 10,6,2,4 ºÍ 8 ·ÖÖÓ£¬ÆäÓÅÏÈÊý(ÓÉÍⲿÉ趨)·Ö±ðΪ 3£¬5£¬2£¬1£¬4 ÆäÖÐ 5 ¼¶Îª×î¸ßÓÅÏȼ¶£¬¶ÔÓÚÏÂÁÐÿ ÖÖµ÷¶ÈËã·¨£¬¼ÆËãÆäƽ¾ùÖÜתʱ¼ä£¬¿ÉºöÂÔ½ø³ÌÇл»µÄ¿ªÏú¡£ 1£© ʱ¼äƬÂÖת·¨ 2£© ÓÅÏȼ¶µ÷¶È·¨ 3£© ÏÈÀ´ÏÈ·þÎñ·¨£¨°´ÕÕ´ÎÐò 10,6,2,4,8 ÔËÐУ© 4£© ×î¶Ì×÷ÒµÓÅÏÈ ¶Ô 1£©£¬¼ÙÉèϵͳ¾ßÓжàµÀ´¦ÀíÄÜÁ¦£¬Ã¿¸ö×÷Òµ¾ù»ñµÃ¹«Æ½µÄ CPU ʱ¼ä£¬¶Ô(2) ºÍ(4)¼ÙÉè ÈÎһʱ¿ÌÖ»ÓÐÒ»¸ö×÷ÒµÔËÐУ¬Ö±µ½½áÊø£¬ËùÓÐ×÷Òµ¶¼ÊÇ CPU Ãܼ¯ÐÍ×÷Òµ! ´ð£º1) ºÍʱ¼äƬµÄ³¤¶ÌÓйأ¬±È½Ï·±Ëö£¡ 2)ÔËÐÐ˳ÐòÊÇ(6,8,10,2,4) (6+14+24+26+30)/4=100/4=25 3)(10+16+18+22+30)/4=96/4=24 4) (2+(2+4)+(2+4+6)+(2+4+6+8)+( 2+4+6+8+10))/4=17.5 32£ºÓÐ 5 ¸ö´ýÔËÐеÄ×÷Òµ£¬ËûÃǵĹÀ¼ÆÔËÐÐʱ¼ä·Ö±ðÊÇ 9,6,3,5£¬²ÉÓÃÄÄÖдÎÐòÔËÐи÷¸ö ×÷Òµ½«µÃµ½×î¶ÌµÄƽ¾ùÏìӦʱ¼ä£¿´ð°¸ÒÀÀµÓÚ X ´ð£ºÓÉÓÚ 5 ¸ö×÷ҵͬʱµ½´ï£¬ËùÒÔ°´×î¶Ì×÷ÒµÓÅÏȵ÷¶È»áµÃµ½×î¶ÌµÄÏìӦʱ¼ä£º 9¡Üx 3 5 6 9 x 6¡Üx¡Ü9 3 5 6 x 9 5¡Üx¡Ü6 3 5 x 8 9 3¡Üx¡Ü5 3 x 5 8 9 x¡Ü3 x 3 5 8 9 33,ÔÚÒ»¼ä¾Æ°ÉÀïÓÐÈý¸öÒôÀÖ°®ºÃÕß¶ÓÁУ¬µÚÒ»ÁÐÒôÀÖ°®ºÃÕßÖ»ÓÐËæÉíÌý£¬µÚ¶þÁÐÖ» ÓÐÒôÀÖ ´Å´ø£¬µÚÈýÁÐÖ»ÓÐµç³Ø£¬¶øÒªÌýÒôÀ־ͱØÐëÓÐËæÉíÌý£¬ÒôÀÖ´Å´øºÍµç³ØÕâÈýÖÐÎïÆ· ¡£¾Æ°ÉÀϰåÒ»´Î³öÊÛÕâÈýÖÖÎïÆ·ÖеÄÈÎÒâÁ½ÖÖ£¬µ±Ò»ÃûÒôÀÖ°®ºÃÕߵõ½ÕâÈýÖÖÎïÆ· ²¢ÌýÍêÀÖÇúºó£¬¾Æ°ÉÀϰå²ÅÄÜÔÙÒ»´Î³öÊÛÕâÈýÖÖÎïÆ·ÖÐÈÎÒâÁ½ÖÖ£¬ÓÚÊǵڶþÃûÒôÀÖ °®ºÃÕߵõ½ÕâÈýÖÖÎïÆ·¡£²¢¿ªÊ¼ÌýÀÖÇú£¬È«²¿ÂòÂô¾ÅÕâÑù½øÐÐÏÂÈ¥¡£ ʹÓà P,V ²Ù×÷ÕýÈ·½â¾öÕâÒ»ÂòÂô¡£ ½â£ºÂò·½ÓÐÈý¸ö½ø³Ì£¬Âô·½ÓÐ 1 ¸ö½ø³Ì Âô·½£¬ºÍÂò·½µÄͬ²½ÐźÅÁ¿ S1,S2 ,³õֵΪ 0,1. ÌýÒôÀÖʱµÄ»¥³âÐźÅÁ¿;mutex Âô·½½ø³Ì P(S1) (ûÓÐÒôÀÖ°®ºÃÕߣ¬µÈ´ý) ÂôÎïÆ· P(mutex) ·ÅÒôÀÖ V(mutex) V(S2) Âò·½½ø³Ì P(S2) ÂòÎïÆ· V(S1) {Àϰå¿ÉÒÔÂô¶«Î÷} 34.°ÍÄÃÂíÔ˺ӽ¨ÔÚ̫ƽÑóºÍ´óÎ÷ÑóÖ®¼ä£¬ÓÉÓÚ̫ƽÑóºÍ´óÎ÷ÑóË®Ãæ¸ß¶È²»Í¬£¬Óо޴óÂä ²î£¬ËùÒÔÔ˺ÓÖн¨ÓÐ T(T¡Ý2)¼¶´¬Õ¢£¬²¢ÇÒÖ»ÄÜÔÊÐíµ¥ÏòͨÐУ¬´¬Õ¢ÒÀ´Î±àºÅΪ 1,2,?,T £¬ÓÉ´óÎ÷ÑóÀ´µÄ´¬ÐèÒª¾¹ý´¬Õ¢ T,T-1.,,,2,1 ͨ¹ýÔ˺ӵ½´ï̫ƽÑó£¬ÓÉ̫ƽÑóÀ´µÄ´¬ÐèÒª ¾ÓÉ´¬Õ¢ 1,2,?,T-1,T ͨ¹ýÔ˺ӵ½´ï´óÎ÷Ñó¡£ Ê¹Óà P,V ²Ù×÷ÕýÈ·½â¾ö´óÎ÷ÑóºÍ̫ƽÑóµÄ´¬Ö»Í¨º½ÎÊÌâ¡£ ´ð£º´ð£ºArray: S1[T] of Semaphore {Ϊÿ¸ö´¬Õ¢ÉèÖõÄÐźÅÁ¿³õÖµ¶¼Îª 1} Array: count1[T] of INTEGER {Ϊÿ¸ö´¬Õ¢ÉèÖÃͨÍù´óÎ÷ÑóµÄ´¬µÄ¼ÆÊýÖµ,³õÖµ¶¼Îª 0} Array: count2[T] of INTEGER {Ϊÿ¸ö´¬Õ¢ÉèÖÃͨÍù̫ƽÑóµÄ´¬µÄ¼ÆÊýÖµ,³õÖµ¶¼Îª 0} ¶Ô count ÉèÖû¥³âÐźÅÁ¿ mutex È¥´óÎ÷ÑóµÄ½ø³Ì: int j for(j=0;j if(count1[j]==0) P(S[j]) count[j]++ ¹ýµÚ j+1 ¸ö´¬Õ¢ P(mutex) count[j]-- if(count[j]==0) V(S[j]) V(mutex) } ȥ̫ƽÑóµÄ½ø³Ì£º int k for(k=T-1;k¡ÝT,k++){ P(mutex) if(count2[k]==0) P(S[k]) count[k]++ ¹ýµÚ k+1 ¸ö´¬Õ¢ P(mutex) count[k]-- if(count[k]==0) V(S[k]) V(mutex) } 35.Ä³ÒøÐÐÓÐÈËÃñ±Ò´¢ÐîÒµÎñ£¬ÓÉ n ¸ö¹ñÔ±¸ºÔð£¬Ã¿¸ö¹Ë¿Í½øÈëÒøÐкó£¬ÏÈȡһ¸öºÅ£¬²¢ÇÒ µÈ׎кţ¬µ±Ò»¸ö¹ñÔ±ÈËÔ±¿ÕÏÐÏÂÀ´£¬¾Í½ÐÉÏÒ»¸öºÅ£¬Ê¹Óà P,V ²Ù×÷ÕýÈ·±àд¹ñ̨ÈËÔ±ºÍ ¹Ë¿Í½ø³ÌµÄ³ÌÐò£¡ ½â; È¡ºÅµÄ»¥³âÐźÅÁ¿ mutex,½ÐºÅµÄ»¥³âÐźÅÁ¿ mutex1 ¹ñ̨ÈËÔ±ºÍ¹Ë¿Í½ø³ÌµÄͬ²½ÐźÅÁ¿Îª S1,S2, ³õÖµ·Ö±ðΪ n,0 ¹ñ̨ÈËÔ±½ø³Ì£º P(S2) (Î޹˿ÍÔòµÈ´ý) P(mutex1) ½ÐºÅ V(mutex1) ·þÎñ V(S1) ¹Ë¿Í½ø³Ì P(mutex) È¡ºÅ V(mutex) P(S1) ÏíÊÜ·þÎñ V(S2) 36,Éè A,B,C Èý¸ö½ø³Ì¹²ÏíÒ»¸ö´æ´¢×ÊÔ´ F,A ¶Ô F Ö»¶Á²»Ð´£¬B ¶Ô F ֻд²»¶Á£¬C ¶Ô F ÏȶÁºóд¡£ £¨µ±Ò»¸ö½ø³Ìд F ʱ£¬ÆäËû½ø³Ì¼È²»ÄܶÁ F£¬Ò²²»ÄÜд F,µ«¶à¸ö½ø³Ìͬʱ¶Á F ÊÇÔÊÐíµÄ£©ÊÔ ÀûÓù̵ܳķ½·¨»òÕß P,V ²Ù×÷£¬Ð´³ö A,B,C Èý¸ö½ø³ÌµÄ¿ò¼Ü£¬ÒªÇ󣺣¨1£©Ö´ÐÐÕýÈ· £¨2£©Õý³£ÔËÐÐʱ²»²úÉúËÀËø£»(3)ʹÓà F µÄ²¢·¢¶È¸ß 37,ijϵͳÈç´Ë¶¨Òå P,V ²Ù×÷ P(S) S=S-1 Èô S<1 ±¾½ø³Ì½øÈëµÈ´ý¶ÓÁÐĩ⣬·ñÔò¼ÌÐø½øÐÐ V(S) S=S+1 Èô S¡Ü0,Êͷŵȴý¶ÓÁÐÖÐĩβµÄ½ø³Ì£¬·ñÔò¼ÌÐøÔËÐС£ ÏÖÓÐËĸö½ø³Ì P1,P2,P3,P4 ¾ºÕùʹÓÃijһÐèÒª»¥³âʹÓõÄ×ÊÔ´£¨Ã¿¸ö½ø³Ì¿ÉÄÜ·´¸´Ê¹ÓÃ¶à ´Î£©£¬Ê¹ÓÃÕâÑùµÄ P,V ²Ù×÷À´ÕýÈ·µÄʵÏÖ»¥³â¡£ ½â: S:ARRAY[0,,,3] OF Semaphore{³õֵΪ s[i]=i,i=0,1,2,3 } ·ÃÎʽø³Ì for i:=3 downto 1 do P(s[i]) ÁÙ½çÇø²Ù×÷ for i:=1 To N-1 Do V(S[i]) 38,ÇëÓýø³ÌͨÐŵİ취½â¾öÉú²úÕߣ¬Ïû·ÑÕßÎÊÌâ 39,ÇëÓùܳÌʵÏÖÕÜѧ¼Ò¾Í²ÍÎÊÌâ µÚÎåÕ ´æ´¢¹ÜÀí 1£®²úÉú´æ´¢·ÖÅäÎÊÌâµÄ±³¾°ÊÇʲô£¿ºÎν¾²Ì¬·ÖÅ䣿ºÎν¶¯Ì¬·ÖÅ䣿¶¯Ì¬·ÖÅäµÄÔÒòÊÇ Ê²Ã´£¿ ´ð£ºÒ»¸öÓÐЧµÄ´æ´¢·ÖÅä»úÖÆ£¬Ó¦¶ÔÓû§Ìá³öµÄÐèÇó×ö³ö¿ìËÙÏìÓ¦£¬ÎªÖ®·ÖÅäÏàÓ¦µÄ´æ´¢ ¿Õ¼ä£¬ÔÚÓû§×÷Òµ²»ÐèÒªËüʱ£¬¼°Ê±Êջأ¬¹©ÆäËûÓû§Ê¹ÓᣠÄÚ´æ·ÖÅäÓÐÁ½ÖÖ·½Ê½ 1£©¾²Ì¬·ÖÅ䣺³ÌÐòÒªÇóµÄÄÚ´æ¿Õ¼äÊÇÔÚÄ¿±êÄ£¿éÁ¬½Ó×°ÈëÄÚ´æÊ±È·¶¨²¢·ÖÅäµÄ£¬²¢ÇÒÔÚ ³ÌÐòÔËÐйý³ÌÖв»ÔÊÐíÔÙÉêÇë»òÔÚÄÚ´æÖС°°á¼Ò¡±£¬Ò²¾ÍÊÇ·ÖÅ乤×÷ÊÇÔÚ³ÌÐòÔËÐÐǰһ´Î ÐÔÍê³É 2£©¶¯Ì¬·ÖÅ䣺³ÌÐòÒªÇóµÄ»ù±¾ÄÚ´æ¿Õ¼äÊÇÔÚÄ¿±êÄ£¿éÁ¬½Ó×°ÈëÄÚ´æÊ±È·¶¨²¢ÇÒ·ÖÅäµÄ£¬ µ«ÊÇÔÚÔËÐйý³ÌÖУ¬ÔÊÐíÉêÇ븽¼ÓµÄÄÚ´æ¿Õ¼ä»òÔÚÄÚ´æÖС°°á¼Ò¡±£¬Ò²¾ÍÊÇ·ÖÅ乤×÷¿ÉÒÔ ÔÚ³ÌÐòÔËÐÐǰ¼°ÔËÐйý³ÌÖÐÖð²½Íê³É ¶¯Ì¬·ÖÅäµÄÔÒò£º¶¯Ì¬·ÖÅä¾ßÓнϴóµÄÁé»îÐÔ£¬¶ÔÌá¸ßÄÚ´æµÄÀûÓÃÂÊ£¬±È¾²Ì¬·ÖÅä¸üºÏÀí Щ¡£ 2.²ûÊö²Ù×÷ϵͳÖÐÑ¡Ôñ´æ´¢¹ÜÀí·½°¸µÄÔÔò¡£ ´ð£º ÔÔò£º 1. ´æ´¢¹ÜÀí±ØÐëºÏÀíµØ·ÖÅäÄÚ´æ¿Õ¼ä 2£®ÎªÁ˱ÜÃâÄÚ´æÖеĸ÷¸ö³ÌÐòÏ໥¸ÉÈÅ£¬»¹±ØÐëʵÏÖ´æ´¢±£»¤ 3£®ÓÐЧÀûÓÃÄÚ´æ¿Õ¼ä£¬ÔÊÐí¶à¸ö×÷Òµ¹²Ïí³ÌÐòºÍÊý¾Ý 4£®ÎªÁËÔÚÄÚ´æÖÐÔËÐ㤶ÈΪÈÎÒâ´óСµÄ³ÌÐò£¬±ØÐë²ÉÓÃÒ»¶¨µÄ·½·¨¡°À©³ä¡±ÄÚ´æ 3.¿É±ä·ÖÇø¹ÜÀí·½Ê½Ï£¬²ÉÓÃÒÆ¶¯¼¼ÊõÓÐʲôÓÅµã£¿ÒÆ¶¯Ò»µÀ×÷ҵʱ²Ù×÷ϵͳҪ×öÄÄЩ¹¤