±±´ó²Ù×÷ϵͳϰÌâ´ð°¸ÍêÕû°æ ÏÂÔØ±¾ÎÄ

2.2½ø³Ì״̬ÒÔ¼°×´Ì¬×ª»»

2.2.1½ø³Ì¿ØÖÆ¿éPCB,ϵͳ¹ÜÀí½ø³Ìʱ£¬ÐÞ¸ÄPCB

½ø³ÌÔÚÔËÐÐʱ£¬Í¨ÓüĴæÆ÷Òª±£´æÏÖ³¡ÐÅÏ¢£¬²»ÔËÐеÄʱºò£¬ÕâЩÐÅÏ¢¶¼Òª±£´æÏ À´

±ÈÈ磬ָÕëµÈ£¬ÏÖ³¡Òª±£´æÔÚ×Ô¼ºµÄ¿Õ¼äÖУ¬ÎļþϵͳÖС£ ÏÖ³¡ÐÅÏ¢°üÀ¨ºÜ¶àÄÚÈÝ¡£

½ø³Ì¿ØÖÆ¿éPCBʱ¹á´©Ê¼ÖÕµÄ

2.2.2״̬µÄÉèÖÃÓë½ø³ÌµÄ¿ØÖÆÓйØÏµ£¬Ê²Ã´Ê±ºò´´½¨½ø³Ì£¬Ê²Ã´Ê±ºòÖÐÖ¹½ø³Ì£¬ÍêÈ« ÓÉ

Ô­ÓïÀ´½«½ø³Ì´ÓÒ»¸ö״̬ת±äΪÁíÒ»¸ö״̬ ×îÖ÷ÒªµÄ¾ÍÊÇÁË½â½ø³ÌµÄ¿ØÖÆ 3.½ø³ÌµÄͬ²½ºÍ»¥³â

Õⲿ·ÖÓë \Óëʱ¼äÓйصĴíÎó\ÓйØ

ͬ²½ÊÇ¿ª·¢ÈËÔ±ÓÐÒâʶ°²ÅŵģºÔÚÍê³ÉÒ»¸öÌØ¶¨¹¦ÄܵÄÈí¼þÖУ¬Óɶà¸ö½ø³ÌЭ×÷£¬Õâ Щ½ø³Ì¼äÓÐʱÐò¹ØÏµ£¬»¥ÏàÅäºÏÍê³É£¬¶øÕâЩʱÐòÊÇÊÂÏȰ²Åźõģ¬OS²»ÖªµÀÕâЩ¹ØÏµ£¬ ÓÃ

»§Í¨¹ýOSÌṩµÄÔ­ÓïÀ´Î¬³ÖÕâÖÖʱÐò¡£

ͬ²½£ºµÚÒ»¸ö½ø³ÌÖ´ÐеÀijһµãºóÄÜ·ñ¼ÌÐøÖ´ÐÐÈ¡¾öÓÚÁíÒ»¸ö½ø³ÌÄܹ»¸øËü·¢ÏûÏ¢¡£ ½ø³ÌµÄ»¥³â£º¸÷¸ö½ø³Ì¼äÒªÇó¹²Ïí×ÊÔ´£¬¾ºÕùʹÓÃ×ÊÔ´¡£ ÊéÉϽ²½âÁË¡°¾ºÕùÌõ¼þ¡±ÕâÒ»¸ÅÄî¡£

4.ÁÙ½çÇø£ºÖ»ÔÊÐíÒ»¸ö½ø³ÌʹÓõÄ×ÊÔ´½ÐÁÙ½ç×ÊÔ´ ¾ºÕùʹÓÃͬһ¸ö×ÊÔ´µÄ

²»ÊÇÒ»¸ö½ø³ÌµÄ£¬¶øÊÇÒÔÉϽø³Ì

¶ÔÓÚÁÙ½çÇøµÄÒªÇó

1)ÈκÎÁ½¸ö½ø³Ì²»ÄÜͬʱ´¦ÓÚÁÙ½çÇø£¬¼´Á½¶Î³ÌÐòÊDz»Äܽ»²æµÄ ÁÙ½çÇøµÄ³ÌÐòÊÇ¿ÉÒÔÖжÏÖ´ÐеÄ

