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

linux tasklet 2

http://hi.baidu.com/j_fo/blog/item/7412bb018deab109728da572.html
LinuxÄÚºË irq/soft irq/tasklet/ͬ²½
2009-10-08 21:22
1.Öжϴ¦Àí³ÌÐò½áÊøÖ®Ç°£¬²»ÔÊÐí²úÉúÏàͬµÄÖжÏʼþ£»£¨½ûÓÃPICÉϸÃÖжϣ¬µ«¿ÉÒÔ²úÉúÆäËûÖжϣ©
2.Öжϴ¦Àí³ÌÐò¡¢ÈíÖжϡ¢tasklet¼È²»¿É±»ÇÀÕ¼Ò²²»Äܱ»×èÈû£¬×î¶à·¢ÉúÖжÏǶÌ×£»
3.Ö´ÐÐÖжϴ¦ÀíµÄÄں˷¾¶²»Äܱ»Ö´ÐÐÑÓ³Ùº¯Êý»òϵͳµ÷Ó÷þÎñÀý³ÌµÄÄں˿ØÖÆÂ·¾¶Öжϡ£
ÓÚÊÇÓÐÈçϽáÂÛ£º
a.Öжϴ¦Àí³ÌÐòºÍtasklet²»±ØÊÇ¿ÉÖØÈëµÄ£»
b.½ö±»ÈíÖжϺÍtasklet·ÃÎʵÄÿCPU±äÁ¿²»ÐèҪͬ²½£»
c.½ö±»Ò»ÖÖtasklet·ÃÎʵÄÊý¾Ý²»ÐèҪͬ²½¡£
ÈíÖжϣ¨¼´±ãÊÇͬһÖÖÀàÐ͵ÄÈíÖжϣ©¿ÉÒÔ²¢·¢µØÔËÐÐÔÚ¶à¸öCPUÉÏ¡£
ͬÀàÐ͵Ätasklet×ÜÊDZ»´®Ðл¯Ö´ÐУ¬²»»áÔÚÁ½¸öCPUÉÏͬʱÔËÐÐÏàͬÀàÐ͵Ätasklet¡£
Ò»¸ötasklet¿ÉÒÔ±»µ÷¶È¶à´Î£¬µ«Êµ¼ÊÖ»»áÔËÐÐÒ»´Î¡£
static inline void tasklet_schedule(struct tasklet_struct *t)
{
if (!test_and_set_bit
(TASKLET_STATE_SCHED, &t->state))
__tasklet_schedule(t);
}
ÁíÍâ²Î¼ûdo_softirq > _do_softirq > tasklet_action
Ò»¸öÖжϴ¦Àí³ÌÐò¼È¿ÉÒÔÇÀÕ¼ÆäËûµÄÖжϴ¦Àí³ÌÐò£¬Ò²¿ÉÒÔÇÀÕ¼Òì³£´¦Àí³ÌÐò£»
Òì³£´¦Àí³ÌÐò´Ó²»ÇÀÕ¼Öжϴ¦Àí³ÌÐò£»
Öжϴ¦Àí³ÌÐò´Ó²»Ö´Ðпɵ¼ÖÂȱҳµÄ²Ù×÷£¨Òâζ׎ø³ÌÇл»£©£»
Öжϴ¦Àí³ÌÐò±ØÐëÓÀ²»×èÈû£¬¼´²»·¢Éú½ø³ÌÇл»£¡
Èç¹ûÒ»¸öÊý¾Ý½á¹¹½ö±»ÖжϳÌÐò“Éϰ벿·Ö”·ÃÎÊ£¬·ÃÎÊÊý¾Ý½á¹¹¾ÍÎÞÐèÈκÎͬ²½£¬ÒòΪÿ¸öÖжϴ¦Àí³ÌÐò¶¼Ïà¶ÔÓÚ×Ô¼º´®ÐеÄÖ´ÐС£
Èç¹û¶à¸öÖжϴ¦Àí³ÌÐò·ÃÎÊÒ»¸öÊý¾Ý½á¹¹£¬ÔÚµ¥´¦ÀíÆ÷ÉÏ£¬±ØÐëÔÚÖжϴ¦Àí³ÌÐòµÄËùÓÐÁÙ½çÇøÉϽûÖ¹ÖжÏÀ´±ÜÃ⾺Õù£»ÔÚ¶à´¦ÀíÆ÷ÉÏ£¬±ØÐë½ûÖ¹±¾µØÖжϣ¬²¢»ñÈ¡±£»¤Êý¾Ý½á¹¹µÄ×ÔÐýËø»ò¶ÁÐ´Ëø¡£
ÈíÖжÏÊÇ¿ÉÖØÈ뺯Êý£¬±ØÐëÃ÷ȷʹÓÃ×ÔÐýËø±£»¤½á¹¹Êý¾Ý£¨ÒòΪ¿ÉÄÜÔÚ¶à¸öCPUÉÏͬʱִÐУ©£»
Èç¹ûij¸öÖжϳÌÐò“Éϰ벿·Ö”Ò²»á·ÃÎʸÃÊý¾Ý½á¹¹£¬Ôò±ØÐëÔÚÓµÓÐ×ÔÐýËøµÄʱºò½ûÖ¹Öжϣ¬ÒÔÃâËÀËø£¡
½öÓÉÒ»ÖÖtasklet·ÃÎʵÄÊý¾Ý½á¹¹²»ÐèÒª±£»¤£¬ÒòΪͬÖÖtasklet²»Äܲ¢·¢ÔËÐС£
¹ØÓÚtaskletµÄÒ»µã˵Ã÷£º
1.ǰÊöµÄÒ»ÖÖ»òÒ»¸ötasklet£¬¶¼ÊÇÖ¸Ò»¸ö£¬ÒÔtasklet½á¹¹ÌåµÄÄÚ´æµØÖ·Çø·Ö£¬²»Í¬µØÖ·µÄtasklet¼´Îª²»Í¬µÄtasklet£¬¼´Ê¹Á½¸ö
tasklet½á¹¹ÌåµÄfuncÖ¸ÕëÖ¸Ïòͬһ¸öÖжÏÉ豸µÄͬһ¸öÑÓ³Ù´¦Àíº¯Êý£¬ÉõÖÁÄÚÈÝÍêÈ«ÏàµÈ£¬¶¼Ëã×÷²»Í¬£¨ÖÖÀࣩµÄtasklet£¬¾ÍÐèÒª´¦Àíͬʱִ
ÐÐʱµÄͬ²½²Ù×÷ÎÊÌ⣻£¨°üÀ¨¡¶


