Windows CE 5.0ʵʱϵͳ
ÈθС£
Äں˸ú×Ù³ÌÐò£¨Kernel Tracker£©£º
Ô¶³ÌÄں˸ú×Ù³ÌÐò¿ÉÓÃÓÚ¼ì²âÔËÐÐÉ豸ÉϵĽø³Ì¡¢Ï̺߳ÍÖжÏÖ®¼äµÄ½»»¥×÷ÓùØÏµ¡£ÏÂÃæÊÇһЩÄں˸ú×Ù³ÌÐòÖм¯³ÉµÄÑù±¾´úÂ롣ʵÀýÖеÄÓ¦ÓÃÔËÐеÄÊÇWindows CEÉ豸µÄÎļþϵͳ£¬ÆäÖÐÒ»¸öÎļþ¼ÐÔŲ́ʽ»ú·ÅÖÃÊÍ·ÅÎļþ£¬´ËÓ¦ÓÃΪפÁôÔŲ́ʽ»úÖеÄÿ¸öÎļþÉú³ÉÁËÒ»¸öKITL£¨Äں˶ÀÁ¢´«Êä²ã£©Öжϡ£Òò´Ë£¬ÎÒÃÇ¿ÉÒÔÔÚÔËÐеIJÙ×÷ϵͳ¾µÏñÖÐÇåÎúµØ¹Û²ìÓ¦ÓÃÓëÖжϼäµÄ½»»¥×÷Óã¬Ò²¿ÉÒÔÈ·¶¨Ó¦ÓÃÏß³ÌÔËÐÐÓëKITLÖжϴ¦Àí¼äµÄʱ¼äÔöÁ¿¡£
×÷Ϊһ¸öÓû§½çÃæ£¬Äں˸ú×Ù³ÌÐò±»»®·ÖΪÈý¸öÇøÓò£¬×ó´°¸ñÏÔʾÖжϺͽø³Ì£¬Öд°¸ñÏÔʾÏß³Ì/½ø³Ì¼äµÄ½»»¥×÷Óã¬ÓÒ´°¸ñ£¨Î´ÏÔʾ×Ö£©ÖеÄÄÚÈÝÊǶÔÖд°¸ñʹÓõķûºÅµÄ½âÊÍ¡£ÎÒÃÇ¿ÉÒÔÔÚ¾µÏñµ×²¿Çå³þµØ¿´µ½WalkTreeÓ¦ÓÃÕýÔÚÔËÐУ¬µ«¿´²»µ½ÔÚÓ¦ÓúÍÄں˻·¾³Öл¨·ÑµÄʱ¼ä¡£
ͼ2. Ô¶³ÌÄں˸ú×Ù³ÌÐòÓû§½çÃæ
Äں˸ú×Ù³ÌÐò¿ÉÒÔÔÚʼþ¼äÉèÖÃʱ¼ä±ê¼Ç£¬²¢ÄÜÔÚ״̬À¸ÉÏÏÔʾ²»Í¬µÄʱ¼ä¡£Äں˸ú×Ù³ÌÐòÓÐһЩԤÏȶ¨ÒåµÄʼþ£¬Èçͬ²½Ê¼þ¡¢»ìºÏʼþºÍÓû§¶¨ÒåʼþµÈ¡£´ËÍ⣬Ëü»¹ÄÜÏÔʾÏß³Ì״̬£¨ÈçÔËÐС¢Ëø¶¨¡¢ÐÝÃߺÍÒÆÖ²µÈ£©¡£ÔÚÏÂͼÖУ¬µ±´ÓÄں˷µ»Øµ½Ïß³ÌÖ´ÐÐʱ£¬ÎÒÃÇÉèÖÃÁ˵ÚÒ»¸öʱ¼ä±ê¼Ç£¬¶øµ±´ÓÏ̻߳·¾³Çл»µ½ÄÚºËʱ£¬ÎÒÃÇÉèÖÃÁ˵ڶþ¸öʱ¼ä±ê¼Ç¡£
ͼ3. Ô¶³ÌÄں˸ú×Ù³ÌÐò ¡ª ʱ¼äÔöÁ¿
Äں˸ú×Ù³ÌÐò¹¤¾ß¿ÉÓÃÓÚ¶¨Î»ºÍ¼ì²âËÀËøÇé¿ö£¬»¹¿ÉÒÔ¼ì²â»¨·ÑÔÚÓ¦ÓúÍÇý¶¯³ÌÐòÏß³ÌÉϵÄʱ¼ä¡£ÔËÐÐÄں˸ú×Ù³ÌÐòÒ²Ðí½«Ê¹ÏµÍ³ÓÃʱÔö¼Ó2£¥£3£¥£¬µ«²»»áÓ°Ïì²Ù×÷ϵͳµÄÕûÌ嶨ʱ¡£
¼Æ»®³ÌÐò¼ÆÊ±·ÖÎö
¸Ã³ÌÐòΪ²Ù×÷ϵͳ»·¾³µÄÀ©Õ¹¼¯ÌṩÁ˲âÊÔ±ê×¼¡£¸ÃÀ©Õ¹¼¯À´×Ô³¬³öProtected Server Library £¨PSL£©µÄÄÚ²¿µ÷Ó㬶øÕâÖÖµ÷ÓÃÔòÀ´×Ô¼¯³Éµ½²Ù×÷ϵͳÆäÖÐÒ»¸ö½ø³ÌµÄÓ¦Óã¨ÈçFileSys.exe¡¢Device.exeµÈ£©¡£¸Ã²âÊÔ·ÖΪÒÔÏÂ7¸ö»ù±¾×飺
1.ÁÙ½ç¶Î
2.ʼþÉèÖ㻽ÐÑ
3.Ðźŷ¢³ö£½ÓÊÕ
4.»¥³âËø
5.×Ô¶¯·ÅÆúÂÊ
6.PSL APIµ÷ÓÿªÏú
7.»¥ËøAPI£¨µÝ¼õ¡¢µÝÔö¡¢²âÊÔ½»»»¡¢½»»»£©
ÎÒÃÇÀ´¿´Ò»Ï¼¸Ïî²âÊÔ½á¹û£º
===================================================================
| 0.01 | IP = NO | CS = NO | 1 IPS
-------------------------------------------------------------------
EnterCriticalSection traditional (blocking) without priority inversion :
Time from a higher priority thread calling EnterCS (blocked) to a lower
priority runnable thread getting run
-------------------------------------------------------------------
| Max Time = 13.409 ¦Ìs
| Min Time = 7.543 ¦Ìs
| Avg Time = 8.389 ¦Ìs
====================================================================
===================================================================
| 0.02 | IP = NO | CS = NO | 1000 IPS
-------------------------------------------------------------------
EnterCriticalSection fastpath (uncontested)
-------------------------------------------------------------------
| Subtracting out base result of 12 ticks
| Max Time = 0.064 ¦Ìs
| Min Time = 0.061 ¦Ìs
| Avg Time = 0.061 ¦Ìs
===================================================================
½«ÕâЩ²âÊÔ½á¹ûÓ뻨·ÑÔÚ´¦ÀíEnterCrticalSection()º¯Êýµ÷ÓÃÉϵÄʱ¼ä½øÐбȽϡ£µ÷Óô˺¯ÊýµÄ;¾¶ÓÐÁ½ÖÖ¡£µÚÒ»ÖÖ·½·¨½Ï¿ì½Ý£¬¾ÍÊÇͨ¹ýʹÓÃÁÙ½ç¶Î£¬ÊµÊ©ÏòÄÚºË×ªÒÆ£¬À´½â¾ö×ÊÔ´ÕùÓÃÎÊÌâ¡£µÚ¶þÖÖ·½·¨¹á´©Õû¸öµ÷Óýø³Ì£¬ÆäʱÒòΪ²»´æÔÚÁÙ½ç¶ÎÕùÓÃÎÊÌ⣬Òò¶øËÙ¶ÈÃ÷ÏÔÌáÉý¡££¨´ËÀý¿ÉÒÔ½âÊÍΪʲôÁÙ½ç¶ÎÊÇͬ²½µÄÊ×Òª¿¼ÂÇÒòËØ¡££©
ÖжϼÆÊ±·ÖÎö£¨ILTIMING£©
ÖжϼÆÊ±·ÖÎö¿ÉÒÔ²âÁ¿ÏµÍ³ÖеÄÖжÏÑÓ³Ù¡£¸Ã¹¤¾ßʹÓÃÖî¶àOAL£¨OEMÊÊÅä²ã£©Ö§³Ö¹¦ÄܲâÁ¿ISRºÍISTµÄÖжÏÏìӦʱ¼ä¡£ÕâЩÊý×Ö¶ÔÓÚÁ˽âϵͳµÄÏÞÖÆÖÁ¹ØÖØÒª¡£
ÎÒÃÇÀ´¿´Ò»¿´»ùÓÚAMD K6 500MhzµÄCEPCϵͳµÄÊý×Ö¡£
±í3. dwOEMTPoolSize = 16 £¨CEPCµÄ³ö³§Ä¬ÈÏÖµ£©
Ôڴ˲åÈëÎļþ½áÊø±êʶ>Windows CEºÍӲʵʱ²Ù×÷ϵͳµÄOMAC¶¨ÒåÎǺϣ¬Ëü°²×°Á˹¹½¨¡¢²âÊԺͲ¿ÊðʵʱÉ豸ËùÐèµÄ¹¤¾ß¼°×ÊÔ´¡£ËùÓÐÕâЩ¹¤¾ß£ºÄں˸ú×Ù³ÌÐò¡¢Ô¶³Ìµ÷ÓÃÆÀ²â³ÌÐò¡¢¼Æ»®³ÌÐò¼ÆÊ±·ÖÎöºÍÖжϼÆÊ±·ÖÎöÐͬ¹¤×÷£¬¿ÉÒÔ°ïÖúÄúÔÚ×Ô¼ºµÄƽ̨É϶ÔWindows CEµÄʵʱÄÜÁ¦½øÐÐÆÀ¹À¡£
ÈçÐèÁ˽â¸ü¶àÐÅÏ¢£¬ÇëÔĶÁ£º
.NET Compact FrameworkµÄʵʱÐÔÄÜ
Maarten Struys
Michel Verhagen
PTSÈí¼þ
http://msdn.microsoft.com/library/en-us/dncenet/html/Real-Time_N
ǶÈëʽÐÂΊǶÈëʽ×ÊÁÏ Ç¶ÈëʽÅàѵ ǶÈëʽlinux ǶÈëʽϵͳ ǶÈëʽ¿ª·¢ ǶÈëʽ Ïà¹ØÎÄÕ£º
