6 16 28 ƽ¾ùÖÜתʱ¼ä£º£¨30+22+6+16+28£©/5 =20.4·ÖÖÓ
3. ijËÂÃí£¬ÓÐС£¬ÀϺÍÉÐÈô¸É£¬ÓÉСºÍÉÐÌáË®Èç¸×¹©ÀϺÍÉÐÒûÓá£Ë®¸×¿ÉÈÝ10Ͱˮ£¬Ë®È¡×Ôͬһ¾®ÖС£Ë®¾®Õ£¬Ã¿´ÎÖ»ÄÜÈÝÒ»¸öͰȡˮ¡£Ë®Í°×ÜÊýΪ3¸ö¡£Ã¿´ÎÈ룬ȡ¸×Ë®½öΪ1Ͱ£¬ÇÒ²»¿Éͬʱ½øÐС£ÊÔ¸ø³öÓйØÈ¡Ë®£¬ÈëË®µÄËã·¨¡£
Mutex1 = 1,mutex2 = 1,empty = 10,full = 0, count =3 Repeat Begin :
L1: P(empty); P(count); P(mutex1);
FETCH from jing; V(mutex1); P(mutex2); POUR;
V(mutex2); V(count); V(full); Until false;
Repeat P(full); P(count); P(mutex2);
Fetch from gang ; V(mutex2); V(empty); V(count); Until false
4. ijÊý¾Ý¿âÓÐÒ»¸öд½ø³Ì£¬N¸ö¶Á½ø³Ì£¬ËûÃÇÖ®¼ä¶Áд²Ù×÷µÄ»¥³âÒªÇóÊÇ£º д½ø³ÌÕýÔÚд¸ÃÊý¾Ý¿âʱ£¬²»ÄÜÓÐÆäËû½ø³Ì¶Á¸ÃÊý¾Ý¿â¡£ д½ø³ÌÖ®¼ä²»»¥³â£¬¿ÉÒÔͬʱ¶Á¸ÃÊý¾Ý¿â¡£
Èç¹ûÓÐÈô¸É½ø³ÌÕýÔÚ¶Á¸ÃÊý¾Ý¿â£¬Ò»¸öд½ø³ÌÕýÔڵȴýд£¬ÔòËæºóÓû¶ÁµÄ½ø³ÌÒ²²»ÄܶÁ¸ÃÊý¾Ý¿â£¬ÐèµÈ´ýд½ø³ÌÏÈд¡£ дPV READ £º
While wc = 1 do skip; ------ÈôÓÐд½ø³ÌÇëÇó£¬ÔòºóÐø¶Á²»ÏìÓ¦
P(mutex);
Rc:=rc + 1;
If rc = 1 then P(wr); -----ÈôÊǵÚÒ»¸ö¶Á½ø³Ì£¬ÔòÒª¿´ÓÐÎÞд½ø³Ì
V(mutex); READING P(mutex); Rc := rc -1;
If rc = 0 then V(wr); -------ÈôËùÓжÁ½ø³Ì¶¼Ö´ÐÐÍ꣬¿ÉÒÔÈÃÆäËü½ø³Ì¶Áд
V(mutex);
WRITE
Wc := 1; -------µ±ÓÐд½ø³ÌÇëÇóʱ£¬½ûÖ¹ÆäËæºóµÄ¶Á½ø³Ì P(wr); WRITING; Wc := 0; V(wr);
5. ¼Ù¶¨Ò»¸ö²Ù×÷ϵͳµÄ½ø³Ìµ÷¶È²ÉÓðþ¶áʽ¶Ì½ø³ÌÓÅÏȵ÷¶ÈËã·¨£¨µ¥´¦Àí»úϵͳ£©£¬ÏµÍ³Öи÷½ø³Ìµ½´ï¾ÍÐ÷¶ÓÁеÄʱ¿ÌÒÔ¼°Ö´ÐÐʱ¼äÈçϱíËùʾ£º
½ø³Ì µ½´ï¾ÍÐ÷¶ÓÁÐʱ¿Ì Ö´ÐÐʱ¼ä 1 0 8 2 1 4 3 2 9 4 3 5
Çë¸ø³ö¸÷½ø³ÌµÄµ÷¶È´ÎÐò£¬²¢¼ÆËãÆ½¾ùµÈ´ýʱ¼äºÍƽ¾ùÖÜתʱ¼ä¡£
6. ¼Ù¶¨¾ßÓÐ5¸ö½ø³ÌµÄ½ø³Ì¼¯ºÏ ={P 0£¬P1£¬P2£¬P3£¬P4} ϵͳÖÐÓÐÈýÀà×ÊÔ´£¬ÆäÖÐA Àà×ÊÔ´ÓÐ10¸ö£¬ BÀà×ÊÔ´ÓÐ5¸ö£¬CÀà×ÊÔ´ÓÐ7¸ö£¬¼Ù¶¨ÔÚijʱ¿ÌÓÐÈçÏÂ״̬£º
Allocation max available A B C A B C A B C P0 0 1 0 7 5 3 3 3 2 P1 2 0 0 3 2 2 P2 3 0 2 9 0 2 P3 2 1 1 2 2 2 P4 0 0 2 4 3 3
Çó³öNeed£¬²¢ËµÃ÷µ±Ç°ÏµÍ³ÊÇ·ñ´¦ÓÚ°²È«×´Ì¬£¬Èç¹ûÊÇ£¬¸ø³öÐòÁУ¬Èç¹û²»ÊÇ£¬ËµÃ÷ÀíÓÉ¡£
7. ¼Ù¶¨Ä³²Ù×÷ϵͳ´æ´¢Æ÷²ÉÓÃҳʽ´æ´¢¹ÜÀí£¬Ò»½ø³ÌÔÚÁªÏë´æ´¢Æ÷ÖеÄÒ³±íÏÖΪ£º
Ò³ºÅ ¿éºÅ 0 f1 1 f2 2 f3 3 f4 ²»ÔÚÁªÏë´æ´¢Æ÷ÖеÄÒ³±íÏîΪ£º 4 f5 5 f6 6 f7 7 f8 8 f9 9 f10
ÓÖ¼Ù¶¨¸Ã½ø³ÌÌ壨³ÌÐòÓëÊý¾Ý£©´úÂ볤¶ÈΪ320×Ö£¬Ã¿Ò³32×Ö¡£ÏÖÓÐÂß¼µØÖ·£¨°Ë½øÖÆ£©Îª£º101£¬204£¬576£¬Èç¹ûÉÏÊöÂß¼µØÖ·ÄÜ·Òë³ÉÎïÀíµØÖ·£¬Ôò˵Ã÷·ÒëµÄ¹ý³Ì£¬²¢Ö¸³ö¾ßÌåµÄÎïÀíµØÖ·£¬Èç¹ûÉÏÊöÂß¼µØÖ·²»ÄÜ·Òë³ÉÎïÀíµØÖ·£¬ËµÃ÷Ϊʲô£¿
8. ÔÚ²ÉÓÃҳʽ´æ´¢¹ÜÀíµÄϵͳÖУ¬Ä³×÷ÒµµÄÂß¼µØÖ·¿Õ¼äΪ4Ò³£¨Ã¿Ò³2048×Ö½Ú£©£¬ÇÒÒÑÖª¸Ã×÷ÒµµÄÒ³ÃæÓ³Ïñ£¨¼´Ò³±í£©¼ûÏÂ±í¡£
0 2 1 4 2 6 3 8
ÊÔ½èÖúµØÖ·±ä»»Í¼£¬ÇóÏÖÓÐЧÂß¼µØÖ·4865Ëù¶ÔÓ¦µÄÎïÀíµØÖ·¡£
9. ´¿·ÖҳϵͳºÍÇëÇóʽ·ÖҳϵͳµÄÖ÷Òª²î±ðÊÇʲô£¿¼Ù¶¨ÔÚÒ»¸öÇëÇóʽ´æ´¢¹ÜÀíϵͳÖУ¬Ä³×÷ÒµËùÉæ¼°µÄÒ³ÃæÒÀ´ÎÊÇ£º3£¬2£¬1£¬4£¬5£¬3£¬2£¬1£¬5 ²¢ÒÑÖªÖ÷´æÖÐÓÐ3¸ö¿É¹©×÷ҵʹÓõĿհ״洢¿é£¨¿éµÄ´óСÓëÒ³Ãæ´óСÏàͬ£©£¬ÊÔ˵Ã÷²ÉÓÃFIFOºÍLRUÁ½ÖÖËã·¨½øÐÐÒ³ÃæÖû»Ê±£¬È±Ò³ÖжϵĴÎÊý¸÷ÊǶàÉÙ£¿
10. ij¸ßУ¼ÆËã»úϵ¿ªÉèÍøÂç¿Î²¢°²ÅÅÉÏ»úʵϰ£¬¼ÙÉè»ú·¿¹²ÓÐ2m̨»úÆ÷£¬ÓÐ2nÃûѧÉú£¬¹æ¶¨£º
a) ÿÁ½¸öѧÉú×é³ÉÒ»×飬¸÷ռһ̨»úÆ÷£¬ÐͬÍê³ÉÉÏ»úʵϰ£» b) Ö»ÓÐÒ»×éÁ½¸öѧÉúµ½Æë£¬²¢ÇÒ´Ëʱ»ú·¿ÓпÕÏлúÆ÷ʱ£¬¸Ã×é
ѧÉú²ÅÄܽøÈë»ú·¿£»
c) ÉÏ»úʵϰÓÉÒ»Ãû½Ìʦ¼ì²é£¬µ±Ñ§ÉúÉÏÍê»úºó£¬½Ìʦ¼ì²éÍêÒ»
×éѧÉúµÄʵϰºó£¬Õâ×éѧÉú²ÅÄÜͬʱÀ뿪¡£
ÊÔÓÃP,V²Ù×÷Ä£ÄâÉÏ»úʵϰµÄ¹ý³Ì¡££¨Ìáʾ£º³ýÁËÓÐѧÉúºÍ½Ìʦ½ø³ÌÍ⣬»¹Ó¦¸ÃÓÐÃÅÎÀ½ø³Ì£© student:=0;
computer:=2m enter:=0 finish:=0 test:=0; student: begin
P(computer) ----- µÃµ½Ò»Ì¨¼ÆËã»ú
V(student) ----- ÓÐѧÉúµ½´ï£¬Í¨ÖªÃÅÎÀ P(enter) ----- µÈ´ý½øÈë Practice;
V(finish); ----- ʵϰ½áÊø£¬Í¨Öª½Ìʦ P(test); ----- µÈ´ý½Ìʦ¼ì²é V(computer); ----- ÊͷżÆËã»ú×ÊÔ´
End;
Teacher: begin
P(finish); -----µÈ´ýѧÉúʵϰ½áÊø P(finish); -----µÈ´ýÁíһѧÉúʵϰ½áÊø Check;
V(test); -----¼ì²éÍê³É V(test); ----¼ì²éÍê³É End; Guard: begin
P(student); -----µÈ´ýѧÉúµ½´ï P(student); -----µÈ´ýÁíһѧÉúµ½´ï V(enter); ---- ÔÊÐíѧÉú½øÈë V(enter); ----ÔÊÐíÁíһѧÉú½øÈë End;
11. ÓÐÒ»²Ù×÷ϵͳ²ÉÓöÎʽ¹ÜÀí£¬Óû§ÇøÖ÷´æÎª512KB£¬¿ÕÏÐÁ´½ÓÈë¿ÕÏÐÁ´±í£¬·ÖÅäʱ½ØÈ¡¿Õ¿éµÄǰ°ë²¿·Ö£¨Ð¡µØÖ·²¿·Ö£©¡£³õʼʱȫ²¿¿ÕÏС£ÔÚÖ´ÐÐÁËÈçÏÂÉêÇ룬ÊͷŲÙ×÷ÐòÁкó£º(1) reg (300kb), (2) reg (100kb), release (300kb), (3) reg(150kb), (4) reg(50kb), (5) reg ( 90kb)
²ÉÓÃ×îÏÈÊÊÅ䣬¿ÕÏбíÖÐÓÐÄÄЩ¿Õ¿é£¬ÓÃͼʾµÄ·½Ê½±íʾ¡££¨Ö¸³ö´óС¼°Ê¼Ö·£©
²ÉÓÃ×î¼ÑÊÊÅ䣬¿ÕÏбíÖÐÓÐÄÄЩ¿Õ¿é¡£ÓÃͼʾµÄ·½Ê½±íʾ¡££¨Ö¸³ö´óС¼°Ê¼Ö·£©
ÈôËæºóÓÖÒªÉêÇë80KB£¬Õë¶ÔÉÏÊöÁ½ÖÖÇé¿ö»á²úÉúʲôºó¹û£¿Õâ˵Ã÷ÁËʲôÎÊÌ⣿
×îÏÈÊÊÅä:
Ïà¹ØÍÆ¼ö£º