BBSˮľÇ廪վ¡Ã¾«»ªÇø

·¢ÐÅÈË: xog (Ñ©½£ÐÄ), ÐÅÇø: Linux        
±ê  Ìâ: RTLinux ¼ò½é(1) 
·¢ÐÅÕ¾: BBS Ë®Ä¾Ç廪վ (Wed Jan 12 09:54:29 2000) 
 
 
  LinuxµÄÓ¦ÓÃÖ÷ÒªÓÐÍøÂç·þÎñÆ÷¡¢×ÀÃæÓ¦Óᢼ°Ç¶ÈëʽʵʱӦÓ㬶ÔÓÚ 
LinuxµÄǶÈëʽӦÓã¬Ïà¶ÔÀ´ËµÊÇһƬ¿Õ°×¡£ 
ÎÒÕýÔÚ×öLinuxϵÄʵʱӦÓõÄÏîÄ¿,ÏÖÔÚ°ÑÎÒÕûÀíµÄһЩÎĵµÌù³öÀ´, 
Ï£ÍûÆðµ½Å×שÒýÓñµÄ×÷ÓÃ,²¢Ï£ÍûºÍÓй²Í¬ÐËȤµÄÅóÓÑÒ»Æð̽ÌÖ.                      
 
 
   POSIXÊÇΪ±£Ö¤UNIXϵͳµÄ¼æÈݺͿÉÒÆÖ²ÐÒ¶ø½¨Á¢µÄ¹ú¼Ê±ê×¼£¬ÔÚPOSIX1.bÖУ¬¹æ¶¨ 
ÁËһЩ 
ÊµÊ±ÌØÐÔ£¬LinuxÖÐÒÑ¿ªÊ¼ÊµÏÖÕâÐ©ÌØÐÔ£¬µ«ÓÉÓÚLinuxÄں˵IJ»¿ÉÇÀÏÈÐÔ£¨nonpreemta 
ble£©£¬ 
ÎÞ·¨ÔÚ±ê×¼µÄLinux»·¾³ÏÂʵÏÖÕæÕýµÄʵʱӦÓ᣶øRTLinuxÓÃÇÉÃîµÄ¼¼Êõ½â¾öÁË´ËÎÊÌâ 
¡£ 
   RTLinux²¢Ã»ÓÐÖØÐ´LinuxµÄÄںˣ¬ÒòΪÕâÑùµÄ¹¤×÷Á¿»á·Ç³£´ó£¬¶øÇÒ½«»áʧȥLinux 
µÄ¼æÈÝ 
ÐÔ¡£RTLinuxʵÏÖÁËÒ»¸ö¸ßЧµÄ¿ÉÇÀÏȵÄʵʱµ÷¶ÈºËÐÄ£¬²¢°ÑLinux×÷Ϊ´ËºËÐĵÄÒ»¸öÓÅ 
Ïȼ¶×î 
µÍµÄ½ø³ÌÔËÐУ¬Óû§¿ÉÒÔ±àд×Ô¼ºµÄʵʱ½ø³Ì£¬ºÍ±ê×¼Linux¹²Í¬ÔËÐС£ 
   ÎªÁË´ïµ½ÖжϵÄʵʱÏìÓ¦£¬RTLinux½ÓÊÕËùÓÐÖжϣ¬È»ºó´«¸øLinuxÄں˴¦Àí£¬Òò´Ëµ± 
Linux 
ÄÚºËÆÁ±ÎÖжÏʱ£¬±ó¹Ë²»Ó°ÏìÖжϵĴ¦Àí£¬¾Ý²âÊÔ£¬ÔÚPentium 120µÄPCÉÏ£¬LinuxÖжϠ
ÑÓ³ÙÊÇ 
20 uS×óÓÒ¡£ 
3.1 RTLinuxµÄ½Ó¿Ú 
   int RTLoad£¨const char *FILE£©£º×°ÔØÒ»¸öRTLinuxʵʱÈÎÎñ£¬²¢·µ»ØÆäID¡£ 
   int RTRun£¨int pid£©£ºÔËÐÐÓÉRTLoad×°ÔØµÄÈÎÎñ£¬³õʼÓÅÏȼ¶ÎªµÍ¡£ 
   int RTKill£¨int pid£©£ºÖÕֹʵʱ½ø³Ì¡£ 
   int RTGet_time£¨RTime *t£©£º·µ»Ø´ÓϵͳÆô¶¯µ½º¯Êýµ÷ÓÃÖ¹µÄÊÇÖеδïÊý£¬³£Á¿ 
       RT_ticks_per_sec ±íʾÿÃëʱÖӵδïÊý¡£ 
   int RTset_params(RTime *start,RTime *period,int priority)£ºÉèÖÃʵʱÈÎÎñµÄ 
 
       ²ÎÊý¡£ 
   int RTwait_start(RTime *start,RTime *period,int priority£©£º¹ÒÆðʵʱ½ø³ÌÖ± 
 
       µ½Æô¶¯Ê±¼äµ½´ï£¬²¢ÖØÉèÓÅÏȼ¶¡£ 
   int RTwait_period():¹ÒÆðʵʱ½ø³ÌÖ±µ½ÏÂÒ»¸öµ÷¶ÈÖÜÆÚ¡1 
1.2 RTLinuxµÄ½ø³ÌͨѶ»úÖÆ 
   RTLinuxÖдæÔÚÁ½ÖÖ½ø³Ì:ʵʱ½ø³Ì£¬ÔËÐÐÔÚʵʱºËÐÄÏ£¬ÆÕͨ½ø³Ì£¬ÔËÐÐÔÚÆÕͨLin 
uxºËÐÄ 
Ï£¬LinuxºËÐĿɱ»ÊµÊ±½ø³ÌÇÀÏÈ¡£ÊµÊ±½ø³Ì¼äµÄͨÐŲÉÓÃÐ޸ĹýµÄ UNIX V IPC»úÖÆ£º 
¹²ÏíÄÚ 
´æ£¬ÐźźÍÏûÏ¢¶ÓÁС£¶øÊµÊ±½ø³ÌºÍÆÕͨ½ø³ÌµÄͨÐŲÉÓÃFIFO£¬½Ó¿ÚÈçÏ£º 
   int RTfifo_creat(unsigned int fifo,int size): ´´½¨fifo£¬²¢·ÖÅäsize×Ö½ÚµÄÊý 
 
       ¾ÝÈÝÁ¿£¬fifoµÄ±àºÅ´Ó0µ½RT_MAX_FIFO-1£¬fifoµÄÊýÄ¿ÊÇÈ«¾Ö±äÁ¿ 
   int RTififo_destroy(unsigned int fifo):ɾ³ýÒ»¸öfifo¡£ 
   int RTfifo_get(unsigned int fifo,char *buf,int count):´Ófifo¶ÁÈ¡count×Ö½Ú 
 
       µÄÊý¾Ý£¬ÈçÎÞ×ã¹»Êý¾Ý£¬Ôò·µ»Ø-1£¬·ñÔò·µ»Øcount¡£ 
   int RTfifo_put(unsigned int fifo,char *buf,int count):дÈëfifo count×Ö½Ú 
       µÄÊý¾Ý£¬ÈçÎÞ×ã¹»¿Õ¼ä£¬Ôò·µ»Ø-1£¬·ñÔò·µ»Øcount¡£ 
 
-- 
¡ù À´Ô´:¡¤BBS Ë®Ä¾Ç廪վ smth.org¡¤[FROM: 39_38.xjtu.edu.] 

BBSˮľÇ廪վ¡Ã¾«»ªÇø