2£©Èç¹ûÏë½øÈëÁÙ½çÇø£¬ÓÖ½ø²»È¥£¬Ôò×èÈû¡°ÓпÕÈýø£¬Î޿յȴý£¬ÓÐÏ޵ȴý¡± 3£©²»Ó¦¶Ô½ø³ÌµÄËٶȺͽø³ÌµÄÊýÄ¿×÷¼ÙÉè

½â¾ö»¥³âµÄÎÊÌ⣺

*1 Óû§¹Ø±ÕÖжϻá³öÏÖÎÊÌ⣨ÍüÁË¿ªÖжϣ¬Ôõô°ì£¿£© *2 Ëø±äÁ¿ÔÚ½â¾ö»¥³âÎÊÌâʱ£¬Ò²¿ÉÒÔÒýÈëеû¥³â *3 ÑϸñÂÖ»»·¨

ÒÔÉÏÈýÖÖ·½·¨¶¼²»Äܽâ¾ö»¥³â¡£

ÒÔÏÂÁ½¸ö¶¼²»¿¼£º

#1 Peterson Delker ÖªµÀËã·¨£¬µ«²»¿¼ #2 ÓÃÓ²¼þ·¨½â¾ö»¥³âÒ²²»¿¼

ÖØµã£º5. ÕÆÎÕÐźÅÁ¿ÒÔ¼°PV²Ù×÷ 5.1 ÐźÅÁ¿ºÍPV²Ù×÷

down --up (Ê×Ñ¡) P---V (Ò²¶Ô)

wait--signal£¨´íÎó)

Ô­Àí£ºÔÚÖ´Ðйý³ÌÖУ¬²»¿É·Ö¸î.

down²Ù×÷:¶ÔÐźÅÁ¿£º-1,ÈôСÓÚ1£¬Ôò×èÈû£¬Ë͵½µÈ´ý¶ÓÁÐ

up ²Ù×÷£º+1,ÈôСÓÚµÈÓÚ0£¬ÏàÓ¦µÄÐźÅÁ¿µÈÓڵȴý¶ÓÁÐÉϵĽø³Ì¡£

ÖØµãÖÐÖØµã£º±ØÓÐP V²Ù×÷µÄÌ⣺

½âÌâµÄÒªËØ£º1)ÉèÖúÃÿ¸öÐźÅÁ¿£¨Ã¿µÀÌâµÄ·ÖÊýÓÉÈô¸É²¿·Ö×é³É£© ÁгöËùÓеÄÐźÅÁ¿¼°Æä³õÖµ¾Í¸ø·Ö

2£©Ð´PV£¬²Ù×÷ʱ£¬PV²Ù×÷²¿·Ö²»ÄÜÓÃ×ÔÈ»ÓïÑÔ£¬ÆäÓàµÄ²¿·Ö ¿ÉÓÃαÂ룬×ÔÈ»ÓïÑÔ¾ù¿É

begin ---end , repeat --until(¸ãÇå³þ 2·Ö)

¶ÁÕß---дÕß(Ñ­»·) Éú²ú---Ïû·Ñ£¨²»Ñ­»·£©

6.¼¸¸öµäÐÍÄ£ÐÍ£¨¿¼ÊÔ²»»á³¬¹ý´ËÀàÄ£ÐÍ£©

6.1 Éú²úÕß---Ïû·ÑÕßÀàÐÍ

˼Ï룺ÓÉһЩ buffer,һЩ½ø³ÌÏòBuffer ÖÐд£¬ÁíһЩÏòBufferÖжÁ »Ø¼Ò×ܽ᣺

*1 Ò»¸öÉú²úÕߣ¬Ò»¸öÏû·ÑÕߣ¬Ò»¸öbuffer *2 Ò»¸öÉú²úÕߣ¬Ò»¸öÏû·ÑÕߣ¬Ò»Ð©buffer

*3 Ò»¸öÉú²úÕߣ¬¶à¸öÏû·ÑÕߣ¬Ò»¸ö»òÕß¶à¸öbuffer

*4 ¶à¸öÉú²úÕߣ¬¶à¸öÏû·ÑÕߣ¬Ò»¸ö»òÕß¶à¸öbuffer(×ÔÓ£¬²»¿¼£¡0)

