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

linux tasklet 3

http://hi.baidu.com/styl_007/blog/item/82b833f475036ce67609d7b6.html
Öжϴ¦ÀíµÄtasklet£¨Ð¡ÈÎÎñ£©»úÖÆ£­²»¹ýÈç´Ë
2009-08-10 18:30
ÖжϷþÎñ³ÌÐòÒ»°ã¶¼ÊÇÔÚÖжÏÇëÇ󹨱յÄÌõ¼þÏÂÖ´ÐеÄ
,
ÒÔ±ÜÃâǶÌ×¶øÊ¹ÖжϿØÖƸ´ÔÓ»¯¡£µ«ÊÇ£¬ÖжÏÊÇÒ»¸öËæ»úʼþ£¬ËüËæÊ±»áµ½À´£¬Èç¹û¹ØÖжϵÄʱ¼äÌ«³¤£¬
CPU
¾Í²»Äܼ°Ê±ÏìÓ¦ÆäËûµÄÖжÏÇëÇ󣬴ӶøÔì³ÉÖжϵĶªÊ§¡£Òò´Ë£¬LinuxÄں˵ÄÄ¿±ê¾ÍÊǾ¡¿ÉÄÜ¿ìµÄ´¦ÀíÍêÖжÏÇëÇ󣬾¡ÆäËùÄܰѸü¶àµÄ´¦ÀíÏòºóÍÆ³Ù¡£ÀýÈ磬¼ÙÉèÒ»¸öÊý¾Ý¿éÒѾ­´ïµ½ÁËÍøÏߣ¬µ±ÖжϿØÖÆÆ÷½ÓÊܵ½Õâ¸öÖжÏÇëÇóÐźÅʱ£¬
Linux
ÄÚºËÖ»ÊǼòµ¥µØ±êÖ¾Êý¾Ýµ½À´ÁË£¬È»ºóÈô¦ÀíÆ÷»Ö¸´µ½ËüÒÔǰÔËÐеÄ״̬£¬ÆäÓàµÄ´¦ÀíÉÔºóÔÙ½øÐУ¨Èç°ÑÊý¾ÝÒÆÈëÒ»¸ö»º³åÇø£¬½ÓÊÜÊý¾ÝµÄ½ø³Ì¾Í¿ÉÒÔÔÚ»º³åÇøÕÒµ½Êý¾Ý£©¡£Òò´Ë£¬Äں˰ÑÖжϴ¦Àí·ÖΪÁ½²¿·Ö£ºÉϰ벿£¨
tophalf
£©ºÍϰ벿£¨
bottomhalf
£©£¬Éϰ벿£¨¾ÍÊÇÖжϷþÎñ³ÌÐò£©ÄÚºËÁ¢¼´Ö´ÐУ¬¶øÏ°벿£¨¾ÍÊÇһЩÄں˺¯Êý£©Áô×ÅÉÔºó´¦Àí£¬
Ê×ÏÈ£¬Ò»¸ö¿ìËٵēÉϰ벿”À´´¦ÀíÓ²¼þ·¢³öµÄÇëÇó£¬Ëü±ØÐëÔÚÒ»¸öеÄÖжϲúÉú֮ǰÖÕÖ¹¡£Í¨³££¬³ýÁËÔÚÉ豸ºÍһЩÄڴ滺³åÇø£¨Èç¹ûÄãµÄÉ豸Óõ½ÁË
DMA
£¬¾Í²»Ö¹ÕâЩ£©Ö®¼äÒÆ¶¯»ò´«ËÍÊý¾Ý£¬È·¶¨Ó²¼þÊÇ·ñ´¦ÓÚ½¡È«µÄ״̬֮Í⣬ÕâÒ»²¿·Ö×öµÄ¹¤×÷ºÜÉÙ¡£
ϰ벿ÔËÐÐʱÊÇÔÊÐíÖжÏÇëÇóµÄ£¬¶øÉϰ벿ÔËÐÐʱÊǹØÖжϵģ¬ÕâÊǶþÕßÖ®¼äµÄÖ÷񻂿±ð¡£
µ«ÊÇ£¬Äں˵½µ×ʲʱºòÖ´ÐÐϰ벿£¬ÒÔºÎÖÖ·½Ê½×é֯ϰ벿£¿Õâ¾ÍÊÇÎÒÃÇÒªÌÖÂÛµÄϰ벿ʵÏÖ»úÖÆ£¬ÕâÖÖ»úÖÆÔÚÄں˵ÄÑݱä¹ý³ÌÖв»¶ÏµÃµ½¸Ä½ø£¬ÔÚÒÔǰµÄÄÚºËÖУ¬Õâ¸ö»úÖÆ½Ð×ö
bottomhalf(
¼ò³Æ
bh)
£¬ÔÚ
2.4
ÒÔºóµÄ°æ±¾ÖÐÓÐÁËеķ¢Õ¹ºÍ¸Ä½ø£¬¸Ä½øµÄÄ¿±êʹϰ벿¿ÉÒÔÔÚ¶à´¦Àí»úÉϲ¢ÐÐÖ´ÐУ¬²¢ÓÐÖúÓÚÇý¶¯³ÌÐòµÄ¿ª·¢Õß½øÐÐÇý¶¯³ÌÐòµÄ¿ª·¢¡£ÏÂÃæÖ÷Òª½éÉܳ£ÓõÄСÈÎÎñ
(Tasklet)
»úÖÆ¼°
2.6
ÄÚºËÖеŤ×÷¶ÓÁлúÖÆ¡£
СÈÎÎñ»úÖÆ
   
