1¡¢ÒýÑÔ
VxWorks²Ù×÷ϵͳÊÇWindRiver¹«Ë¾¿ª·¢µÄÒ»ÖÖ¸ßÐÔÄܵÄǶÈëʽʵʱ²Ù×÷ϵͳ¡£Ëü´øÓÐÒ»¸ö¹¦ÄÜÇ¿´óµÄ¼¯³É¿ª·¢ÏµÍ³»·¾³Tornado¡£
VxWorks¾ßÓÐÈí¼þÉú³É´úÂëС¡¢ÊµÊ±ÐÔÇ¿¼°ÏìÓ¦ËٶȿìµÈÌص㣬ÌرðÊʺÏÓÚ¾ßÓÐʵʱºÍ¶àÈÎÎñÒªÇóµÄϵͳ¡£VxWorks×Ô20ÊÀ¼Í80Äê´úÎÊÊÀÒÔÀ´£¬ÒÔÆä¸ßÐÔÄÜ¡¢¸ß¿É¿¿ÐÔ¡¢¸ßʵʱÐÔµÈÌصã³ÉΪʵʱ²Ù×÷ϵͳÖÐ×î¾ßÌØÉ«µÄϵͳ¡£×Ô1996ÄêµÇ½Öйú£¬¶Ì¶Ì¼¸Äê¾ÍÒѳÉΪ¹ú·À¡¢¹¤Òµ×Ô¶¯»¯¡¢ÍøÂçͨÐÅ¡¢º½¿Õº½Ìì¡¢Ò½ÁÆÒÇÆ÷¡¢×´Ì¬¼à¿ØÒÔ¼°Ïû·Ñµç×Ó²úÆ·µÈǶÈëʽʵʱÁìÓòµÄÊ×Ñ¡²Ù×÷ϵͳ¡£ÓÉÓÚǶÈëʽʵʱ²Ù×÷ϵͳÔÚÄں˷½Ãæ¾ßÓÐ×ÔÉíµÄÌص㣬±¾ÎÄ×ÅÖضÔʵʱÄÚºËÖÐÈÎÎñµ÷¶È½øÐÐÁËÏêϸ·ÖÎö¡£
2¡¢ÈÎÎñµ÷¶È¸ÅÊö
2.1µ÷¶ÈµÄ¸ÅÄî
¹¹³ÉÓ¦ÓÃÈí¼þϵͳµÄ³ÌÐò¼¯ºÏÖУ¬¶ÀÁ¢µÄ¡¢Ï໥×÷ÓõijÌÐòµ¥Ôª£¬ÔÚÆäÖ´ÐÐʱ³Æ֮ΪÈÎÎñ¡£µ¥¸öCPUÖУ¬¶àÈÎÎñ»úÖÆÖÆÔìÁËÒ»¸ö¶à¸öÈÎÎñͬʱִÐеļÙÏó¡£ÆäʵϵͳֻÊǸù¾ÝÒ»¸ö¶àÈÎÎñµ÷¶ÈËã·¨£¬½«Äں˲åÈëµ½ÕâЩÈÎÎñÖÐÖ´ÐС£ÊµÊ±ÏµÍ³VxWorksµÄÒ»¸öÈÎÎñ¿ÉÓжàÖÖ״̬£¬µ«×î»ù±¾µÄ״̬ÓÐÒÔÏÂËÄÖÖ£º
1)¾ÍÐ÷̬(Ready)£ºÈÎÎñÖ»µÈ´ýϵͳ·ÖÅäCUP×ÊÔ´¡£ 2)¹ÒÆð̬(Pend)£ºÈÎÎñÐèµÈ´ýijЩ²»¿ÉÀûÓõÄ×ÊÔ´¶ø±»×èÈû¡£ 3)ÐÝÃß̬(Sleep)£ºÈç¹ûϵͳ²»ÐèҪijһ¸öÈÎÎñ¹¤×÷£¬ÔòÕâ¸öÈÎÎñ´¦ÓÚÐÝÃß״̬¡£ 4)ÑÓ³Ù̬(Delay)£ºÈÎÎñ±»ÑÓ³ÙʱËù´¦µÄ״̬¡£
µ±ÏµÍ³º¯Êý¶Ôijһ¸öÈÎÎñ½øÐвÙ×÷ʱ£¬ÈÎÎñ´ÓÒ»ÖÖ״̬ԾǨµ½ÁíÒ»ÖÖ״̬¡£´¦ÓÚÈÎһ״̬µÄÈÎÎñ¶¼¿É±»É¾³ý¡£VxWorksµÄÈÎÎñԾǨÈçͼ1Ëùʾ¡£
ÈÎÎñÓÉϵͳÄں˵÷¶ÈÔËÐÐÒ»¶Î¹Ì¶¨³¤¶ÈµÄʱ¼ä£¬³ÆΪʱ¼äƬ¡£µ÷¶ÈÊÇָΪÈÎÎñ·ÖÅä×ÊÔ´ºÍʱ¼ä£¬Ê¹ÏµÍ³Âú×ãÌض¨µÄÐÔÄÜÒªÇó¡£µ÷¶ÈËã·¨µÄÄ¿µÄÊÇÔÚÕý³£Çé¿öÏ£¬¾¡¿ÉÄÜÂú×ãËùÓÐÈÎÎñµÄʱÏÞ£ºÔÚ·åÖµ¸ºÔØÌõ¼þÏ£¬±£Ö¤Ç¿ÊµÊ±ÈÎÎñÂú×ãʱÏÞ¡£ÒòΪʱÏÞÊÇÇø·ÖʵʱϵͳºÍ·ÇʵʱϵͳµÄ¹Ø¼üÒòËØ£¬Òò´Ëµ÷¶ÈËã·¨ÊÇʵʱϵͳµÄ»ù±¾ÎÊÌ⡣ʵʱ²Ù×÷ϵͳËù¾ßÓеÄÔËÐÐÐÔÄÜ£¬ÈçÍÌÍÂÁ¿µÄ´óС¡¢ÖÜתʱ¼äµÄ³¤¶Ì¡¢ÏàÓ¦µÄ¼°Ê±ÐԺͿÉÔ¤²âÐÔµÈÔںܴó³Ì¶ÈÉ϶¼È¡¾öÓÚʵʱµ÷¶È¡£
2.2µ÷¶ÈµÄÀàÐÍ
ËäÈ»µ÷¶ÈµÄÖ÷ҪĿµÄ¶¼ÊÇΪÁË·ÖÅä´¦Àí»ú£¬µ«ÔÚ²»Í¬µÄOSÖÐËù²ÉÓõĵ÷¶È·½Ê½ÊÇÍêÈ«²»Í¬µÄ¡£ÔÚÖ´Ðе÷¶ÈʱËù²ÉÓõĵ÷¶ÈËã·¨Ò²¿ÉÄܲ»Í¬¡£Òò´Ë£¬³£°´ÕÕµ÷¶ÈµÄ²ã´Î°Ñµ÷¶È·Ö³É¸ß¼¶¡¢Öм¶ºÍµÍ¼¶µ÷¶È¡£
¸ß¼¶µ÷¶ÈÓֳƳ¤³Ìµ÷¶È»ò×÷Òµµ÷¶È£¬ÓÃÓÚ¾ö¶¨°ÑÍâ´æÉÏ´¦Óں󱸶ÓÁÐÖеÄÄÄЩ×÷Òµµ÷ÈëÄڴ棬²¢ÎªËüÃÇ´´½¨½ø³Ì¡¢·ÖÅä±ØÒªµÄ×ÊÔ´£¬È»ºóÔÙ½«Ð´´½¨µÄ½ø³ÌÅÅÔÚ¾ÍÐ÷¶ÓÁÐÉÏ£¬×¼±¸Ö´ÐС£È»¶øÔÚʵʱϵͳÖУ¬ÎªÁËÄܼ°Ê±ÏìÓ¦£¬Óû§Í¨¹ý¼üÅÌÊäÈëµÄÊý¾Ý¶¼ÊÇÖ±½ÓËÍÈëÄڴ棬Òò¶øʵʱϵͳͨ³£²»ÐèÒª×÷Òµµ÷¶È¡£
Ö춵÷¶ÈÓÖ³ÆÖг̵÷¶È£¬ÒýÈëËüµÄÖ÷ҪĿµÄÊÇΪÁËÌá¸ßÄÚ´æÀûÓÃÂʺÍϵͳÍÌÍÂÁ¿¡£ËüʹÄÇЩÔÝʱ²»ÄÜÔËÐеĽø³Ì²»ÔÙÕ¼Óñ¦¹óµÄÄÚ´æ¿Õ¼ä£¬¶ø½«ËüÃǵ÷µ½Íâ´æÉÏÈ¥µÈ´ý£¬´ËʱµÄ״̬³ÆΪ¹ÒÆð״̬¡£µ±ÕâЩ½ø³ÌÖØо߱¸ÔËÐÐÌõ¼þ£¬ÇÒÄÚ´æÓÖÓпÕÏУ¬ÓÉÖ춵÷¶È¾ö¶¨£¬½«Íâ´æÉϵÄÄÇЩÖØо߱¸ÔËÐÐÌõ¼þµÄ¾ÍÐ÷½ø³ÌÖØе÷ÈëÄڴ棬²¢Ê¹ËüΪ¾ÍÐ÷״̬£¬¹ÒÔÚ¾ÍÐ÷¶ÓÁÐÉϵȴý½ø³Ìµ÷¶È¡£
µÍ¼¶µ÷¶ÈÓֳƽø³Ìµ÷¶È¡£Ëü¾ö¶¨¾ÍÐ÷¶ÓÁÐÖеÄÄĸö½ø³Ì½«»ñµÃ´¦Àí»ú£¬È»ºóÓÉ·ÖÅɳÌÐòÖ´ÐаѴ¦Àí»ú·ÖÅä¸ø¸Ã½ø³ÌµÄ²Ù×÷¡£½ø³Ìµ÷¶ÈÊÇ×î»ù±¾µÄÒ»ÖÖµ÷¶È£¬¸÷ÖÖOSÖж¼±ØÐëÅäÖÃÕ⼶µ÷¶È¡£½ø³Ìµ÷¶È¿É²ÉÓÃÏÂÊöÁ½ÖÖ·½Ê½¡£
1)·ÇÇÀÕ¼·½Ê½¡£
²ÉÓÃÕâÖÖµ÷¶È·½Ê½£¬Ò»µ©°Ñ´¦Àí»ú·ÖÅä¸øij½ø³Ìºó£¬±ãÈøýø³ÌÒ»Ö±Ö´ÐУ¬Ö±µ½¸Ã½ø³ÌÍê³É»ò·¢Éúijʼþ¶ø±»×èÈû£¬²ÅÔÙ°Ñ´¦Àí»ú·ÖÅä¸øÆäËû½ø³Ì£¬¾ö²»ÔÊÐíij½ø³ÌÇÀÕ¼ÒѾ·ÖÅä³öÈ¥µÄ´¦Àí»ú¡£ÏÔÈ»ËüÄÑÓÚÂú×ã½ô¼±ÈÎÎñµÄÒªÇó£¬ÊµÊ±ÏµÍ³Öв»Ò˲ÉÓÃÕâÖÖµ÷¶È·½Ê½¡£
2)ÇÀÕ¼·½Ê½¡£
ÔÊÐíµ÷¶È³ÌÐò¸ù¾ÝijÖÖÔÔò£¬È¥Í£Ö¹Ä³¸öÕýÔÚÖ´ÐеĽø³Ì£¬½«ÒÑ·ÖÅä¸ø¸Ã½ø³ÌµÄ´¦Àí»ú£¬ÖØзÖÅä¸øÁíÒ»½ø³Ì¡£ÇÀÕ¼µÄÔÔòÓУº
¢Ùʱ¼äƬÔÔò¡£¸÷½ø³Ì°´Ê±¼äƬÔËÐУ¬µ±Ò»¸öʱ¼äƬÓÃÍêºó£¬±ãÍ£Ö¹¸Ã½ø³ÌµÄÖ´ÐжøÖØнøÐе÷¶È¡£
¢ÚÓÅÏÈȨÔÔò¡£µ±Ò»¸ö½ø³Ìµ½À´Ê±£¬Èç¹ûÆäÓÅÏȼ¶±ÈÕýÔÚÖ´ÐеĽø³ÌµÄÓÅÏȼ¶¸ß£¬±ãÍ£Ö¹ÕýÔÚÖ´ÐеĽø³Ì£¬½«´¦Àí»ú·ÖÅä¸øÓÅÏȼ¶¸ßµÄ½ø³Ì£¬Ê¹Ö®Ö´ÐС£ÊµÊ±ÏµÍ³ÖÐÒ»°ã²ÉÓûùÓÚÓÅÏȼ¶µÄÇÀռʽµ÷¶ÈºÍÂÖתµ÷¶ÈµÄ½ø³Ìµ÷¶ÈºÍÖг̵÷¶ÈÏà½áºÏµÄµ÷¶È²ßÂÔ¡£Òò´Ë¼È¿É¾ßÓнϴóµÄÁé»îÐÔ£¬ÓÖÄÜ»ñµÃ¼«Ð¡µÄµ÷¶ÈÑÓ³Ù¡£
3¡¢ÈÎÎñµ÷¶È·ÖÎö
WindÄÚºËȱʡµ÷¶È»úÖÆΪ»ùÓÚÓÅÏȼ¶µÄÇÀռʽµ÷¶È¡£²ÉÓÃÕâÖÖ»úÖÆʱ£¬ÏµÍ³°Ñ´¦Àí»ú·ÖÅä¸øÓÅÏȼ¶×î¸ßµÄ½ø³Ì£¬Ê¹Ö®Ö´ÐС£Ò»µ©³öÏÖÁËÁíÒ»¸öÓÅÏȼ¶¸ü¸ßµÄ½ø³Ìʱ£¬½ø³Ìµ÷¶È³ÌÐò°þ¶áµ±Ç°ÈÎÎñµÄÖ´ÐУ¬½«´¦Àí»ú·ÖÅä¸ø¸ßÓÅÏȼ¶ÈÎÎñ¡£¶øÔÚÏàͬÓÅÏȼ¶µÄ¶à¸öÈÎÎñÖ®¼ä£¬²ÉÓÃʱ¼äƬÂÖתµ÷¶È»úÖÆ¡£²ÉÓÃÕâÖÖ»úÖÆʱ£¬µ±Ò»¸öÈÎÎñµ½´ïʱ£¬Ëü±»ÅÅÔÚÂÖת¶ÓÁеĺóÃ棬µÈ´ý·ÖÅä¸ø×Ô¼ºµÄʱ¼äƬµÄµ½À´£¬Èç¹ûÔÚʱ¼äƬÄÚûÓнáÊø£¬ÔòÔٵȴýÊôÓÚ×Ô¼ºµÄʱ¼äƬµÄµ½À´£¬Ö±µ½ÈÎÎñÍê³É¡£
3.1ÓÅÏȼ¶ÇÀռʽ
²ÉÓûùÓÚÓÅÏȼ¶µÄÇÀռʽµ÷¶È£¬ÏµÍ³ÖÐÿ¸öÈÎÎñ¶¼ÓÐÒ»¸ö½éÓÚ×î¸ß0µ½×îµÍ255Ö®¼äµÄÓÅÏȼ¶¡£ÈÎһʱ¿Ì£¬ÏµÍ³ÄÚºËÒ»µ©·¢ÏÖÒ»¸öÓÅÏȼ¶¸ü¸ßµÄÈÎÎñת±äΪ¾ÍÐ÷̬£¬Äں˾ͱ£´æµ±Ç°ÈÎÎñµÄÉÏÏÂÎIJ¢°Ñµ±Ç°ÈÎÎñ״̬ת»»Îª×èÈû̬£¬Í¬Ê±Çл»µ½Õâ¸ö¸ßÓÅÏȼ¶ÈÎÎñµÄÉÏÏÂÎÄÖ´ÐС£Èçͼ2£¬µÍÓÅÏȼ¶µÄtask1±»ÖÐÓÅÏȼ¶µÄtask2ÇÀÕ¼£¬task2ÓÖ±»¸ßÓÅÏȼ¶µÄtask3ÇÀÕ¼¡£
3.2ÂÖתµ÷¶ÈËã·¨
²ÉÓÃÂÖתµ÷¶ÈËã·¨£¬ÏµÍ³Èô¦ÓÚ¾ÍÐ÷̬µÄÓÅÏȼ¶ÏàͬµÄÒ»×éÈÎÎñÒÀ´ÎÂÖÁ÷Ö´ÐÐÔ¤ÏÈÈ·¶¨³¤¶ÈµÄʱ¼äƬ¡£ÕâÊÇÒ»ÖÖ´¦Àí»úƽ¾ù·ÖÅäµÄ·½·¨¡£Èç¹û²»Ê¹ÓÃÂÖתµ÷¶ÈËã·¨£¬ÓÅÏȼ¶ÏàͬµÄÒ»×éÈÎÎñÖеÚÒ»¸ö»ñµÃ´¦Àí»úµÄÈÎÎñ½«²»»á±»×èÈû¶ø¶ÀÕ¼´¦Àí»ú£¬Èç¹ûûÓÐ×èÈû»òÆäËûÇé¿ö·¢Éú£¬Ëü²»»á·ÅÆú´¦Àí»úµÄʹÓÃȨ¡£Èçͼ3£¬ÏàͬÓÅÏȼ¶µÄtask1¡¢task2ºÍtask3ƽ¾ù·ÖÅäÔ¤ÏÈÈ·¶¨µÄ´¦Àí»úʱ¼äƬ¡£
3.3ÇÀÕ¼µ÷¶ÈÓëÂÖתµ÷¶È»ìºÏ·½Ê½
ÓÐʱ£¬»ùÓÚÓÅÏȼ¶µÄÇÀռʽµ÷¶È¿ÉÓëÂÖתµ÷¶ÈÏà½áºÏ¡£µ±ÓÅÏȼ¶ÏàͬµÄÒ»×éÈÎÎñÒÀ´ÎÂÖÁ÷ƽ¾ù·ÖÅä´¦Àí»úʱ£¬ÈôÓиßÓÅÏȼ¶µÄÈÎÎñת±äΪ¾ÍÐ÷̬Ôò¿ÉÇÀÕ¼¸Ã×éÈÎÎñ¡£Ö±µ½ÔÙÒ»´Î·ûºÏÖ´ÐÐÌõ¼þʱ£¬¸Ã×éÈÎÎñ²Å¿ÉÔٴι²Ïí´¦Àí»ú¡£Èçͼ4£¬ÏàͬÓÅÏȼ¶µÄtask1¡¢task2ºÍtask3ÂÖÁ÷Õ¼Óд¦Àí»úʱ£¬¸ßÓÚ¸Ã×éÓÅÏȼ¶µÄtask4ÇÀÕ¼´¦Àí»ú£¬µÈtask4Ö´ÐнáÊø£¬¸Ã×éÈÎÎñÔٴι²Ïí´¦Àí»ú¡£
ΪÁËÈÎÎñ¿ØÖƵÄÁé»îÐÔ£¬windÄں˻¹ÌṩÁ˶¯Ì¬ÓÅÏȼ¶»úÖÆ£¬ÈÎÎñµÄÓÅÏȼ¶ÔÚÔËÐÐÆÚ¼ä¿É¶¯Ì¬µØ±ä»¯¡£Í¬Ê±£¬ÎªÁË·ÀÖ¹ÓÅÏȼ¶·´×ª£¬»¹¾ßÓÐÓÅÏȼ¶¼Ì³Ð»úÖÆ£¬Í¨¹ýʹÓû¥³âÐźÅÁ¿¿ÉÒÔ·ÀÖ¹¸ßÓÅÏȼ¶µÄÈÎÎñ±»ÆȵȴýÒ»¶Î²»È·¶¨Ê±¼ä£¬Ö±µ½Ò»¸öµÍÓÅÏȼ¶ÈÎÎñÍê³É¡£
4¡¢½áÂÛ
ÈÎÎñÊÇ´úÂëÔËÐеÄÒ»¸öÓ³Ïñ£¬´ÓϵͳµÄ½Ç¶ÈÀ´¿´£¬ÈÎÎñÊǾºÕùϵͳ×ÊÔ´µÄ×îСÔËÐе¥Ôª¡£vxworksÄÚºËʹÈÎÎñÄÜ¿ìËÙ¹²ÏíϵͳµÄ¾ø´ó²¿·Ö×ÊÔ´£¬Í¬Ê±ÓжÀÁ¢µÄÉÏÏÂÎÄÀ´¿ØÖƸö±ðÏ̵߳ÄÖ´ÐС£Äں˵÷¶ÈÊÇÒ»¸öʵʱϵͳµÄºËÐÄ£¬ËüµÄºÃ»µÖ±½ÓÓ°ÏìÕû¸öϵͳµÄºÃ»µ£¬Í¨¹ý¶ÔÕâÖÖÄں˵÷¶È·ÖÎö£¬¿ÉÒÔ¸üÉîÈëµÄÀí½âʵʱ²Ù×÷ϵͳÉè¼ÆµÄ¶Àµ½Ö®´¦¡£ |