6.2 ÕÜѧ¼Ò½ø²ÍÎÊÌâ(ÈÏÕæ¶ÁÊéÉϵÄÿ¾ä»°)

¶ÔÓÚ¶à¸ö¾ºÕù½ø³Ì»¥³â·ÃÎÊ×ÊÔ´ÊǷdz£ÓÐÓõģ¡

6.3 ¶ÁÕß---дÕßÎÊÌâ(P42) ¶Ô¹²Ïí×ÊÔ´µÄ²Ù×÷

¶ÁÓÐÐí¶à¶ÁÕߣ¬µ«Ð´Ê±Ö»ÓÐÒ»¸öд¡£

ÈôÊÇÁ½×é¶ÁÕßÎÊÌ⣬µÚ¶þ¸ö¶ÁÕß½«µÚÒ»¸öµÃ¿½±´¹ýÀ´£¬±äÁ¿¸Ä±äһϠ2003ÄêµÄ¿¼ÑÐÌ⣬Ô˺ÓÎÊÌâ¾ùÊǶÁÕß---дÕßÎÊÌâ 2003Ä꿼ÑÐÌâ˼·£º

ÈçºÎÏÞÖÆÖ»ÓÐ3¸ö¹ý£¬µÚËĸö²»Äܹý¡£ ¹Ø¼üÔÚÓÚÎÊÌâÈçºÎ·Ö½â

Ê÷ÉÏÕâÖÖ¶ÁÕߣ¬Ð´Õß»á³öÏÖ¼¢¶ö£¬µ«±¾ÌâÒªÇó²»³öÏÖ¼¢¶ö ´ó´¬·½Ïò£ºÐ´Õߣ¬Ð¡´¬·½Ïò£ºÐ´Õß

°ÑÔ­À´³ÌÐòµÄ¿ò¼Üд³ö£¬½«Ï¸½ÚÖ»ÔÊÐí3¸ö´¬¹ý£¨²»ÔÊÐí³öÏÖ¼¢¶ö£©²¹³ä½øÈ¥

6.4 Àí·¢Ê¦ÎÊÌâ(P43)

6.5 ÎüÑÌÕßÄ£ÐÍ

СµÄÎÊÌ⣺eg:ÒøÐнкÅ, ÔÄÀÀÊÒÎÊÌ⣬£¨À´Ò»¸öÉêÇëÒ»¸ö×ÊÔ´£¬Èô¸É¸ö½ø³Ì¶Ô×Ê Ô´µÄʹÓÃÎÊÌ⣩£¬¿¼³¡ÎÊÌ⣨ͬ²½¹ØÏµ£¬±È½Ï¼òµ¥£©

×öÌâÌ×·£º1£©ÏÈд³ö³ÌÐò 2)ÕÒ³ö½ø³Ì¼äµÄ¹ØÏµ(·Ö½â¿ªÕÒ£¬ÏÈÕÒ»¥³â£¬ÔÙÕÒͬ²½£¬Ò» ¸ö¹ØÏµÉèÖÃÒ»¸öÐźÅÁ¿) 3£©P,VǶÈëµ½ÏàÓ¦µÄλÖã¬ÐźÅÁ¿ÊÇÔÚÕÒ¹ØÏµµÄʱºò¶¨ºÃµÄ£¡Ò» ¸öÒ»¸ö¹ØÏµÕÒ£¬²»ÒªÏÓÂé·³ 4£©¸³ºÃ³õÖµ 5£©×¢Òâϸ½Ú£¨ÊÇ·ñÐèҪѭ»·£©

PVÆ¥Å䣬µ«´æÔÚ if--else Óï¾Öʱ»áÓÐÎÊÌ⣬ÐźÅÁ¿µÄ²Ù×÷£¬Ö»ÄܳöÏÖÔÚP VÖУ¬¶ø²»»á ³öÏÖÔÚP,VÓï¾äÖ®Í⣬ÇÒ²»ÒªÐ´³öÓÐËÀËøµÄ³ÌÐò¡£ Îå. ½ø³ÌͨÐÅ

