Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÖеŤ×÷¶ÓÁÐ (2.6.0~2.6.19 and 2.6.20 ~ now)

http://blog.chinaunix.net/u2/69889/showart_971040.html
LinuxÖеŤ×÷¶ÓÁÐ
£Ûǰ¼Ç£ÝLinux×Ô´Ó2.6.20Ö®ºó£¬¹¤×÷¶ÓÁз¢ÉúÁËһЩ±ä»¯£¬Ä¿Ç°´ÓÍøÂçÉÏËÑË÷µÄ×ÊÁÏÒ»°ã¶¼ÊǽéÉÜÀϰ汾µÄ¹¤×÷¶ÓÁУ¬ºÜÉÙ¼ûµ½¶Ôа汾µÄ½éÉÜ¡£±¾ÎĶÔÐÂÀϰ汾¶¼×öÁ˼òÒª¸ÅÊö£¬²¢·Ö±ðÌṩÁ˼òµ¥µÄʵ×÷°¸Àý¡£
*******************************************************************************************************************
¹¤×÷¶ÓÁÐ
(work
queue)
ÊÇ
Linux
kernel
Öн«¹¤×÷ÍÆºóÖ´ÐеÄÒ»ÖÖ»úÖÆ¡£ÕâÖÖ»úÖÆºÍ
BH
»ò
Tasklets
²»Í¬Ö®´¦ÔÚÓÚ¹¤×÷¶ÓÁÐÊǰÑÍÆºóµÄ¹¤×÷½»ÓÉÒ»¸öÄÚºËÏß³ÌÈ¥Ö´ÐУ¬Òò´Ë¹¤×÷¶ÓÁеÄÓÅÊÆ¾ÍÔÚÓÚËüÔÊÐíÖØÐµ÷¶ÈÉõÖÁ˯Ãß¡£
¹¤×÷¶ÓÁÐÊÇ
2.6
Äں˿ªÊ¼ÒýÈëµÄ»úÖÆ£¬ÔÚ
2.6.20
Ö®ºó£¬¹¤×÷¶ÓÁеÄÊý¾Ý½á¹¹·¢ÉúÁËһЩ±ä»¯£¬Òò´Ë±¾ÎÄ·Ö³ÉÁ½¸ö²¿·Ö¶Ô
2.6.20
֮ǰºÍÖ®ºóµÄ°æ±¾·Ö±ð×ö½éÉÜ¡£
1
¡¢
2.6.0~2.6.19
Êý¾Ý½á¹¹£º
struct
work_struct {
    unsigned
long pending;
    struct
list_head entry;
    void
(*func)(void *);
    void
*data;
    void
*wq_data;
    struct
timer_list timer;
};
pending
ÊÇÓÃÀ´¼Ç¼¹¤×÷ÊÇ·ñÒѾ­¹ÒÔÚ¶ÓÁÐÉÏ£»
entry
ÊÇÑ­»·Á´±í½á¹¹£»
func
×÷Ϊº¯ÊýÖ¸Õ룬ÓÉÓû§ÊµÏÖ£»
data
ÓÃÀ´´æ´¢Óû§µÄ˽ÈËÊý¾Ý£¬´ËÊý¾Ý¼´ÊÇ
func
µÄ²ÎÊý£»
wq_data
Ò»°ãÓÃÀ´Ö¸Ïò¹¤×÷ÕßỊ̈߳¨¹¤×÷ÕßÏ̲߳ο¼ÏÂÎÄ£©£»
timer
ÊÇÍÆºóÖ´ÐеĶ¨Ê±Æ÷¡£
work_struct
µÄÕâЩ±äÁ¿À
func
ºÍ
data
ÊÇÓû§Ê¹Óõ쬯äËûÊÇÄÚ²¿±äÁ¿£¬ÎÒÃÇ¿ÉÒÔ²»ÓÃÌ«¹ý¹ØÐÄ¡£
 
API
£º
1)
INIT_WORK(_work, _func, _data)
³õʼ»¯Ö¸¶¨¹¤×÷£¬Ä¿µÄÊǰÑÓû§Ö¸¶¨µÄº¯Êý
_func
¼°
_func
ÐèÒªµÄ²ÎÊý
_data
¸³¸ø
work_struct
µÄ
func
¼°
data
±äÁ¿¡£
2)
int schedule_work(struct work_struct *work)
¶Ô¹¤×÷½øÐе÷¶È£¬¼´°Ñ¸ø¶¨¹¤×÷µÄ´¦Àíº¯ÊýÌá½»¸øÈ±Ê¡µÄ¹¤×÷¶ÓÁк͹¤×÷ÕßÏ̡߳£¹¤×÷ÕßÏ̱߳¾ÖÊÉÏÊÇÒ»¸öÆÕͨµÄÄÚºËỊ̈߳¬ÔÚĬÈÏÇé¿öÏ£¬Ã¿¸ö
CPU
¾ùÓÐÒ»¸öÀàÐÍΪ“
events”
µÄ¹¤×÷ÕßỊ̈߳¬µ±µ÷ÓÃ
schedule_work
ʱ£¬Õâ¸ö¹¤×÷ÕßÏ̻߳ᱻ»½ÐÑÈ¥Ö´Ðй¤×÷Á´±íÉϵÄËùÓй¤×÷¡£
3)
int schedule_delayed_work(struct work_struct *work, unsigned long
delay)
ÑÓ³ÙÖ´Ðй¤×÷£¬Óë
schedu


