LinuxÄÚºËÇÀռʵÏÖ»úÖÆ·ÖÎö
LinuxÄÚºËÇÀռʵÏÖ»úÖÆ·ÖÎö
¡¾ÕªÒª¡¿±¾ÎÄÏê½âÁËLinuxÄÚºËÇÀռʵÏÖ»úÖÆ¡£Ê×ÏȽéÉÜÁËÄÚºËÇÀÕ¼ºÍÓû§ÇÀÕ¼µÄ¸ÅÄîºÍÇø±ð£¬½Ó×Å·ÖÎöÁ˲»¿ÉÇÀÕ¼Äں˵ÄÌØµã¼°ÊµÊ±ÏµÍ³ÖÐʵÏÖÄÚºËÇÀÕ¼µÄ±ØÒªÐÔ¡£È»ºó·ÖÎöÁ˽ûÖ¹ÄÚºËÇÀÕ¼µÄÇé¿öºÍÄÚºËÇÀÕ¼µÄʱ»ú£¬×îºó½éÉÜÁËʵÏÖÇÀÕ¼ÄÚºËËù×öµÄ¸Ä¶¯ÒÔ¼°ºÎʱÐèÒªÖØÐµ÷¶È¡£
¡¾¹Ø¼ü×Ö¡¿ÄÚºËÇÀÕ¼£¬Óû§ÇÀÕ¼£¬Öжϣ¬ ʵʱÐÔ£¬×ÔÐýËø£¬ÇÀռʱ»ú£¬µ÷¶Èʱ»ú£¬schedule£¬preempt count
1 ÄÚºËÇÀÕ¼¸ÅÊö
2.6еĿÉÇÀռʽÄÚºËÊÇÖ¸ÄÚºËÇÀÕ¼£¬¼´µ±½ø³ÌλÓÚÄں˿ռäʱ£¬ÓÐÒ»¸ö¸ü¸ßÓÅÏȼ¶µÄÈÎÎñ³öÏÖʱ£¬Èç¹ûµ±Ç°ÄÚºËÔÊÐíÇÀÕ¼£¬Ôò¿ÉÒÔ½«µ±Ç°ÈÎÎñ¹ÒÆð£¬Ö´ÐÐÓÅÏȼ¶¸ü¸ßµÄ½ø³Ì¡£
ÔÚ2.5.4°æ±¾Ö®Ç°£¬LinuxÄÚºËÊDz»¿ÉÇÀÕ¼µÄ£¬¸ßÓÅÏȼ¶µÄ½ø³Ì²»ÄÜÖÐÖ¹ÕýÔÚÄÚºËÖÐÔËÐеĵÍÓÅÏȼ¶µÄ½ø³Ì¶øÇÀÕ¼CPUÔËÐС£½ø³ÌÒ»µ©´¦ÓÚºËÐÄ̬(ÀýÈçÓû§½ø³ÌÖ´ÐÐϵͳµ÷ÓÃ)£¬Ôò³ý·Ç½ø³Ì×ÔÔ¸·ÅÆúCPU£¬·ñÔò¸Ã½ø³Ì½«Ò»Ö±ÔËÐÐÏÂÈ¥£¬Ö±ÖÁÍê³É»òÍ˳öÄںˡ£Óë´ËÏà·´£¬Ò»¸ö¿ÉÇÀÕ¼µÄLinuxÄں˿ÉÒÔÈÃLinuxÄÚºËÈçͬÓû§¿Õ¼äÒ»ÑùÔÊÐí±»ÇÀÕ¼¡£µ±Ò»¸ö¸ßÓÅÏȼ¶µÄ½ø³Ìµ½´ïʱ£¬²»¹Üµ±Ç°½ø³Ì´¦ÓÚÓû§Ì¬»¹ÊǺËÐÄ̬£¬Èç¹ûµ±Ç°ÔÊÐíÇÀÕ¼£¬¿ÉÇÀÕ¼Äں˵ÄLinux¶¼»áµ÷¶È¸ßÓÅÏȼ¶µÄ½ø³ÌÔËÐС£
2 Óû§ÇÀÕ¼
Äں˼´½«·µ»ØÓû§¿Õ¼äµÄʱºò£¬Èç¹ûneed resched±êÖ¾±»ÉèÖ㬻ᵼÖÂschedule()±»µ÷Ó㬴Ëʱ¾Í»á·¢ÉúÓû§ÇÀÕ¼¡£ÔÚÄں˷µ»ØÓû§¿Õ¼äµÄʱºò£¬ËüÖªµÀ×Ô¼ºÊǰ²È«µÄ¡£ËùÒÔ£¬ÄÚºËÎÞÂÛÊÇÔÚ´ÓÖжϴ¦Àí³ÌÐò»¹ÊÇÔÚϵͳµ÷Óú󷵻أ¬¶¼»á¼ì²éneed resched±êÖ¾¡£Èç¹ûËü±»ÉèÖÃÁË£¬ÄÇô£¬Äں˻áÑ¡ÔñÒ»¸öÆäËû(¸üºÏÊʵÄ)½ø³ÌͶÈëÔËÐС£
¼ò¶øÑÔÖ®£¬Óû§ÇÀÕ¼ÔÚÒÔÏÂÇé¿öʱ²úÉú£º
´Óϵͳµ÷·µ»ØÓû§¿Õ¼ä¡£
´ÓÖжϴ¦Àí³ÌÐò·µ»ØÓû§¿Õ¼ä¡£
3 ²»¿ÉÇÀÕ¼Äں˵ÄÌØµã
ÔÚ²»Ö§³ÖÄÚºËÇÀÕ¼µÄÄÚºËÖУ¬Äں˴úÂë¿ÉÒÔÒ»Ö±Ö´ÐУ¬µ½ËüÍê³ÉΪֹ¡£Ò²¾ÍÊÇ˵£¬µ÷¶È³ÌÐòûÓа취ÔÚÒ»¸öÄں˼¶µÄÈÎÎñÕýÔÚÖ´ÐеÄʱºòÖØÐµ÷¶È—ÄÚºËÖеĸ÷ÈÎÎñÊÇÐ×÷·½Ê½µ÷¶ÈµÄ£¬²»¾ß±¸ÇÀÕ¼ÐÔ¡£Äں˴úÂëÒ»Ö±ÒªÖ´Ðе½Íê³É(·µ»ØÓû§¿Õ¼ä)»òÃ÷ÏÔµÄ×èÈûΪֹ¡£
ÔÚµ¥CPUÇé¿öÏ£¬ÕâÑùµÄÉ趨´ó´ó¼ò»¯ÁËÄں˵Äͬ²½ºÍ±£»¤»úÖÆ¡£¿ÉÒÔ·ÖÁ½²½¶Ô´Ë¼ÓÒÔ·ÖÎö£º
Ê×ÏÈ£¬²»¿¼Âǽø³ÌÔÚÄÚºËÖÐ×ÔÔ¸·ÅÆúCPUµÄÇé¿ö(Ò²¼´ÔÚÄÚºËÖв»·¢Éú½ø³ÌµÄÇл»)¡£Ò»¸ö½ø³ÌÒ»µ©½øÈëÄں˾ͽ«Ò»Ö±ÔËÐÐÏÂÈ¥£¬Ö±µ½Íê³É»òÍ˳öÄںˡ£ÔÚÆäûÓÐÍê³É»òÍ˳öÄÚºË֮ǰ£¬²»»áÓÐÁíÍâÒ»¸ö½ø³Ì½øÈëÄÚº
Ïà¹ØÎĵµ£º
Ò». ʹÓà Network Time Protocol (NTP) ·þÎñÆ÷
1.1 ·þÎñÆ÷¿ÉÁ´½ÓÍâÍøÊ±
# crontab -e
¼ÓÈëÒ»ÐУº
*/1 * * * * ntpdate 210.72.145.44   ......
selectϵͳµ÷ÓÃÊÇÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±ú(file descriptor)µÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐijһ¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
ÎļþÔÚ¾ä±úÔÚLinuxÀïºÜ¶à£¬Èç¹ûÄãmanij¸öº¯Êý£¬ÔÚº¯Êý·µ»ØÖµ²¿·Ö˵µ½³É¹¦ºóÓÐÒ»¸öÎļþ¾ä±ú±»´´½¨µÄ¶¼Êǵģ¬Èçman socket¿ÉÒÔ¿´µ½“On success, a fi ......
[/b][url]http://blog.chinaunix.net/u3/95713/showart_1931142.html[/url]
Linux¸ù¾Ý°æ±¾µÄ²»Í¬, ÎļþµÄ×éÖ¯½á¹¹µ±È»»áÓÐËù²î±ð,µ«Ö÷ÒªµÄÎļþ¼ÐÓ¦¸ÃÊÇÒ»ÑùµÄ,Á˽âÕâЩÎļþ¼ÐµÄº¬Òå,¶ÔÓÚÁ˽âLinuxÓÐ×ÅÖØÒªµÄÒâÒå.
1, / LinuxÎļþϵͳµÄÈë¿Ú£¬Ò²ÊÇ´¦ÓÚ×î¸ßÒ»¼¶µÄĿ¼£»
2, /bin ϵͳËùÐèÒªµÄÄÇЩÃüÁîλÓÚ´Ë ......
À´×Ô£ºhttp://www.linuxsir.org/main/?q=node/137#1.2
ÕªÒª£º ±¾ÎÄÊÇfind ÃüÁîµÄÏêϸ˵Ã÷£¬¿É¹óµÄÊÇÕë¶Ô²ÎÊý¾ÙÁ˺ܶàµÄʵÀý£¬´óÁ¿µÄÀýÖ¤£¬ÈóõѧÕ߸üΪÈÝÒ×Àí½â£»±¾ÎÄÊÇzhyflyÐÖÌùÔÚÂÛ̳ÖУ»ÎÒ¶Ô±¾ÎĽøÐÐÁËÔÙ´ÎÕûÀí£¬Îª·½±ã´ó¼ÒÔĶÁ£»
Ŀ¼
°æÈ¨ÉùÃ÷
ǰÑÔ£º¹ØÓÚfindÃüÁî
Ò»¡¢find ÃüÁî¸ñʽ
1¡¢findÃüÁîµÄÒ»°ã ......
///////////////////////////////////////////////////////////////////////////
/*
ReadCoilsº¯Êý£º
¶Á¼ÌµçÆ÷µÄ״̬ £¬ ³É¹¦·µ»Øture¡£
send Êý¾Ý³¤¶È=12
recv Êý¾Ý³¤¶È=10
unsigned short int addr ¶Á¼ÌµçÆ÷µÄÆðʼµØÖ·(¼ÌµçÆ÷±àºÅ-1) ¡£
×¢Ò⣺1~8¸ö¼ÌµçÆ÷£¬ÆðʼµØÖ·´Ó0¿ªÊ¼
unsigned short int len ......