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
Ïà¹ØÎĵµ£º
Ŀ¼ºÍÎļþ²Ù×÷
²é¿´µ±Ç°Ä¿Â¼Ïà¶ÔÓÚ¸ùĿ¼µÄλÖÃ
¡¡
¡¡¡¡pwd
²é¿´µ±Ç°Ä¿Â¼ÄÚÈÝ
¡¡¡¡ls
ÒÔ³¤¸ñʽ²é¿´µ±Ç°Ä¿Â¼ÄÚÈÝ¡£¶ÔӦÿ¸öÎļþµÄÌõÄ¿½«°üÀ¨Á¬½ÓÊýÄ¿¡¢ËùÓÐÕß¡¢´óС¡¢×îºóÐÞ¸Äʱ¼ä¡¢È¨ÏÞµÈÄÚÈÝ
¡¡¡¡ls -l
¸Ä±äµ±Ç°Ä¿Â¼¡£Ä¿µÄĿ¼Ãû¿ÉÓÃÏà¶Ô·¾¶±íʾ£¬Ò²¿ÉÒÔÓþø¶Ô·¾¶±íʾ¡£
cd [Ä¿µÄĿ¼Ãû]
×ªÒÆµ½ÉÏÒ»¼¶Ä¿Â¼
c ......
linuxÆô¶¯Á÷³Ì£º
ϵͳԤ´¦Àí³ÌÐò->GRUB (´Ë½×¶Î¿ÉÒÔÀí½âΪbootloader½×¶Î)
->kernel (´Ë½×¶ÎΪkernel)
->initrd->initÆô¶¯->inittab->rc.sysinit->functions(PATH)->modules->rcX.d(¶ÁÅäÖÃÎļþ)
1.->×Ö·ûģʽ->tty->bash
2.->ͼÐÎģʽ->½øÈëX Window-> ......
Linux»·¾³ÏµÄÈí¼þ°²×°£¬²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇ飻Èç¹ûͨ¹ýÔ´´úÂë±àÒëºóÔÚ°²×°£¬µ±È»ÊÂÇé¾Í¸üΪ¸´ÔÓһЩ£»ÏÖÔÚ°²×°¸÷ÖÖÈí¼þµÄ½Ì³Ì¶¼·Ç³£ÆÕ±é£»µ«Íò±ä²»ÀëÆäÖУ¬¶Ô»ù´¡ÖªÊ¶µÄÔúÊµÕÆÎÕ£¬°²×°¸÷ÖÖÈí¼þµÄÎÊÌâ¾ÍÓÈжø½âÁË¡£Configure½Å±¾ÅäÖù¤¾ß¾ÍÊÇ»ù´¡Ö®Ò»£¬ËüÊÇautoconfµÄ¹¤¾ßµÄ»ù±¾Ó¦Óá£
ÓëһЩ¼¼ÇÉÏà±È£¬ConfigureÏԵûù´ ......
......
ÔÌû£º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µÄÉèÖÃ)
......