Ïà¹ØÎĵµ£º

linuxÏÂglutµÄ°²×°

ÔÚlinuxÏÂopengl±à³Ì£¬Ê×ÏÈÐèÒª°²×°glut°ü¡£
1 °²×°glut
£¨1£©ÏÂÔØµØÖ·£º
http://fidelio.cacs.louisiana.edu/resources/linux/glut.zip
£¨2£©½«glut.zip½âѹ£º
unzip glut.zip
½âѹºó£¬ÀïÃæÓÐÒ»¸örpm°²×°°ü£¬Ò»¸ö²âÊÔÎļþ£¬Ò»¸öglut.h,Ò»¸ömakefile, Õ⼸¸öÎļþ¶¼·Ç³£ÖØÒª¡£
£¨3£©°²×°£º
rpm -i glut-3.7-8.i386. ......

ºó¼ÌÎÞÈË£ºLinuxºËÐÄά»¤ÈËÔ±ÈÕ½¥²ÔÀÏ

    Ò»ÄêÒ»¶ÈµÄLinux¿ª·¢Õß´ó»áÉÏÖÜÔھɽðɽ¾ÙÐУ¬»áÉÏLinux»ù½ð»áÖ´ÐÐÀíÊÂJim Zemlin±íʾ£¬µÃÒæÓÚÔÆ¼ÆËãÒÔ¼°ÆäËü¿Æ¼¼³±Á÷µÄ³öÏÖ£¬LinuxµÄÊг¡µØÎ»Ê®·ÖÎȹ̣¬È»¶øÒ»Ð©Ö÷ÒªµÄά»¤ÈËÔ±ÒѾ­ÈÕ½¥²ÔÀÏ£¬ºó¼ÌÕßÈ´»¹Ã»ÓгÉÊì¡£
   sysfsÄÚºË×Óϵͳά»¤ÕßGrey Kroah-HartmanÖ¸³ö£º“ÉϲãµÄÈËÔ±ÈÔȻà ......

Compile Linux Kernel Modules

ÎÒÕýÔÚѧϰдlinux device driver for embedded system.
ÎÒÓÐÒ»¸ölinuxǶÈëʽÉ豸£¬Ò²ÓÐÕâ¸öÉ豸µÄlinuxÔ´´úÂë¡£Ò²ÓÐcross compiler tool chain.
µÚÒ»²½£¬¾ÍÊÇдһ¸ö¼òµ¥µÄhelloÄ£¿é£¬È»ºó×°µ½É豸ÖС£ÒÔÑéÖ¤ÎÒÕâ¸ö¿ª·¢»·¾³¡£
ÔÚÍøÉÏËÑË÷ÁËһϣ¬ how to cross compile linux device driver
·¢ÏÖÔÚlinux´úÂë¸ùĿ¼µÄMak ......

Linux manÃüÁîµÄʹÓ÷½·¨

man¾ÍÊÇmanualµÄËõд£¬ÓÃÀ´²é¿´ÏµÍ³ÖÐ×Ô´øµÄ¸÷Öֲο¼Êֲᡣ
Ò»¡¢ËµÃ÷
1£¬ÊÖ²áÒ³·ÖΪºÃ¼¸¸ö²¿·Ö£¬ÈçÏÂËùʾ£º
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File fo ......

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


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