ÕâÀïµÄСÈÎÎñÊÇÖ¸¶ÔÒªÍÆ³ÙÖ´Ðеĺ¯Êý½øÐÐ×éÖ¯µÄÒ»ÖÖ»úÖÆ
¡£ÆäÊý¾Ý½á¹¹Îª
tasklet_struct
£¬Ã¿¸ö½á¹¹´ú±íÒ»¸ö¶ÀÁ¢µÄСÈÎÎñ£¬Æä¶¨ÒåÈçÏ£º
structtasklet_struct {
structtasklet_struct *next;         /*
Ö¸ÏòÁ´±íÖеÄÏÂÒ»¸ö½á¹¹
*/
        unsignedlong state;                /*
СÈÎÎñµÄ״̬
*/
        atomi


Ïà¹ØÎĵµ£º

linuxÄÚºËÔ´ÂëÖг£¼ûºê¶¨Òå

1. gccµÄ__attribute__±àÒïÊôÐÔ
ÒªÁ˽âLinux Kernel´úÂëµÄ·Ö¶ÎÐÅÏ¢£¬ÐèÒªÁ˽âÒ»ÏÂgccµÄ__attribute__µÄ±àÒïÊôÐÔ£¬__attribute__Ö÷ÒªÓÃÓڸıäËùÉùÃ÷»ò¶¨ÒåµÄº¯Êý»òÊý¾ÝµÄÌØÐÔ£¬ËüÓкܶà×ÓÏÓÃÓڸıä×÷ÓöÔÏóµÄÌØÐÔ¡£±ÈÈç¶Ôº¯Êý£¬noline½«½ûÖ¹½øÐÐÄÚÁªÀ©Õ¹¡¢noreturn±íʾûÓзµ»ØÖµ¡¢pure±íÃ÷º¯Êý³ý·µ»ØÖµÍ⣬²»»áͨ¹ýÆäËü ......

JPEGͼÐο⣺libjpeg£¬ÔÚLINUXÏÂÈçºÎ½«jpgת»»³Ébmp


    ½üÀ´ÐèҪдһ¸öÔÚLINUXϵÄͼÐÎÎļþ´¦Àí³ÌÐò£¬×ʼֻ֧³ÖBMP¸ñʽ£¬ºóÀ´ÒªÇóÒ²´¦ÀíJPG¡£¼±µÃץͷ°¡£¬ÒÔǰ¿ÉûÈÏÕæÑо¿¹ýJPG…………
    ÔÚÍøÉÏÕÒµ½ÁËlibjpeg£¬¿ÉÒÔÓÃÕâ¸ö¿âʵÏÖJPGͼƬµÄ¸÷ÖÖ²Ù×÷£º
    ÏÂÔØ£ºhttp://freeware.sgi.com/sou ......

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쵀iptables

Ô­Ìû£ºhttp://www.cnscn.org/read.php?tid-44684.html
iptablesÓÐÈýÖÖÁ´
1£ºINPUT (½øÀ´µÄÁ´)
2£ºOUTPUT(³öÈ¥µÄÁ´)
3£ºFORWARD(ת·¢µÄÁ´)
iptables -A INPUT -p icmp -j DROP
-A(Ìí¼ÓÒ»¸öÁ´) -p ЭÒé -j(Ìí¼Ó¶¯×÷) ˵Ã÷Ìí¼ÓÒ»¸ö½øÀ´µÄÁ´¡£Ð­ÒéÊÇicmp¶¯×÷¾Ü¾ø¡£
iptables -L -n (ÓÃÊ÷ÐνṹÀ´¿´Ò»ÏÂiptablesµÄÉèÖÃ)
......

linux kernel thread

http://hi.baidu.com/j_fo/blog/item/55f4014f1a226937aec3ab01.html
Linux Kernel Thread µÄÌÖÂÛ
2007-05-14 11:45
kernel thread

Gearheads Written by Sreekrishnan Venkateswaran
   Thursday, 15 September 2005

Threads are programming abstractions used in concurrent processing. A ke ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