Ò»¡¢µ¥ÏîÑ¡ÔñÌ⣺
1.ÔÚ½ø³Ì¹ÜÀíÖУ¬µ±£ßC£ßʱ£¬½ø³Ì´Ó×èÈû״̬±äΪ¾ÍÐ÷״̬¡£ A.½ø³Ì±»½ø³Ìµ÷¶È³ÌÐòÑ¡ÖÐ B.µÈ´ýijһʼþ C.µÈ´ýµÄʼþ·¢Éú D.ʱ¼äƬÓÃÍê 2.·ÖÅäµ½±ØÒªµÄ×ÊÔ´²¢»ñµÃ´¦Àí»úʱµÄ½ø³Ì״̬ÊÇ£ßB£ß¡£ A.¾ÍÐ÷״̬ B.Ö´ÐÐ״̬ C.×èÈû״̬ D.³·Ïû״̬ 3.P¡¢V²Ù×÷ÊÇ£ßA£ß¡£
A.Á½ÌõµÍ¼¶½ø³ÌͨÐÅÔÓï B.Á½×鲻ͬµÄ»úÆ÷Ö¸Áî C.Á½Ìõϵͳµ÷ÓÃÃüÁî D.Á½Ìõ¸ß¼¶½ø³ÌͨÐÅÔÓï
4.¶Ô½ø³ÌµÄ¹ÜÀíºÍ¿ØÖÆÊ¹ÓãßB£ß¡£
A.Ö¸Áî B.ÔÓï C.ÐźÅÁ¿ D.ÐÅÏäͨÐÅ 5.½ø³ÌµÄ²¢·¢Ö´ÐÐÊÇÖ¸Èô¸É¸ö½ø³Ì£ßB£ß¡£
A.ͬʱִÐÐ B.ÔÚÖ´ÐеÄʱ¼äÉÏÊÇÖØµþµÄ
C.ÔÚÖ´ÐеÄʱ¼äÉÏÊDz»¿ÉÖØµþµÄ D.¹²Ïíϵͳ×ÊÔ´
6.ÈôP¡¢V²Ù×÷µÄÐźÅÁ¿S³õֵΪ2£¬µ±Ç°ÖµÎª ¨C1£¬Ôò±êÖ¾ÓУßB£ßµÈ´ý½ø³Ì¡£
A.0¸ö B.1¸ö C.2¸ö D.3¸ö
7.³ÌÐòµÄ˳ÐòÖ´ÐÐͨ³£ÔڣߢÙA£ßµÄ¹¤×÷»·¾³ÖУ¬¾ßÓУߢÚC£ßÌØÕ÷£»³ÌÐòµÄ²¢·¢Ö´ÐÐÔڣߢÛB£ßµÄ¹¤×÷»·¾³ÖУ¬¾ßÓУߢÜD£ßÌØÕ÷¡£ A.µ¥µÀ³ÌÐò B.¶àµÀ³ÌÐò C.³ÌÐòµÄ¿ÉÔÙÏÖÐÔ D.×ÊÔ´¹²Ïí 8.½ø³ÌµÄÈý¸ö»ù±¾×´Ì¬ÔÚÒ»¶¨Ìõ¼þÏ¿ÉÒÔÏ໥ת»¯£¬½ø³ÌÓɾÍÐ÷״̬±äΪÔËÐÐ״̬µÄÌõ¼þÊǣߢÙD£ß£¬ÓÉÔËÐÐ״̬±äΪ×èÈû״̬µÄÌõ¼þÊǣߢÚB£ß¡£
A.ʱ¼äƬÓÃÍê B.µÈ´ýijʼþ·¢Éú
C.µÈ´ýµÄijʼþÒÑ·¢Éú D.±»½ø³Ìµ÷¶ÈµÄ³ÌÐòÑ¡ÖÐ 9.ÏÂÁеĽø³Ì״̬±ä»¯ÖУ¬£ßC£ß±ä»¯ÊDz»¿ÉÄÜ·¢ÉúµÄ¡£ A.ÔËÐСú¾ÍÐ÷ B.ÔËÐСúµÈ´ý C.µÈ´ý¡úÔËÐÐ D.µÈ´ý¡ú¾ÍÐ÷
10.Ò»¸öÔËÐеĽø³ÌÓÃÍêÁË·ÖÅ䏸ËüµÄʱ¼äƬºó£¬ËüµÄ״̬±äΪ£ßA£ß¡£
A.¾ÍÐ÷ B.µÈ´ý
C.ÔËÐÐ D.ÓÉÓû§×Ô¼ºÈ·¶¨ 11.ÓÃP¡¢V²Ù×÷¹ÜÀíÁÙ½çÇøÊ±£¬ÐźÅÁ¿µÄ³õÖµÓ¦¶¨Îª£ßC£ß¡£ A. ¨C1 B. 0
C. 1 D.ÈÎÒâÖµ
12.ÓÃV²Ù×÷»½ÐÑÒ»¸öµÈ´ý½ø³Ìʱ£¬±»»½Ðѽø³ÌµÄ״̬±äΪ£ßB£ß¡£ A.µÈ´ý B.¾ÍÐ÷ C.ÔËÐÐ D.Íê³É
13.½ø³Ì¼äµÄͬ²½ÊÇÖ¸½ø³Ì¼äÔÚÂß¼ÉϵÄÏ໥£ßB£ß¹ØÏµ¡£ A.Áª½Ó B.ÖÆÔ¼ C.¼ÌÐø D.µ÷ÓÃ
14. £ßD£ßÊÇÒ»ÖÖÖ»ÄܽøÐÐP²Ù×÷ºÍV²Ù×÷µÄÌØÊâ±äÁ¿¡£ A.µ÷¶È B.½ø³Ì C.ͬ²½ D.ÐźÅÁ¿
15. £ßB£ßÊǽâ¾ö½ø³Ì¼äͬ²½ºÍ»¥³âµÄÒ»¶ÔµÍ¼¶Í¨ÐÅÔÓï¡£ A.lockºÍunlock B.PºÍV
C.WºÍS D.SendºÍReceive 16.ÏÂÃæ¶Ô½ø³ÌµÄÃèÊöÖУ¬´íÎóµÄÊÇ£ßD£ß¡£
A.½ø³ÌÊǶ¯Ì¬µÄ¸ÅÄî B.½ø³ÌÖ´ÐÐÐèÒª´¦Àí»ú C.½ø³ÌÊÇÓÐÉúÃüÆÚµÄ D.½ø³ÌÊÇÖ¸ÁîµÄ¼¯ºÏ 17.ÏÂÃæµÄÐðÊöÖÐÕýÈ·µÄÊÇ£ßD£ß¡£
A.²Ù×÷ϵͳµÄÒ»¸öÖØÒª¸ÅÄîÊǽø³Ì£¬Òò´Ë²»Í¬½ø³ÌËùÖ´ÐеĴúÂëÓÐÒ»¶¨²»Í¬¡£
B.ΪÁ˱ÜÃâ·¢Éú½ø³ÌËÀËø£¬¸÷½ø³ÌÖ»ÄÜÖð¸öÉêÇë×ÊÔ´¡£ C.²Ù×÷ϵͳÓÃPCB¹ÜÀí½ø³Ì£¬Óû§½ø³Ì¿ÉÒÔ´ÓPCBÖжÁ³öÓë±¾ÉíÔËÐÐ×´¿öÓйصÄÐÅÏ¢¡£
D.½ø³Ìͬ²½ÊÇָijЩ½ø³ÌÖ®¼äÔÚÂß¼ÉϵÄÏà»¥ÖÆÔ¼¹ØÏµ¡£
18.½ø³Ì¿ØÖƾÍÊǶÔϵͳÖеĽø³ÌʵʩÓÐЧµÄ¹ÜÀí£¬Í¨¹ýʹÓãßC£ß¡¢½ø³Ì³·Ïû¡¢½ø³Ì×èÈû¡¢½ø³Ì»½ÐѵȽø³ÌÄØ¸Ð¿ØÖÆÔÓïʵÏÖ¡£ A.½ø³ÌÔËÐÐ B.½ø³Ì¹ÜÀí C.½ø³Ì´´½¨ D.½ø³Ìͬ²½ 19.ÐÅÏäͨÐÅÊÇÒ»ÖÖ£ßB£ßͨÐÅ·½Ê½¡£
A.Ö±½ÓͨÐÅ B.¼ä½ÓͨÐÅ C.µÍ¼¶Í¨ÐÅ D.ÐźÅÁ¿ 20.²Ù×÷ϵͳͨ¹ý£ßB£ß¶Ô½ø³Ì½øÐйÜÀí¡£
A.½ø³Ì B.½ø³Ì¿ØÖÆ¿é
C.½ø³ÌÆô¶¯³ÌÐò D.½ø³Ì¿ØÖÆÇø 21.²Ù×÷ϵͳͨ¹ý£ßB£ß¶Ô½ø³Ì½øÐйÜÀí¡£
A. JCB B. PCB C. DCT D. CHCT 22.ÔÚ²Ù×÷ϵͳÖУ¬½â¾ö½ø³Ì¼äµÄ£ß¢ÙD£ßºÍ£ß¢ÚB£ßÎÊÌâµÄÒ»ÖÖ·½·¨ÊÇʹÓãߢÛF£ß¡£
A.µ÷¶È B.»¥³â C.ͨѶ D.ͬ²½ E.·ÖÅÉ F.ÐźÅÁ¿ 23.Ä³ÐØµÄ½ø³Ì״̬Èçͼ2.5Ëùʾ£¬aÊǣߢÙB£ß״̬£¬bÊǣߢÚD£ß״̬£¬cÊǣߢÛC£ß״̬¡£1±íʾ£ß¢ÜB£ß£¬2±íʾ£ß¢ÝA£ß£¬3±íʾ·¢ÉúÁ˵ȴýʼþ£¬4±íʾµÈ´ýʼþ½áÊø¡£ÏÂÁÐÇé¿öÖУ¬µ±·¢ÉúǰÕßµÄ״̬ת»»Ê±£¬£ß¢ÞA£ß»áµ¼Ö·¢ÉúºóÕßµÄ״̬ת»»¡£ ¢Ù¢Ú¢Û£º A.¹ÒÆð B.ÔËÐÐ C.µÈ´ý D.¾ÍÐ÷ E.˯Ãß
¢Ü¢Ý£º A.ÂäÑ¡ B.Ñ¡ÖÐ C.µÈ´ý ¢Þ£º A.2¡ú1 B.4¡ú2
a 2 3
1 c b 4 ͼ2.5ijϵͳ½ø³Ì״̬ͼ
24.ÓÃP¡¢V²Ù×÷¿ÉÒÔ½â¾ö£ßA£ß»¥³âÎÊÌâ¡£
A.Ò»ÇÐ B.ijЩ C.ÕýÈ· D.´íÎó 25.ͨ³££¬Óû§½ø³Ì±»½¨Á¢ºó£¬£ßB£ß¡£
A.±ãÒ»Ö±´æÔÚÓÚϵͳÖУ¬Ö±µ½±»²Ù×÷ÈËÔ±³·Ïû¡£ B.Ëæ×Å×÷ÒµÔËÐÐÕý³£»ò²»Õý³£½áÊø¶ø³·Ïû¡£ C.Ëæ×Åʱ¼äƬÂÖת¶ø³·ÏûÓ뽨Á¢¡£
D.Ëæ×Žø³ÌµÄ×èÈû»ò»½ÐѶø³·ÏûÓ뽨Á¢¡£
26.ÔÚ²Ù×÷ϵͳÖУ¬½ø³ÌÊÇÒ»¸ö¾ßÓÐÒ»¶¨¶ÀÁ¢¹¦ÄܵijÌÐòÔÚij¸öÊý¾Ý¼¯ÉϵÄÒ»´Î£ßB£ß
A.µÈ´ý»î¶¯ B.ÔËÐл C.µ¥¶À²Ù×÷ D.¹ØÁª²Ù×÷
27.Ò»¸ö½ø³Ì±»»½ÐÑÒâζ×Å£ßD£ß¡£
A.¸Ã½ø³ÌÖØÐÂÕ¼ÓÐÁËCPU B.ËüµÄÓÅÏÈȨ±äΪ×î´ó C.ÆäPCBÒÆÖÁµÈ´ý¶ÓÁжÓÊ× D.½ø³Ì±äΪ¾ÍÐ÷̬ 28.ÏÂÃæËùÊö²½ÖèÖУ¬£ß A£ß²»ÊÇ´´½¨½ø³ÌËù±ØÐèµÄ¡£
A.Óɵ÷¶È³ÌÐòΪ½ø³Ì·ÖÅäCPU B.½¨Á¢Ò»¸ö½ø³Ì¿ØÖÆ¿é
C.Ϊ½ø³Ì·ÖÅäÄÚ´æ D.½«½ø³Ì¿ØÖÆ¿éÁ´Èë¾ÍÐ÷¶ÓÁÐ 29.¶àµÀ³ÌÐò»·¾³Ï£¬²Ù×÷ϵͳ·ÖÅä×ÊÔ´ÒÔ£ßC£ßΪ»ù±¾µ¥Î»¡£ A.³ÌÐò B.Ö¸Áî C.½ø³Ì D.×÷Òµ 30.¶ÔÓÚÁ½¸ö²¢·¢½ø³Ì£¬É軥³âÐźÅÁ¿Îªmutex£¬Èômutex=0£¬Ôò£ßB£ß¡£ A.±íʾûÓнø³Ì½øÈëÁÙ½çÇø B.±íʾÓÐÒ»¸ö½ø³Ì½øÈëÁÙ½çÇø
C.±íʾÓÐÒ»¸ö½ø³Ì½øÈëÁÙ½çÇø£¬ÁíÒ»¸ö½ø³ÌµÈ´ý½øÈë D.±íʾÓÐÁ½¸ö½ø³Ì½øÈëÁÙ½çÇø
31.Á½¸ö½ø³ÌºÏ×÷Íê³ÉÒ»¸öÈÎÎñ¡£ÔÚ²¢·¢Ö´ÐÐÖУ¬Ò»¸ö½ø³ÌÒªµÈ´ýÆäºÏ×÷»ï°é·¢À´ÏûÏ¢£¬»òÕß½¨Á¢Ä³¸öÌõ¼þºóÔÙÏòǰִÐУ¬ÕâÖÖÖÆÔ¼ÐÔºÏ×÷¹ØÏµ±»³ÆÎª½ø³ÌµÄ£ßA£ß¡£
A.ͬ²½ B.»¥³â C.µ÷¶È D.Ö´ÐÐ
32.ΪÁ˽øÐнø³Ìе÷£¬½ø³ÌÖ®¼äÓ¦µ±¾ßÓÐÒ»¶¨µÄÁªÏµ£¬ÕâÖÖÁªÏµÍ¨³£²ÉÓýø³Ì¼ä½»»»Êý¾ÝµÄ·½Ê½½øÐУ¬ÕâÖÖ·½Ê½³ÆÎª£ßD£ß¡£ A.½ø³Ì»¥³â B.½ø³Ìͬ²½ C.½ø³ÌÖÆÔ¼ D.¾©³ÇͨÐÅ
¶þ¡¢Ìî¿ÕÌ⣺
1.½ø³ÌµÄ»ù±¾ÌØÕ÷ÓУ߶¯Ì¬£ß¡¢£ß²¢·¢£ß¡¢¶ÀÁ¢¡¢Òì²½¼°½á¹¹ÌØÕ÷¡£ 2.ÐźÅÁ¿µÄÎïÀíÒâÒåÊǵ±ÐźÅÁ¿Öµ´óÓÚÁãʱ±íʾ£ß¿ÉÓÃ×ÊÔ´µÄÊ÷Ä¿£ß£»µ±ÐźÅÁ¿ÖµÐ¡ÓÚÁãʱ£¬Æä¾ø¶ÔֵΪ£ßÒòÇëÇó¸Ã×ÊÔ´¶ø±»×èÈûµÄ½ø³ÌÊýÄ¿£ß¡£
3.ÁÙ½ç×ÊÔ´µÄ¸ÅÄîÊÇ£ßÒ»´Î½öÔÊÐíÒ»¸ö½ø³Ì·ÃÎʵÄ×ÊÔ´£ß£¬¶øÁÙ½çÇøÊÇÖ¸£ß½ø³ÌÖзÃÎÊÁÙ½ç×ÊÔ´µÄÄǶγÌÐò´úÂë£ß¡£
4.½ø³ÌÔÚÔËÐйý³ÌÖÐÓÐÈýÖÖ»ù±¾×´Ì¬£¬ËüÃÇÊÇ£ßÔËÐУߡ¢£ß¾ÍÐ÷£ß¡¢£ßµÈ´ý£ß¡£
5.½ø³ÌÖ÷ÒªÓɣ߳ÌÐò¶Î£ß¡¢£ßÊý¾Ý¶Î£ß¡¢ PCB Èý²¿·ÖÄÚÈÝ×é³É£¬ÆäÖУßPCB£ßÊǽø³Ì´æÔÚµÄΩһ±êÖ¾¡£¶ø£ß³ÌÐò¶Î£ß²¿·ÖÒ²¿ÉÒÔΪÆäËû½ø³Ì¹²Ïí¡£
6.ϵͳÖи÷½ø³ÌÖ®¼äÂß¼ÉϵÄÏà»¥ÖÆÔ¼¹ØÏµ³ÆÎª£ß½ø³Ìͬ²½£ß¡£
7.ÈôÒ»¸ö½ø³ÌÒѽøÈëÁÙ½çÇø£¬ÆäËûÓû½øÈëÁÙ½çÇøµÄ½ø³Ì±ØÐë£ßµÈ´ý£ß¡£ 8.½«½ø³ÌµÄ£ßPCB£ßÁ´½ÓÔÚÒ»Æð¾ÍÐγÉÁ˽ø³Ì¶ÓÁС£
9. ÓÃP¡¢V²Ù×÷¹ÜÀíÁÙ½çÇøÊ±£¬ÈκÎÒ»¸ö½ø³ÌÔÚ½øÈëÁÙ½çÇøÖ®Ç°Ó¦µ÷ÓãßP£ß²Ù×÷£¬Í˳öÁÙ½çÇøÊ±Ó¦µ÷ÓãßV£ß²Ù×÷¡£
10.ÓÃÐÅÏäʵÏÖͨÐÅʱ£¬Ó¦£ß·¢Ëͣߺ߽ͣÓÊÕ£ßÁ½Ìõ»ù±¾ÔÓï¡£ 11.ÔÚ¶àµÀ³ÌÐòϵͳÖУ¬½ø³ÌÖ®¼ä´æÔÚ×Ų»Í¬ÖÆÔ¼¹ØÏµ¿ÉÒÔ»®·ÖΪÁ½Àࣺ£ßͬ²½£ßÓë£ß»¥³â£ß¡££ßͬ²½£ßÖ¸½ø³Ì¼ä¾ßÓеÄÒ»¶¨Âß¼¹ØÏµ£»£ß»¥³â£ßÊÇÖ¸½ø³Ì¼äÔÚʹÓù²Ïí×ÊÔ´·½ÃæµÄÔ¼Êø¹ØÏµ¡£
12.¶ÔÓÚÐźÅÁ¿¿ÉÒÔ×ö£ßP£ß²Ù×÷ºÍ£ßV£ß²Ù×÷£¬£ßP£ß²Ù×÷ÓÃÓÚ×èÈû½ø³Ì£¬£ßV£ß²Ù×÷ÓÃÓÚÊͷŽø³Ì¡£³ÌÐòÖеģßP£ßºÍ£ßV£ß²Ù×÷Ó¦½÷É÷ʹÓã¬ÒÔ±£Ö¤ÆäʹÓõÄÕýÈ·ÐÔ£¬·ñÔòÖ´ÐÐʱ¿ÉÄÜ·¢ÉúËÀËø¡£
13.³ÌÐò˳ÐòÖ´ÐÐʱÓÐ˳ÐòÐÔ¡¢£ß·â±ÕÐԣߺͿÉÔÙÏÖÐÔµÄÌØµã¡£
14.m¸ö½ø³Ì¹²ÏíͬһÁÙ½ç×ÊÔ´£¬ÈôʹÓÃÐźÅÁ¿»úÖÆÊµÏÖ¶ÔÁÙ½ç×ÊÔ´µÄ»¥³â·ÃÎÊ£¬ÔòÐźÅÁ¿ÖµµÄ±ä»¯·¶Î§ÊÇ£ß1ÖÁ£¨m-1£©£ß¡£
15.ÉèϵͳÖÐÓÐn£¨n©ƒ2£©¸ö½ø³Ì£¬ÇÒµ±Ç°²»ÔÚÖ´Ðнø³Ìµ÷¶È³ÌÐò£¬ÊÔ¿¼ÂÇÏÂÊöËÄÖÖÇé¿ö£º
¢ÙûÓÐÔËÐнø³Ì£¬ÓÐ2¸ö¾ÍÐ÷½ø³Ì£¬n¸ö½ø³Ì´¦Óڵȴý״̬¡£ ¢ÚÓÐ1¸öÔËÐнø³Ì£¬Ã»ÓоÍÐ÷½ø³Ì£¬n-1½ø³Ì´¦Óڵȴý״̬¡£ ¢ÛÓÐ1¸öÔËÐнø³Ì£¬ÓÐ1¸ö¾ÍÐ÷½ø³Ì£¬n-2½ø³Ì´¦Óڵȴý״̬¡£ ¢ÜÓÐ1¸öÔËÐнø³Ì£¬ÓÐn-1¸öÔËÐнø³Ì£¬Ã»Óнø³Ì´¦Óڵȴý״̬¡£ ÉÏÊöÇé¿öÖУ¬²»¿ÉÄÜ·¢ÉúµÄÇé¿öÊǣߢ٣ߡ£
16.½ø³ÌÊÇÒ»¸ö£ß¶¯£ß̬¸ÅÄ¶ø³ÌÐòÊÇÒ»¸ö£ß¾²£ß̬¸ÅÄî¡£
17.ÔÚÒ»¸öµ¥´¦Àí»úϵͳÖУ¬ÈôÓÐ5¸öÓû§½ø³Ì£¬ÇÒ¼ÙÉ赱ǰʱ¿ÌΪÓû§Ì¬£¬Ôò´¦ÓÚ¾ÍÐ÷״̬µÄÓû§½ø³Ì×î¶àÓУß4£ß¸ö£¬×îÉÙÓУß0£ß¸ö¡£ 18.²Ù×÷ϵͳÖУ¬¶ÔÐźÅÁ¿SµÄPÔÓï²Ù×÷¶¨ÒåÖУ¬Ê¹½ø³Ì½øÈëÏàÓ¦µÈ´ý¶ÓÁеȴýµÄÌõ¼þÊÇ£ßs<0£ß¡£
19.ÏÂÃæ¹ØÓÚ½ø³ÌµÄÐðÊö²»ÕýÈ·µÄÊǣߢۣߡ£
¢Ù½ø³ÌÉêÇëCPUµÃ²»µ½Âú×ãʱ£¬Æä״̬±äΪµÈ´ý״̬¡£ ¢ÚÔÚµ¥CPUϵͳÖУ¬ÈÎһʱ¿ÌÓÐÒ»¸ö½ø³Ì´¦ÓÚÔËÐÐ״̬¡£ ¢ÛÓÅÏȼ¶ÊǽøÐнø³Ìµ÷¶ÈµÄÖØÒªÒÀ¾Ý£¬Ò»µ©È·¶¨²»Äܸı䡣 ¢Ü½ø³Ì»ñµÃ´¦Àí»ú¶øÔËÐÐÊÇͨ¹ýµ÷¶È¶øÊµÏֵġ£
20.ÐÅÏäÂß¼ÉϷֳɣßÐÅÏäÍ·£ßºÍ£ßÐÅÏäÌå£ßÁ½²¿·Ö¡££ßÐÅÏäÍ·£ßÖдæ·ÅÓйØÐÅÏäµÄÃèÊö¡££ßÐÅÏäÌå£ßÓÉÈô¸É¸ñ×Ó×é³É£¬Ã¿¸ñ´æ·ÅÒ»Ðżþ£¬¸ñ×ÓµÄÊýÄ¿ºÍ´óСÔÚ´´½¨ÐÅÏäʱȷ¶¨¡£
½â Îö Ìâ
1.ÐðÊö½ø³ÌºÍ³ÌÐòµÄÖ÷񻂿±ð¡£
2.ÔÚ²âÁ¿¿ØÖÆÏµÍ³ÖУ¬Êý¾Ý²É¼¯ÈÎÎñ°ÑËù²É¼¯µÄÊý¾ÝËÍÈëÒ»µ¥»º³åÇø£»¼ÆËãÈÎÎñ´Ó¸Ãµ¥»º³åÇøÖÐÈ¥³öÊý¾Ý½øÐмÆËã¡£ÊÔд³öÀûÓÃÐźÅÁ¿»úÖÆÊµÏÖÁ½Õß¹²Ïíµ¥»º³åÇøµÄͬ²½Ëã·¨¡£ 3.ÒÑÖªÒ»¸öÇóÖµ¹«Ê½£¨A2+3B£©/£¨B+5A£©£¬ÈôA¡¢BÒѸ³Öµ£¬ÊÔ»³ö¸Ã¹«Ê½ÇóÖµ¹ý³ÌµÄǰÇýͼ¡£
4.ͼ2.7¸ø³öÁËËĸö½ø³ÌºÏ×÷Íê³ÉijһÈÎÎñµÄǰÇ÷ͼ£¬ÊÔ˵Ã÷ÕâËĸö½ø³Ì¼äµÄͬ²½¹ØÏµ£¬²¢ÓÃP¡¢V²Ù×÷ÃèÊöËü¡£
S1
S2 S3
S4
ͼ2.7 ËĸöºÏ×÷½ø³ÌµÄǰÇ÷ͼ
5.ijϵͳµÄ½ñÄê³É״̬ת»»Í¼Èçͼ2.8Ëùʾ£¬Çë˵Ã÷£º £¨1£©ÒýÆð¸÷ÖÖ״̬ת»»µÄµäÐÍʼþÓÐÄÄЩ£¿
£¨2£©µ±ÎÒÃǹ۲ìϵͳÖÐijЩ½ø³Ìʱ£¬Äܹ»¿´µ½Ä³Ò»½ø³Ì²úÉúµÄÒ»´Î״̬ת»»ÄÜÒýÆðÁíÒ»½ø³Ì×÷Ò»´Î״̬ת»»¡£ÔÚʲôÇé¿öÏ£¬µ±Ò»¸ö½ø³Ì·¢Éúת»»3ʱÄÜÁ¢¼´ÒýÆðÁíÒ»½ø³Ì·¢Éúת»»1£¿ £¨3£©ÊÔ˵Ã÷ÊÇ·ñ»á·¢ÉúÏÂÊöÒò¹ûת»»£º
2¡ú1 £» 3¡ú2 £» 4¡ú1
Ö´ÐÐ 2 3
1 6.ÔÚµ¥´¦Àí»úµÄ·ÖʱϵͳÖУ¬·ÖÅ䏸½ø³ÌPµÄʱ¼äƬÓÃÍêºó£¬ÏµÍ³½øÐоÍÐ÷ ×èÈû Çл»£¬½á¹ûµ÷¶Èµ½µÄÈÔÈ»Êǽø³ÌP¡£ÓпÉÄܳöÏÖÉÏÊöÇéÐÎÂð£¿Èç¹û¿ÉÄÜ4 Çë˵Ã÷ÀíÓÉ¡£ ͼ2.8ijϵͳ½ø³Ì״̬ͼ
7.×ÀÉÏÓÐÒ»¿ÕÅÌ£¬ÔÊÐí´æ·Åһֻˮ¹û¡£°Ö°Ö¿ÉÏòÅÌÖÐ·ÅÆ»¹û£¬Ò²¿ÉÏòÅÌÖзÅéÙ×Ó£¬¶ù×ÓרµÈ³ÔÅÌÖеÄéÙ×Ó£¬Å®¶ùרµÈ³ÔÅÌÖÐµÄÆ»¹û¡£¹æ¶¨µ±ÅÌ¿Õʱһ´ÎÖ»ÄÜ·Åһֻˮ¹û¹©³ÔÕßÈ¡Óã¬ÇëÓÃP¡¢VÔÓïʵÏÖ°Ö°Ö¡¢¶ù×Ó¡¢Å®¶ùÈý¸ö²¢·¢½ø³ÌµÄͬ²½¡£
8.ÕÜѧ¼Ò¼×ÇëÕÜѧ¼ÒÒÒ¡¢±û¡¢¶¡µ½Ä³´¦ÌÖÂÛÎÊÌ⣬Լ¶¨È«Ìåµ½Æëºó¿ªÊ¼ÌÖÂÛ£»ÔÚÌÖÂ۵ļä϶ËÄλÕÜѧ¼Ò½ø²Í£¬Ã¿È˽ø²Íʱ¶¼ÐèʹÓõ¶¡¢²æ¸÷Ò»°Ñ£¬²Í×ÀÉϵIJ¼ÖÃÈçͼ2.9Ëùʾ£¬ÇëÓÃÐźÅÁ¿¼°P¡¢V²Ù×÷˵Ã÷ÕâËÄλÕÜѧ¼ÒµÄͬ²½¡¢»¥³â¹ý³Ì¡£
9.ijÊý¾Ý¿âÓÐÒ»¸öд½ø³Ì£¬¶à¸ö¶Á½ø³Ì£¬ËüÃÇÖ®¼ä¶Á¡¢Ð´²Ù×÷µÄ»¥³âÒªÇóÊÇ£ºÐ´½ø³ÌÕýÔÚд¸ÃÊý¾Ý¿âʱ²»ÄÜÓÐÆäËû½ø³Ì¶Á¸ÃÊý¾Ý¿â£¬Ò²²»ÄÜÓÐÆäËû½ø³Ìд¸ÃÊý¾Ý¿â£»¶Á½ø³ÌÖ®¼ä²»»¥³â£¬¿ÉÒÔͬʱ¶Á¸ÃÊý¾Ý¿â¡£ÇëÓÃÐźÅÁ¿¼°P¡¢V²Ù×÷ÃèÊöÕâÒ»×é½ø³ÌµÄ¹¤×÷¹ý³Ì¡£ 10.ÉèÔÚ¹«¹²Æû³µÉÏ£¬Ë¾»úºÍÊÛÆ±Ô±µÄ»î¶¯·Ö±ðÊÇ£º ˾»úµÄ»î¶¯£º Æô¶¯³µÁ¾£»
Õý³£Ðгµ£» µ½Õ¾Í£³µ£»
ÊÛÆ±Ô±µÄ»î¶¯£º¹Ø³µÃÅ£»
ÊÛÆ±£» ¿ª³µÃÅ£»
ÔÚÆû³µ²»¶ÏµØµ½Õ¾¡¢Í£³µ¡¢ÐÐÊ»¹ý³ÌÖУ¬ÕâÁ½¸ö»î¶¯ÓÐʲôͬ²½¹ØÏµ£¿ÓÃÐźÅÁ¿ºÍP¡¢V²Ù×÷ʵÏÖËüÃǵÄͬ²½¡£
11.ÉèÓÐÒ»¸ö·¢ËÍÕß½ø³ÌºÍÒ»¸ö½ÓÊÜÕß½ø³Ì£¬ÆäÁ÷³ÌÍÁÈçͼ2.10Ëùʾ¡£SÊÇÓÃÓÚʵÏÖ½ø³Ìͬ²½µÄÐźÅÁ¿£¬mutexÊÇÓÃÓÚʵÏÖ½ø³Ì»¥³âµÄÐźÅÁ¿¡£ÊÔÎÊÁ÷³ÌͼÖеÄA¡¢B¡¢C¡¢DËÄ¿òÖÐÓ¦Ìîдʲô£¿¼Ù¶¨»º³åÇøÎÞÏÞ¶à¸ö£¬sºÍmutexµÄ³õֵӦΪ¶àÉÙ£¿ ·¢ËÍÕß½ø³Ì£º ÉêÇ뻺³åÇø
B °ÑÐÅϢдÈ뻺³åÇø
V£¨s£©
A
½«»º³åÇø·Åµ½ÏûÏ¢Á´Î²
½ÓÊÕÕß½ø³Ì£º £º
C
D
´ÓÏûÏ¢Á´Ê×ȡһ¸ö»º³åÇø
V£¨mutex£©
´Ó»º³åÇøÖÐÈ¡³öÐÅÏ¢
ÊÍ·Å»º³åÇø
12.ÏÂÊö³ÌÐòÊǽâ¾öÁ½¸ö½ø³Ì»¥³â·ÃÎÊÁÙ½çÇøÎÂůÌåµÄÒ»ÖÖ·½·¨£¬ÊÔ´Ó¡°»¥³â¡±¡¢¡°ÓпÕÈýø¡±¡¢¡°ÓÐÏ޵ȴý¡±µÈÈý¸ö·½ÃæÌÖÂÛËüÊÇ·ñÕýÈ·¡£ int c1=0; int c2=0; main ( ) {
cobegin
p1 ( );
p2 ( ); /*½ø³Ìp1¡¢p2²¢·¢Ö´ÐÐ*/ coend }
p1 ( ) /*µÚÒ»¸ö½ø³Ìp1*/ {
while ( 1 ) {
other section 1 ; /*ÆäËû²¿·Ö*/ do c1=1 ¨C c2 £» while ( c2==0 );
critical section ; /*ÁÙ½çÇø*/ c1 =1; } }
p2 ( ) /*µÚ¶þ¸ö½ø³Ìp2*/ {
while ( 1 ) {
other section 2 ; /*ÆäËû²¿·Ö*/ do
c2=1 ¨C c1 £» while ( c1==0 );
critical section ; /*ÁÙ½çÇø*/ c2 =1; } }
13. ¢Ùд³öP¡¢V²Ù×÷µÄ¶¨Òå¡£
¢ÚÓÐÈý¸ö½ø³ÌPA¡¢PBºÍPCºÏ×÷½â¾öÎļþ´òÓ¡ÎÊÌ⣺PA½«Îļþ¼Ç¼´Ó´ÅÅ̶ÁÈëÖ÷´æµÄ»º³åÇø1£¬Ã¿Ö´ÐÐÒ»´Î¶ÁÒ»¸ö¼Ç¼£»PB½«»º³åÇø1µÄÄÚÈݸ´ÖƵ½»º³åÇø2£¬Ã¿Ö´ÐÐÒ»´Î¸´ÖÆÒ»¸ö¼Ç¼£»PC½«»º³åÇø2µÄÄÚÈÝ´òÓ¡³öÀ´£¬Ã¿Ö´ÐÐÒ»´Î´òÓ¡Ò»¸ö¼Ç¼¡£»º³åÇøµÄ´óСµÈÓÚÒ»¸ö¼Ç¼´óС¡£ÇëÓÃP¡¢V²Ù×÷À´±£Ö¤ÎļþµÄÕýÈ·´òÓ¡¡£
14.ÉèÓа˸ö³ÌÐòprog1¡¢prog2¡¢¡¡¢prog8¡£ËüÃÇÔÚ²¢·¢ÏµÍ³ÖÐÖ´ÐÐʱ
ÓÐÈçͼ2.13ËùʾµÄÖÆÔ¼¹ØÏµ£¬ÊÔÓÃP¡¢V²Ù×÷ʵÏÖÕâЩ³ÌÐò¼ûµÄͬ²½¡£ prog1 prog2 prog3 prog5
prog4
prog6 prog7 prog8
ͼ2.13 ½ø³Ì²¢·¢Ö´ÐеÄÖÆÔ¼¹ØÏµ
15.ÓÐÒ»¸ö²Ö¿â£¬¿ÉÒÔ´æ·ÅAºÍBÁ½ÖÖ²úÆ·£¬µ«ÒªÇó£º £¨1£©Ã¿´ÎÖ»ÄÜ´æÈëÒ»ÖÖ²úÆ·£¨A»òB£©£» £¨2£© - N©‚A²úÆ·ÊýÁ¿ ¨C B²úÆ·ÊýÁ¿©‚M¡£
ÆäÖУ¬NºÍMÖ»ÕýÕûÊý¡£ÊÔÓÃP¡¢V²Ù×÷ÃèÊö²úÆ·AÓë²úÆ·BµÄÈë¿â¹ý³Ì¡£
16.½ø³ÌA1¡¢A2¡¢¡¡¢An1ͨ¹ým¸ö»º³åÇøÏò½ø³ÌB1¡¢B2¡¢¡¡¢Bn2²»¶ÏµØ·¢ËÍÏûÏ¢¡£·¢ËͺͽÓÊÕ¹¤×÷×ñÑÈçϹæÔò£º
¢Ùÿ¸ö·¢Ëͽø³ÌÒ»´Î·¢ËÍÒ»¸öÏûÏ¢£¬Ð´ÈëÒ»¸ö»º³åÇø£¬»º³åÇø´óСµÈÓÚÏûÏ¢³¤¶È£»
¢Ú¶Ôÿһ¸öÏûÏ¢£¬B1¡¢B2¡¢¡¡¢Bn2¶¼Ðë¸÷½ÓÊÕÒ»´Î£¬¶ÁÈë¸÷×ÔµÄÊý¾ÝÇøÄÚ£»
¢Ûm¸ö»º³åÇø¶¼Âúʱ£¬·¢Ëͽø³ÌµÈ´ý£»Ã»ÓпɶÁµÄÏûϢʱ£¬½ÓÊÕ½ø³ÌµÈ´ý¡£
ÊÔÓÃP¡¢V²Ù×÷×éÖ¯ÕýÈ·µÄ·¢ËͺͽÓÊÕ¹¤×÷¡£
½âÎöÌ⣺
1.£¨1£©³ÌÐòÊÇÖ¸ÁîµÄÓÐÐò¼¯ºÏ£¬Æä±¾ÉíûÓÐÈκÎÔËÐеĺ¬Ò壬ËüÊÇÒ»¸ö¾²Ì¬µÄ¸ÅÄî¡£¶ø½ø³ÌÊdzÌÐòÔÚ´¦Àí»úÉϵÄÒ»´ÎÖ´Ðйý³Ì£¬ËüÊÇÒ»¸ö¶¯Ì¬µÄ¸ÅÄî¡£
£¨2£©³ÌÐòµÄ´æÔÚÊÇÓÀ¾ÃµÄ£¬¶ø½ø³ÌÔòÊÇÓÐÉúÃüÆÚµÄ£¬ËüÒò´´½¨¶ø²úÉú£¬Òòµ÷¶È¶øÖ´ÐУ¬ÒòµÃ²»µ½×ÊÔ´¶øÔÝÍ££¬Òò³·Ïû¶øÃðÍö¡£
£¨3£©³ÌÐò½öÊÇÖ¸ÁîµÄÓÐÐò¼¯ºÏ¡£¶ø½ø³ÌÔòÓɳÌÐò¡¢Êý¾ÝºÍ½ø³Ì¿ØÖÆ¿é×é³É¡£
£¨4£©½ø³ÌÓë³ÌÐòÖ®¼ä²»ÊÇÒ»Ò»¶ÔÓ¦µÄ£¬¼´Í¬Ò»³ÌÐòͬʱÔËÐÐÓÚÈô¸É²»Í¬µÄÊý¾Ý¼¯ºÏÉÏ£¬Ëü½«ÊôÓÚÈô¸É¸ö²»Í¬µÄ½ø³Ì£¬¶øÒ»¸ö½ø³Ì¿ÉÒÔÖ´Ðжà¸ö³ÌÐò¡£
2.ÔÚ±¾ÌâÖУ¬Ó¦ÉèÖÃÁ½¸öÐźÅÁ¿Sf¡¢Se£¬ÐźÅÁ¿Sf±íʾ»º³åÇøÖÐÊÇ·ñÓпɹ©´òÓ¡¼ÆËã½á¹û£¬Æä³õֵΪ0£»ÐźÅÁ¿SeÓÃÓÚ±íʾ»º³åÇøÓÐÎÞ¿ÕλÖôæ·ÅеÄÐÅÏ¢£¬Æä³õֵΪ1¡£±¾ÌâµÄͬ²½ÃèÊöÈçÏ£º int Se=1; int Sf=0; {
cobegin get ( ) ;
compute ( ) ; coend }
get ( ) {
while (²É¼¯¹¤×÷δÍê³É) {
²É¼¯Ò»¸öÊý¾Ý£» P ( Se ) ;
½«Êý¾ÝËÍÈ뻺³åÇøÖУ» V ( Sf ) ; } }
compute ( ) {
while (¼ÆË㹤×÷δÍê³É) {
P ( Sf ) ;
´Ó»º³åÇøÖÐÈ¡³öÊý¾Ý£» V ( Se) ;
½øÐÐÊý¾Ý¼ÆË㣻 } }
3.
4. ͼ2.7˵Ã÷ÈÎÎñÆô¶¯ºóS1ÏÈÖ´ÐС£µ±S1½áÊøºó£¬S2¡¢S3¿ÉÒÔ¿ªÊ¼Ö´ÐС£S2¡¢S3Íê³Éºó£¬S4²ÅÄÜ¿ªÊ¼Ö´ÐС£ÎªÁËÈ·±£ÕâÒ»Ö´ÐÐ˳Ðò£¬ÉèÈý¸öͬ²½ÐźÅÁ¿b2¡¢b3¡¢b4·Ö±ð±íʾ½ø³ÌS2¡¢S3¡¢S4ÊÇ·ñ¿ÉÒÔ¿ªÊ¼Ö´ÐУ¬Æä³õÖµ¾ùΪ0¡£ÕâËĸö½ø³ÌµÄͬ²½ÃèÊöÈçÏ£º
int b2=0; /* ±íʾ½ø³ÌS2 ÊÇ·ñ¿ÉÒÔ¿ªÊ¼Ö´ÐÐ*/ int b3=0; /* ±íʾ½ø³ÌS3 ÊÇ·ñ¿ÉÒÔ¿ªÊ¼Ö´ÐÐ*/ int b4=0; /* ±íʾ½ø³ÌS4 ÊÇ·ñ¿ÉÒÔ¿ªÊ¼Ö´ÐÐ*/ main ( ) {
cobegin S1 ( );
S2 ( ); S3 ( ); S4 ( ); coend }
S1 ( ) {
v ( b2 ); v ( b3 ); }
S2 ( ) {
p ( b2 );
v ( b4 ); }
S3 ( ) { ¡ ¡ p ( b3 );
v ( b4 );
}
S4 ( ) {
p ( b4 );
v ( b4 ); /* ÒòÔÚS2¼°S3 Íê³Éʱ¶Ôb4×öÁËv ²Ù×÷£¬Òò´Ë´Ë
´¦ÐèÁ½¸öp²Ù×÷*/
}
5.£¨1£©ÔÚ±¾ÌâËù¸øµÄ½ø³Ì״̬ת»»Í¼ÖУ¬´æÔÚËÄÖÖ״̬ת»»¡£µ±½ø³Ìµ÷¶È³ÌÐò´Ó¾ÍÐ÷¶ÓÁÐÖÐѡȡһ¸ö½ø³ÌͶÈëÔËÐÐʱ¼äÒýÆðת»»1£»ÕýÔÚÖ´ÐеĽø³ÌÈçÒòʱ¼äƬÓÃÍê¶ø±»ÔÝÍ£Ö´ÐоͻáÒýÆðת»»2£»ÕýÔÚÖ´ÐеĽø³ÌÒòµÈ´ýµÄʼþÉÐδ·¢Éú¶øÎÞ·¨Ö´ÐУ¨Èç½ø³ÌÇëÇóÍê³ÉI/O£©Ôò»áÒýÆðת»»3£»µ±½ø³ÌµÈ´ýµÄʼþ·¢Éúʱ£¨ÈçI/OÍê³É£©Ôò»áÒýÆðת»»4¡£ £¨2£©Èç¹û¾ÍÐ÷¶ÓÁзǿգ¬ÔòÒ»¸ö½ø³ÌµÄת»»3»áÁ¢¼´ÒýÆðÁíÒ»¸ö½ø³ÌµÄת»»1¡£ÕâÊÇÒòΪһ¸ö½ø³Ì·¢Éúת»»3Òâζ×ÅÕýÔÚÖ´ÐеĽø³ÌÓÉÖ´ÐÐ״̬±äΪ×èÈû״̬£¬Õâʱ£¬´¦Àí»ú¿ÕÏУ¬½ø³Ìµ÷¶È³ÌÐò±ØÈ»»á´Ó¾ÍÐ÷¶ÓÁÐÖÐѡȡһ¸ö½ø³Ì²¢½«ËüͶÈëÔËÐУ¬Òò´ËÖ»Òª¾ÍÐ÷¶ÓÁзǿգ¬Ò»¸ö½ø³ÌµÄת»»3ÄÜÁ¢¼´ÒýÆðÁíÒ»¸ö½ø³ÌµÄת»»1¡£
£¨3£©ËùνÒò¹ûת»»Ö¸µÄÊÇÓÐÁ½¸öת»»£¬Ò»¸öת»»µÄ·¢Éú»áÒýÆðÁíÒ»¸öת»»µÄ·¢Éú£¬Ç°Ò»¸öת»»³ÆÎªÒò£¬ºóÒ»¸öת»»³ÆÎª¹û£¬ÕâÁ½¸öת»»³ÆÎªÒò¹ûת»»¡£µ±È»ÕâÖÖÒò¹û¹ØÏµ²¢²»ÊÇʲôʱºò¶¼ÄÜ·¢Éú£¬¶øÊÇÔÚÒ»¶¨Ìõ¼þϲŻᷢÉú¡£
2¡ú1£ºµ±Ä³½ø³Ì·¢Éúת»»2ʱ£¬¾Í±ØÈ»ÒýÆðÁíÒ»½ø³ÌµÄת»»1¡£ÒòΪµ±·¢Éúת»»2ʱ£¬ÕýÔÚÖ´ÐеĽø³Ì´ÓÖ´ÐÐ״̬±äΪ¾ÍÐ÷״̬£¬½ø³Ìµ÷¶È³£Ä깤Ðò±ØÈ»»á´Ó¾ÍÐ÷¶ÓÁÐÖÐѡȡһ¸ö½ø³ÌͶÈëÔËÐУ¬¼´·¢Éúת»»1¡£
3¡ú2£ºÄ³¸ö½ø³ÌµÄת»»3¾ö²»¿ÉÄÜÒýÆðÁíÒ»½ø³Ì·¢Éúת»»2¡£ÕâÊÇÒòΪµ±Ç°Ö´Ðнø³Ì´ÓÖ´ÐÐ״̬±äΪ×èÈû״̬£¬²»¿ÉÄÜÓÖ´ÓÖ´ÐÐ״̬±äΪ¾ÍÐ÷״̬¡£
4¡ú1£ºµ±´¦Àí»ú¿ÕÏÐÇÒ¾ÍÐ÷¶ÓÁÐΪ¿Õʱ£¬Ä³Ò»½ø³ÌµÄת»»4¾Í»áÒýÆð¸Ã½ø³ÌµÄת»»1¡£ÒòΪ´Ëʱ´¦Àí»ú¿ÕÏУ¬Ò»µ©Ä³¸ö½ø³Ì·¢Éúת»»4£¬
¡ ¡ ¾ÍÒâζ×ÅÓÐÒ»¸ö½ø³Ì´Ó×èÈû״̬±äΪ¾ÍÐ÷״̬£¬Òò¶øµ÷¶È³ÌÐò¾Í»á½«¾ÍÐ÷¶ÓÁÐÖеĴ˽ø³ÌͶÈëÔËÐС£
6.ÓпÉÄܳöÏÖÉÏÊöÇé¿ö¡£ÀýÈ磺ÈôÔÚ½ø³ÌPʱ¼äƬÓÃÍêºó£¬±»ÆÈ»Øµ½¾ÍÐ÷¶ÓÁÐʱ£¬¾ÍÐ÷¶ÓÁÐΪ¿Õ£¬ÕâÑù½ø³ÌP¾ÍÊǾÍÐ÷¶ÓÁÐÖÐΩһµÄÒ»¸ö½ø³Ì£¬ÓÚÊǵ÷¶È³ÌÐòÑ¡ÖֵĽø³Ì±ØÈ»Êǽø³ÌP£»ÓÖÈçÔÚ°´ÓÐÏÞ¼¶µ÷¶ÈµÄϵͳÖУ¬¾ÍÐ÷¶ÓÁа´½ø³ÌÓÅÏȼ¶ÅÅÁУ¬ÔÚ½ø³ÌPʱ¼äƬÓÃÍêÖ®ºó»Øµ½¾ÍÐ÷¶ÓÁÐʱ£¬ÈôÆäÓÅÏȼ¶¸ßÓÚµ±Ç°¾ÍÐ÷¶ÓÁÐÖÐµÄÆäËû½ø³Ì£¬ÔòËü½«ÅÅÔÚ¾ÍÐ÷¶ÓÁÐÖ®Ê×£¬´Ó¶øÔٴα»µ÷¶È³ÌÐòÑ¡Öв¢Í¶ÈëÔËÐС£
7.ÔÚ±¾ÌâÖУ¬Ó¦ÉèÖÃÈý¸öÐźÅÁ¿S¡¢So¡¢Sa£¬ÐźÅÁ¿S±íʾÅÌ×ÓÊÇ·ñΪ¿Õ£¬Æä³õֵΪ1£»ÐźÅÁ¿So±íʾÅÌ×ÓÖÐÊÇ·ñÓÐéÙ×Ó£¬Æä³õֵΪ0£»ÐźÅÁ¿Sa±íʾÅÌ×ÓÖÐÊÇ·ñÓÐÆ»¹û£¬Æä³õֵΪ0¡£Í¬²½ÃèÊöÈçÏ£º int S=1; int Sa=0; int So=0; main ( ) {
cobegin
father ( );
son ( );
daughter ( ); coend }
father ( ) {
while ( 1 ) {
P ( Se ) ;
½«Ë®¹û·ÅÈëÅÌÖУ»
if (·ÅÈëµÄÊÇéÙ×Ó) v ( So ); else v ( Sa ) ; } }
son ( ) {
while ( 1 ) {
P ( So ) ;
´ÓÅÌÖÐÈ¡³öéÙ×Ó£» v ( S ); ³ÔéÙ×Ó£» }
}
daughter ( ) {
while ( 1 ) {
P ( Sa ) ;
´ÓÅÌÖÐÈ¡³öÆ»¹û£» v ( S ); ³ÔÆ»¹û£» } }
8.ÔÚ±¾ÌâÖУ¬Ó¦ÉèÖÃËĸöÐźÅÁ¿fork1¡¢ fork2¡¢knife1¡¢knife2£¬Æä³õÖµ¾ùΪ1£¬·Ö±ð±íʾ×ÊÔ´²æ1¡¢²æ2¡¢µ¶1¡¢µ¶2ÊÇ·ñ¿ÉÓá£Í¬²½ÃèÊöÈçÏ£º
int fork1=1; int fork2=1; int knife1=1;
int knife2=1; main ( ) {
cobegin
Pa ( ) £»
Pb ( ) £» Pc ( ) £» Pd ( ) £» coend }
Pa £¨ £©
{
while ( 1 ) {
P ( knife1 ) ; P ( fork1 ) ; ½ø²Í£»
v ( knife1 ) ;
v (fork1 ) ; ÌÖÂÛÎÊÌ⣻ }
}
Pb £¨ £© {
while ( 1 ) {
P ( knife2 ) ; P ( fork1 ) ; ½ø²Í£»
v ( knife2 ) ;
v (fork1 ) ; ÌÖÂÛÎÊÌ⣻ } }
Pc £¨ £© {
while ( 1 ) {
P ( knife2 ) ; P ( fork2 ) ; ½ø²Í£»
v ( knife2 ) ;
v (fork2 ) ; ÌÖÂÛÎÊÌ⣻ } }
Pd £¨ £©
{
while ( 1 ) {
P ( knife1 ) ; P ( fork2 ) ; ½ø²Í£»
v ( knife1 ) ;
v (fork2 ) ; ÌÖÂÛÎÊÌ⣻ }
}
9.ÔÚ±¾ÌâÖУ¬ÔÊÐí¶Á½ø³Ìͬʱ¶ÁÊý¾Ý¿â£¬µ«Ð´½ø³ÌÕýÔÚдÊý¾Ý¿âʱ²»ÔÊÐíÆäËû½ø³Ì¶ÁÊý¾Ý¿â£¬Ò²²»ÔÊÐíÆäËû½ø³Ìд¸ÃÊý¾Ý¿â¡£ÎªÁ˽â¾ö¶Á¡¢Ð´½ø³ÌÖ®¼äµÄͬ²½£¬Ò»¹áÉèÖÃÁ½¸öÐźÅÁ¿ºÍÒ»¸ö¹²Ïí±äÁ¿£º¶Á»¥³âÐźÅÁ¿rmutex£¬ÓÃÓÚʹ¶Á½ø³Ì»¥³âµØ·ÃÎʹ²Ïí±äÁ¿count£¬Æä³õֵΪ1£»Ð´»¥³âÐźÅÁ¿wmutex£¬ÓÃÓÚʵÏÖд½ø³ÌÓë¶Á½ø³Ì·±ÈÙ»¥³â¼°Ð´½ø³ÌÓëд½ø³ÌµÄ»¥³â£¬Æä³õֵΪ1£»¹²Ïí±äÁ¿count£¬ÓÃÓڼǼµ±Ç°ÕýÔÚ¶ÁÊý¾Ý¿âµÄ¶Á½ø³ÌÊýÄ¿£¬³õֵΪ0¡£Æä¹¤×÷¹ý³ÌÈçÏ£º int rmutex=1; int wmutex=1; int count=0; main ( ) {
cobegin
reader ( ) ;
writer ( ) ; coend }
reader ( ) {
while ( 1 ) {
P ( rmutex ) ;
if ( count==0) p ( wmutex ); /*µ±µÚÒ»¸ö¶Á½ø³Ì¶ÁÊý¾Ý¿âʱ£¬×èÖ¹½ø³Ìд*/
count ++; v ( rmutex ) ; ¶ÁÊý¾Ý¿â£» p ( rmutex ) ;
count -- --;
if ( count==0) v ( wmutex ); /*µ±×îºóÒ»¸ö¶Á½ø³Ì¶ÁÍêÊý¾Ý
¿âʱ£¬ÔÊÐíд½ø³Ìд*/
v ( rmutex ) ; } }
writer ( ) {
while ( 1 ) {
P ( wmutex ) ; дÊý¾Ý¿â£» v ( wmutex ); } }
10.ÔÚ±¾ÌâÖУ¬Ó¦ÉèÖÃÁ½¸öÐźÅÁ¿£ºS1¡¢S2£¬S1±íʾÊÇ·ñÔÊÐí˾»úÆô¶¯Æû³µ£¬Æä³õֵΪ0£»S2±íʾÊÇ·ñÔÊÐíÊÛÆ±Ô±¿ªÃÅ£¬Æä³õֵΪ0¡£ÓÃP¡¢VÔÓïÃèÊöÈçÏ£º int S1=0; int S2=0; main ( ) {
cobegin
driver ( ) ;
busman ( ) ; coend }
driver ( ) {
while ( 1 ) {
P ( S1 ) ; Æô¶¯³µÁ¾£» Õý³£Ðгµ; µ½Õ¾Í£³µ£» v ( S2 ) ; }
}
busman ( ) {
while ( 1 ) {
¹Ø³µÃÅ£» v ( S1 ); ÊÛÆ±£»
p ( S2 ); ¿ª³µÃÅ£» ÉÏϳ˿ͣ» } }
11.ÓÉÉÏÊö·ÖÎö¿ÉÖª£¬A¡¢B¡¢C¡¢DËÄ¿òÓ¦·Ö±ðÌîÈ룺 A¿ò P£¨mutex£© B¿ò V£¨mutex£© C¿ò P£¨s£©
D¿ò P£¨mutex£©
¿ªÊ¼Ê±£¬ÏûÏ¢Á´ÉÏûÓпɹ©½ÓÊÕµÄÐÅÏ¢£¬ËùÒÔsµÄ³õֵΪ0£»»¥³âÐźÅÁ¿mutexµÄ³õֵΪ1¡£ 12. 13.
¢ÙP¡¢V²Ù×÷ÊÇÁ½ÌõÔÓËüÃǵ͍ÒåÈçÏ£º P²Ù×÷£º P²Ù×÷¼ÇΪP£¨S£©£¬ÆäÖÐSΪһÐźÅÁ¿£¬ËüÖ´ÐÐʱÖ÷ÒªÍê³ÉÏÂÊö¶¯×÷£º
S = S ¨C 1
ÈôS¨R0£¬Ôò½ø³Ì¼ÌÐøÔËÐС£
ÈôS©‚0£¬Ôò¸Ã½ø³Ì±»×èÈû£¬²¢½«Ëü²åÈë¸ÃÐźÅÁ¿µÄµÈ´ý¶ÓÁÐÖС£ V²Ù×÷£º V²Ù×÷¼ÇΪV£¨S£©£¬ÆäÖÐSΪһÐźÅÁ¿£¬ËüÖ´ÐÐʱÖ÷ÒªÍê³ÉÏÂÊö¶¯×÷£º S = S + 1
ÈôS©ƒ0£¬Ôò½ø³Ì¼ÌÐøÖ´ÐС£ ÈôS¨Q0£¬Ôò´ÓÐźÅÁ¿µÈ´ý¶ÓÁÐÖÐÒÆ³ö¶ÓÊ×½ø³Ì£¬Ê¹Æä±äΪ¾ÍÐ÷״̬¡£ ¢ÚÔÚ±¾ÌâÖÐ £¬½ø³ÌPA¡¢PB¡¢PCÖ®¼äµÄ¹ØÏµÎª£ºPAÓëPB¹²ÓÃÒ»¸öµ¥»º³åÇø£¬¶øPB ÓÖÓëPC¹²ÓÃÒ»¸öµ¥»º³åÇø£¬ ÆäºÏ×÷·½Ê½¿ÉÓÃͼ2.12±íʾ¡£µ±»º³åÇø1Ϊ¿Õʱ£¬½ø³ÌPA¿É½«Ò»¸ö¼Ç¼¶ÁÈëÆäÖУ»Èô»º³åÇø1ÖÐÓÐÊý¾ÝÇÒ»º³åÇø2Ϊ¿Õ£¬Ôò½ø³ÌPB¿É½«¼Ç¼´Ó»º³åÇø1¸´ÖƵ½»º³åÇø2ÖУ»Èô»º³åÇø2ÖÐÓÐÊý¾Ý£¬Ôò½ø³ÌPC¿ÉÒÔ´òÓ¡¼Ç¼¡£ÔÚÆäËûÌõ¼þÏ£¬ÏàÓ¦½ø³Ì±ØÐëµÈ´ý¡£ÊÂʵÉÏ£¬ÕâÊÇÒ»¸öÉú²úÕß¡ªÏû·ÑÕßÎÊÌâ¡£
Ϊ×ñÑÕâһͬ²½¹æÔò¡£Ó¦ÉèÖÃËĸöÐźÅÁ¿empty1¡¢empty2¡¢full 1¡¢full 2£¬ÐźÅÁ¿empty1¼°empty2·Ö±ð±íʾ»º³åÇø1¼°»º³åÇø2ÊÇ·ñΪ¿Õ£¬Æä³õֵΪ1£»ÐźÅÁ¿full 1¼°full 2·Ö±ð±íʾ»º³åÇø1¼°»º³åÇø2ÊÇ·ñÓмǼ¿É¹©´¦Àí£¬Æä³õֵΪ0¡£Æäͬ²½ÃèÊöÈçÏ£º int empty1=1; int empty2=1; int full 1=0;
int full 2=0; main ( ) {
cobegin
PA ( ) £»
PB ( ) £» PC ( ) £» coend }
PA ( ) {
while ( 1 ) {
´Ó´ÅÅ̶ÁÒ»¸ö¼Ç¼£»
P ( empty1 ) ;
½«¼Ç¼´æÈ뻺³åÇø1£»
v ( full 1 ) ; }
}
PB ( ) {
while ( 1 ) {
P ( full 1 ) ;
´Ó»º³åÇø1ÖÐÈ¡³ö¼Ç¼£»
v ( empty1)£» P ( empty2 ) ;
½«¼Ç¼´æÈ뻺³åÇø2£» v ( full 2 ) ; } }
PC ( ) {
while ( 1 ) {
P ( full 2 )) ;
´Ó»º³åÇø2ÖÐÈ¡³ö¼Ç¼£»
v ( empty2 ) ; ´òÓ¡¼Ç¼£» } } 14.
int f1=0;
int f2=0; int f3=0; int f4=0; int f5=0;
int f6=0; int f7=0;
main ( ) {
cobegin
prog1 ( );
prog2 ( ); prog3 ( ); prog4 ( ); prog5 ( prog6 ( prog7 ( coend }
prog1 ( ) {
¡ v ( f1 ); v ( f1 ); v ( f1 ); }
prog2 ( ) {
¡ v ( f2 ); v ( f2 ); v ( f2 ); }
prog 3 ( ) {
p ( f1 ); p ( f2 );
¡ v ( f3 ); }
prog 4 ( ) {
p ( f1 ); ); ); ); p ( f2 );
v ( f4 );
}
prog 5 ( ) {
p ( f1 ); p ( f2 );
v ( f5 ); }
prog 6 ( ) {
p ( f3 );
v ( f6 ); }
prog 7 ( ) {
p ( f5 );
v ( f7 ); }
prog8 ( ) {
p ( f4 ); p ( f6 ); p ( f7 ); }
15.ÔÚ±¾ÌâÖУ¬ÎÒÃÇ¿ÉÒÔÉèÖÃÁ½¸öÐźÅÁ¿À´¿ØÖÆA¡¢B²úÆ·µÄ´æ·ÅÊýÁ¿£¬sa±íʾµ±Ç°ÔÊÐíA²úÆ·±ÈB²úÆ·¶àÈë¿âµÄÊýÁ¿£¬¼´ÔÚµ±Ç°¿â´æÁ¿ºÍB²úÆ·²»Èë¿âµÄÇé¿öÏ£¬»¹¿ÉÒÔÔÊÐísa¸öA²úÆ·Èë¿â£»sb±íʾµ±Ç°ÔÊÐíB²úÆ·±ÈA²úÆ·¶àÈë¿âµÄÊýÁ¿£¬¼´ÔÚµ±Ç°¿â´æÁ¿ºÍA²úÆ·²»Èë¿âµÄÇé¿öÏ£¬»¹¿ÉÒÔÔÊÐísb¸öB²úÆ·Èë¿â¡£³õʼʱ£¬saΪM ¨C 1£¬sbΪN
¡ ¡ ¡ ¡ ¡ ¨C 1¡£µ±Íù¿âÖдæ·ÅÒ»¸öA²úƷʱ£¬ÔòÔÊÐí´æÈëB²úÆ·µÄÊýÁ¿Ò²Ôö¼Ó1£»µ±Íù¿âÖдæ·ÅÒ»¸öB²úƷʱ£¬ÔòÔÊÐí´æÈëA²úÆ·µÄÊýÁ¿Ò²Ôö¼Ó1¡£ ²úÆ·A¡¢BµÄÈë¿â¹ý³ÌÃèÊöÈçÏ£º int mutex=1; int sa= M ¨C 1; int sb= N ¨C 1; main ( ) {
while ( 1 ) {
ȡһ¸ö²úÆ·£» if ( È¡µÄÊÇA²úÆ·) {
P ( sa ) ;
P ( mutex ) ; ½«²úÆ·Èë¿â£» v ( mutex ) ;
v ( sb ) ; }
else /*È¡µÄ²úÆ·ÊÇB*/ {
P ( sb ) ;
P ( mutex ) ; ½«²úÆ·Èë¿â£» v ( mutex ) ;
v ( pa ) ; } } }
16.ÔÚ±¾ÌâÖУ¬Ó¦ÉèÖÃÒ»¸öÐźÅÁ¿mutexʵÏÖÖî½ø³Ì¶Ô»º³åÇøµÄ»¥³â·ÃÎÊ£»Á½¸öÐźÅÁ¿Êý×éempty[n2]ºÍfull [n2]ÃèÊön2×黺³åÇøµÄʹÓÃÇé¿ö¡£MutexµÄ³õֵΪ1£»Êý×éemptyÖеÄÔªËØ³õֵΪm£»Êý×éfullÖеÄÔªËØ³õֵΪ0¡£Æäͬ²½¹ØÏµÃèÊöÈçÏ£º int mutex , empty[n2] , full [n2] ; int i ;
mutex =1;
for ( i = 0; i¨Qn2 ¨C 1 ; i ++) {
empty[i]=m; full [i]=0; }
main ( ) {
cobegin
A1 ( ) £»
A2 ( ) £»
An1 ( ) £» B1 ( ) £» B2 ( ) £»
Bn2 ( ); coend }
send ( ) /*·¢ËÍÏûÏ¢*/ {
int i;
for ( i = 0; i¨Qn2 ¨C 1 ; i ++)
p ( empty[i] ) ; P ( mutex ) ;
½«ÏûÏ¢·ÅÈ뻺³åÇø£»
v ( mutex )£»
for ( i = 0; i¨Qn2 ¨C 1 ; i ++)
v ( full [i] ) ;
}
receive ( ) /*½ø³ÌB1½ÓÊÕÏûÏ¢*/ {
p ( full [i] ) ; P ( mutex ) ;
½«ÏûÏ¢´Ó»º³åÇøÖÐÈ¡³ö£»
v ( mutex )£»
¡ ¡ v ( empty[i] ) ;
}
Ai ( ) /*Òò·¢Ëͽø³ÌA1¡¢A2£¬¡An1µÄ³ÌÐòÀàËÆ£¬ÕâÀïÖ»¸ø³ö½ø³ÌAiµÄÃèÊö*/ {
while ( 1 ) {
send ( )£» }
Bi ( ) /*Òò½ÓÊܽø³ÌB1¡¢B2£¬¡Bn1µÄ³ÌÐòÀàËÆ£¬ÕâÀïÖ»¸ø³ö½ø³ÌBiµÄÃèÊö*/ {
while ( 1 ) {
receive ( i )£» }
¡ ¡ ¡ ¡