½ø³ÌͨÐŰüÀ¨Í¬²½£¬»¥³â£¬±¾²¿·ÖÊǸ߼¶µÄ½ø³ÌͨÐÅ£¬P,VÊǼòµ¥½ø³ÌͨÐÅ£¡ linuxÖУ¬ÐźÅÁ¿£¬¹²ÏíÄڴ棬ÏûÏ¢¶ÓÁУ¬Socket£¬¹ÜµÀ¾ùÊÇͨÐÅ»úÖÆ WindowsÖУ¬»¥³â¶ÓÁУ¬ÐźÅÁ¿¶ÔÏóµÈ¾ùÊÇͨÐÅ»úÖÆ¡£

·ÖΪÈçϼ¸Àࣺ 1. ¹²ÏíÄÚ´æ

Óë¶Á--дÕßÎÊÌâÊÇͬһģÐÍ£¬ÈôP¸ö½ø³Ì»¥ÏàͨÐÅ£¨Öص㣩£¬ÒªÁ˽âʵÏÖºÍÉè¼ÆÏ¸½Ú

1.1 ÉèÖù²ÏíÄÚ´æ´æÈ¡·½Ê½

¶ÁÕßÈçºÎ»¥³â£¬Ð´ÕßÈçºÎ»¥³â 1.2ÏûÏ¢´«µÝ·½Ê½(OS ÖÐÓõĶà) Éè¼ÆÒªµã£º

1)Á½¸ö½ø³Ì¼äÊÕ·¢ÏûϢģÐÍ send-receiveµÄ²Ù×÷À´Íê³É

ÏûÏ¢µÄ´«µÝ»á²úÉúÈçÏÂÎÊÌ⣺·¢Ë͵ÄÏûÏ¢»á²»»á¶ªÊ§£¬½â¾ö·½°¸£º×÷Ò»¸ö»Ø´ð £»

Ó¦´ð»á²»»á¶ª£¡

ÖØ·¢Ò»ÌõÏûÏ¢£¬½ÓÊܵÀÁ½¸öͬһÐÅÏ¢Ëù´øÀ´µÄÎÊÌ⣡ ÏûÏ¢±¾Éí»á²»»áÓвî´í£¡

2£© ¸øË­·¢ÏûÏ¢£¬½ø³ÌµÄÃüÃû»á²»»á²úÉú¶þÒåÐÔ£¡ 3£©

ÒÔÉÏÎÊÌâ»áÔÚ¶à»úϵͳÖгöÏÖ

ÈçºÎÖªµÀËù·¢µÄÏûÏ¢ÊÇÕýÈ·µÄ£¬ºÏ·¨µÄ£¨°²È«ÐÔ£© 4£©Óм¸ÖÖ¿ÉÄÜÐÔÀ´ÊµÏÖÏûÏ¢µÄ´«µÝ ÓÐ×èÈû£¬ÎÞ×èÈû£¬ÓÐÎÞ»º³å a:ÏûÏ¢´«µÝÊÇ×î³£ÓõÄ

ϵͳÖлῪ±Ù³ö»º³åÇø£¬ÏµÍ³°ÑÏûÏ¢´ÓAµØÖ·¿Õ¼ä¸´ÖƵ½buffer

È»ºó´ÓbufferÖзŵ½ÏûÏ¢¶ÓÁÐÖУ¬¹Òµ½BµØÖ·¿Õ¼ä£¨½ÓÊܽø³ÌµÄµØÖ·¿Õ¼ä£© Õâ¸öbufferÊÇÓлº³åµÄ¡£

ÏûÏ¢»º³åÊÇ£ºÉú²ú----Ïû·ÑÕßÄ£ÐÍ b:ÐÅÏäÄ£ÐÍ

½¨Ò»¸öÐÅÏ䣬°ÑÏûÏ¢·ÅÔÚÐÅÏäÖÐ Ò»ÌײÙ×÷£º½¨ÐÅÏ䣬ÐÅÏäÂúÈçºÎ°ì c:ÓÐ/ÎÞ×èÈû

d:¹ÜµÀ£º½¨Á¢Á½¸ö½ø³ÌͨÐŵÄͨ·£¬ÊµÏÖʱÀûÓÃÁËÎļþϵͳ£¬ÔÚÎļþϵͳÖÐÖ§³Ö ͨ¹ý¶Á/дÎļþʵÏÖ! write---read!

Áù£º½ø³Ìµ÷¶È

