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
Ïà¹ØÎĵµ£º
´ò¿ª /etc/sysconfig/i18n
ÊäÈë
LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ºÃÁË ......
Ŀ¼ºÍÎļþ²Ù×÷
²é¿´µ±Ç°Ä¿Â¼Ïà¶ÔÓÚ¸ùĿ¼µÄλÖÃ
¡¡
¡¡¡¡pwd
²é¿´µ±Ç°Ä¿Â¼ÄÚÈÝ
¡¡¡¡ls
ÒÔ³¤¸ñʽ²é¿´µ±Ç°Ä¿Â¼ÄÚÈÝ¡£¶ÔӦÿ¸öÎļþµÄÌõÄ¿½«°üÀ¨Á¬½ÓÊýÄ¿¡¢ËùÓÐÕß¡¢´óС¡¢×îºóÐÞ¸Äʱ¼ä¡¢È¨ÏÞµÈÄÚÈÝ
¡¡¡¡ls -l
¸Ä±äµ±Ç°Ä¿Â¼¡£Ä¿µÄĿ¼Ãû¿ÉÓÃÏà¶Ô·¾¶±íʾ£¬Ò²¿ÉÒÔÓþø¶Ô·¾¶±íʾ¡£
cd [Ä¿µÄĿ¼Ãû]
×ªÒÆµ½ÉÏÒ»¼¶Ä¿Â¼
c ......
errno±äÁ¿(Ðèinclude errno.h)»á±»¸³Ò»¸öÕûÊýÖµ,²»Í¬µÄÖµ±íʾ²»Í¬µÄº¬Òå,
¿ÉÒÔͨ¹ý²é¿´¸ÃÖµÍÆ²â³ö´íµÄÔÒò¡£µ«ÊÇerrnoÊÇÒ»¸öÊý×Ö£¬´ú±íµÄ¾ßÌ庬Òå
»¹Òªµ½errno.hÖÐÈ¥ÔĶÁºê¶¨Òå¡£ÓÐÏÂÃæ¼¸ÖÖ·½·¨¿ÉÒÔ·½±ãµÄµÃµ½´íÎóÐÅÏ¢
(Ò»)
#include <stdio.h>
void perror(const char *s)
perror()ÓÃÀ´½«ÉÏÒ»¸öº¯Êý·¢Éú´íÎóµÄ ......
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ϵͳÏ£¬ÐÞ¸Ä/etc/X11/xdm/XaccessÎļþ£¬ÕÒµ½ÏÂÃæµÄÓï¾ä£º
# * #any host can get a login window
È¥µô×îÇ°ÃæµÄ#ºÅ£¬³ÉΪ
* #any host can get a login window
µÚ¶þ²½£¬ÎÒÃÇÐÞ¸Ä/etc/X11/gdm/gdm.confÎļþ£¬ÕÒµ½ÏÂÃæµÄÓï¾ä£º
[xdmcp]
Enable£½false
½«ÆäÖеÄEn ......