Ïà¹ØÎĵµ£º

linux µÝ¹é²éÕÒÎļþÄÚÈÝ

µÝ¹é²éÕÒÎļþÄÚÈÝ£º
grep   -n   -ri   "slewing"   ./
ÔÚµ±Ç°Ä¿Ïµݹé²éÕÒËùÓеÄÎļþ
       -i, --ignore-case
              Ignore  case  distinctions  ......

linux tasklet

http://blog.chinaunix.net/u/24474/showart_227121.html
Çý¶¯³ÌÐòʹÓÃtasklet»úÖÆ
ת×Ô£ºhttp://blog.chinaunix.net/u/15169/showart.php?id=82989
Çý
¶¯³ÌÐòÔÚ³õʼ»¯Ê±£¬Í¨¹ýº¯Êýtask_init½¨Á¢Ò»¸ötasklet£¬È»ºóµ÷Óú¯Êýtasklet_schedule½«Õâ¸ötasklet·ÅÔÚ
tasklet_vecÁ´±íµÄÍ·²¿£¬²¢»½ÐѺǫ́Ïß³Ìksoftirqd¡£µ±ºóÌ¨Ï ......

תÌù£ºLinux I/OÖØ¶¨ÏòµÄһЩС¼¼ÇÉ

¼¶±ð£º ³õ¼¶
·®Ææ (fanqi@cn.ibm.com), Xseries eServer ¹¤³Ìʦ, IBM TSS China Beijing
2004 Äê 11 ÔÂ 01 ÈÕ
Linux I/O ÖØ¶¨ÏòËäÈ»ºÜ¼òµ¥£¬µ«Ôڽű¾±àд¡¢ÏµÍ³¹ÜÀíʱȴҪ³£³£´ò½»µÀ£¬¸ãÇåÆäÖÐʹÓü¼Çɷdz£ÓÐÓá£
Ê×ÏÈ˵һÏÂʲôÊÇI/OÖØ¶¨Ïò£¬ËùνI/OÖØ¶¨Ïò¼òµ¥À´Ëµ¾ÍÊÇÒ»¸ö¹ý³Ì£¬Õâ¸ö¹ý³Ì²¶×½Ò»¸öÎļþ£¬»òÕßÃüÁ³ÌÐò ......

linux tasklet 3

http://hi.baidu.com/styl_007/blog/item/82b833f475036ce67609d7b6.html
Öжϴ¦ÀíµÄtasklet£¨Ð¡ÈÎÎñ£©»úÖÆ£­²»¹ýÈç´Ë
2009-08-10 18:30
ÖжϷþÎñ³ÌÐòÒ»°ã¶¼ÊÇÔÚÖжÏÇëÇ󹨱յÄÌõ¼þÏÂÖ´ÐеÄ
,
ÒÔ±ÜÃâǶÌ×¶øÊ¹ÖжϿØÖƸ´ÔÓ»¯¡£µ«ÊÇ£¬ÖжÏÊÇÒ»¸öËæ»úʼþ£¬ËüËæÊ±»áµ½À´£¬Èç¹û¹ØÖжϵÄʱ¼äÌ«³¤£¬
CPU
¾Í²»Äܼ°Ê±ÏìÓ¦Æä ......

linux´î½¨telnet·þÎñÆ÷

1¡¢¼ì²â
°²×°Ö®Ç°Ïȼì²âÊÇ·ñÕâЩÈí¼þ°üÒѰ²×°£¬·½·¨ÈçÏ£º[root@localhost
root]#rpm -q telnet»ò[root@localhost root]#rpm -q telnet-client
[root@localhost root]#rpm -q
telnet-server
Èç¹ûûÓмì²âµ½Èí¼þ°ü£¬ÐèÒª½øÐа²×°£¬¾Ý˵red hat Linux
9ĬÈÏÒѰ²×°ÁËtelnetÈí¼þ°ü£¬²»ÖªµÀΪʲôÎÒµÄûÓУ¬»¹ºÃû¹ØÏµ£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