´¦Àí»úµ÷¶È£ºÔÚÓÐЩÊéÉÏ·ÖΪÁ½¸ö²ã´Î 1£©£ºCPUµ÷¶È£¬2)Öм¶µ÷¶È £ºÁ½¼«µ÷¶È ÔÚÕâÀïÏÁÒåµÄ˵·¨¾ÍÊÇÑ¡ÔñÄÄЩ½ø³ÌÉÏCPU£¬¿¼ÂÇÒÔÏÂÎÊÌâ 1)ʲôԭÔò(what) 2)ʲôʱºò(when) 3)ÈçºÎ½øÐÐ(How)

1.what ʲôËã·¨£ºFIFO,ʱ¼äƬÂÖת·¨£¬ÓÅÏȼ¶µ÷¶È£¬¸ãÇåµ÷¶ÈÎÊÌâµÄÇø±ð

*FIFO£ºÒ»¸ö½ø³ÌÉÏCPUºó£¬³ý·ÇÓÉÓÚËü×ÔÉíµÄÔ­Òò£¬·ñÔòûÓнø³ÌÄܹ»´ò¶ÏËü£¬ £¨#»ùÓÚÓÅÏȼ¶µÄ²»¿É°þ¶áËã·¨£© ʱ¼äƬÂÖת·¨£¬Ê±¼äƬÓÃÍê¾ÍÇл»ÏÂÀ´

»ùÓÚÓÅÏȼ¶:1):ÇÀÕ¼:Ò»µ©ÓÐÁ˸ßÓÅÏȼ¶¾Í¿ÉÒÔÇл»Ô­À´ÔËÐеĽø³Ì£¡ 2£©£º²»¿ÉÇÀÕ¼

¿É±äµÄÒ»¶¨ÊǶ¯Ì¬µÄ£¬¹Ì¶¨µÄÒ»¶¨ÊǾ²Ì¬µÄ¡£ 2»úÖÆºÍ²ßÂÔÎÊÌâÔڴ˲¿·ÖÓÐËùÌåÏÖ ²ßÂÔÊÇÓû§¿ÉÑ¡µÄ »úÖÆÊǶ¨ºÃµÄ

×îа汾µÄOSÒªÇóÇÀÕ¼

¶à¼¶ÅÅÁУº¼¸ÖÖ²ßÂԵĽáºÏ£¨Ê±¼äƬ£¬ÓÅÏȼ¶£¬ÇÀÕ¼£©

2)ʱ»ú(WHEN) ʲôʱºò×öʲô¹¤×÷

ʲôʱºò½øÐнø³Ìµ÷¶È£ºÒ»¸ö½ø³ÌÔËÐÐÍê±Ï£¬½ø³Ì³ö´í£¬Ê±¼äƬµ½£¬»ùÓÚÓÅÏȼ¶µÄ¿ÉÇÀÕ¼ ʽ

µ÷¶È£¬×Ô¼ºÓÃ×èÈûÔ­Óォ×Ô¼º×èÈû

3£©ÈçºÎ½øÐÐÉÏÏÂÎÄÇл»(HOW)

Ò»¸ö½ø³ÌÈóöÀ´£¬ÁíÒ»¸ö½ø³ÌÉÏÈ¥¡£

ÈçºÎ±£´æ±»»»ÏÂÀ´µÄÏÖ³¡£¬ÒÔ¼°ÈçºÎ½«Òª»»ÉÏÈ¥µÄÏÖ³¡»»ÉÏÈ¥£¬ ÊÇÓûã±àÀ´×öµÄ

Ï̺߳ͽø³ÌÖ®¼äµÄ¹ØÏµÎÊÌ⣺

Èç¹ûͬһϵͳÖÐÏ̺߳ͽø³Ì¶¼´æÔÚ£¬ËûÃǵĹØÏµ£º Ô­À´½ø³Ì£º×ÊÔ´·ÖÅäºÍCPUµ÷¶ÈµÄµ¥Î»£»

½Ó×Å£º½ø³ÌÁ£¶È±äС£¬½ø³ÌÖ»¹Ü·ÖÅä×ÊÔ´£¬Ïß³ÌÊÇCPUµ÷¶Èµ¥Î»£¬ Ï̵߳ÄÒýÈ룺´Ó×ÊԴϵͳ¿ªÏúµÄ½Ç¶È£¬ÏµÍ³Ê¹ÓõĽǶȡ£