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

linux tasklet 4

ÒýÓà 2 Â¥ cokeliu µÄ»Ø¸´:
лл! ÇëÎÊÊÇ·ñÿµ÷ÓÃÒ»´Îtasklet_schedule(B task); B taskÈÎÎñ±»¼Óµ½Á´±íÉÏÖ»»á±»Ö´ÐÐÒ»´Î?
Êǵģ¬Ö»±»¼ÓÒ»´Î
µÚÒ»´Îtasklet_schedule(B task)¸øËûÒ»¸ö״̬TASK_STATE_SCHED
×÷±ê¼Ç£¬ÒÔºóµÄtasklet_schedule(B task)»á¼ì²éÕâ¸ö±ê¼Ç
http://os.inf.tu-dresden.de/l4env/doc/html/dde_linux/group__mod__softirq.html
Deferred Activities
[Linux DDE Common
]
This module emulates deferred activities
at interrupt level inside the Linux kernel.
More...
Softirqs
This is from include/linux/interrupt.h
Softirqs are multithreaded, not serialized BH-like activities. Several
softirqs may run on several CPUs simultaneously - no matter if they are
of the same type.
Properties:
If raise_softirq()
is called, then softirq is guarenteed to be executed on this CPU.
On schedule()
do_softirq() is called if any softirq is active on this CPU.
Softirqs are not serialized in any way.
Linux (2.4.20) has only 4 softirqs:
HI_SOFTIRQ

NET_TX_SOFTIRQ
and NET_RX_SOFTIRQ

TASKLET_SOFTIRQ

Relevant for Linux DDE are for now only the first and the latter - NET_*
softirqs allow transparent mutli-threading in Linux' network code. HI_SOFTIRQ
is for high priority bottom halves as old-style
BHs and sound related drivers. It triggers execution of tasklet_hi_action()
. TASKLET_SOFTIRQ
runs lower priority bottom halves (e.g. in the console subsystem). It triggers execution of tasklet_action()
.
Todo:
only the implementation of tasklets is done in Linux DDE
void 
raise_softirq
(int nr)
 
Raise Softirq.
Tasklets
This is from kernel/softirq.c and include/linux/interrupt.h)
Tasklets are the multithreaded analogue of BHs.
Main feature differing them of generic softirqs: one tasklet is running only on one CPU simultaneously.
Main feature differing them of BHs: different tasklets may be run simultaneously on different CPUs.
Properties:
If tasklet_schedule()
is called, then tasklet is guaranteed to be executed on some cpu at least on


Ïà¹ØÎĵµ£º

Ïê½âLinuxÏÂOracleµÄ¾²Ä¬°²×°


ÔÚÄ³Ð©ÌØÊâµÄÇé¿öÏ£¬ÈçÒòÎªÍøÂç»òÕßXÅäÖõĹØÏµÎÞ·¨Á¬½Óµ½X server»òÕßÖ÷»úÉÏûÓÐX£¬¾Í¿ÉÒÔʹÓþ²Ä¬°²×°µÄ·½Ê½°²×°Êý¾Ý¿â£¬Í¬ÑùÈç¹ûÐèÒª´ó¹æÄ£²¿Êð£¬Ôò¾²Ä¬°²×°½«»á´ó´ó¼õÇáDBAµÄÖØ¸´ÀͶ¯Á¦£¬¶øÇÒ¾²Ä¬°²×°²»ÐèÒªX£¬´Ó°²×°Ð§ÂÊ  
ÔÚÄ³Ð©ÌØÊâµÄÇé¿öÏ£¬ÈçÒòÎªÍøÂç»òÕßXÅäÖõĹØÏµÎÞ·¨Á¬½Óµ½X server»òÕßÖ÷»úÉÏûÓÐX£ ......

linuxÆô¶¯¹ý³Ì

linuxÆô¶¯Á÷³Ì£º
ϵͳԤ´¦Àí³ÌÐò->GRUB  (´Ë½×¶Î¿ÉÒÔÀí½âΪbootloader½×¶Î)
->kernel   (´Ë½×¶ÎΪkernel)
->initrd->initÆô¶¯->inittab->rc.sysinit->functions(PATH)->modules->rcX.d(¶ÁÅäÖÃÎļþ)
1.->×Ö·ûģʽ->tty->bash
2.->ͼÐÎģʽ->½øÈëX Window-> ......

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 2.6 kernel epoll

http://hi.baidu.com/j_fo/blog/item/a43fa60fa6e2f4eaab6457d5.html
Linux2.6ÄÚºËepoll½éÉÜ
2008-11-05 16:35
http://blog.csdn.net/rstevens/archive/2007/10/30/1858067.aspx
http://hi.baidu.com/jmlover/blog/item/24c28b131e6b48d7f7039ee6.html
http://hi.baidu.com/jmlover/blog/item/e64df724f12926348744f9 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