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

Linux É豸Çý¶¯ Edition 3) workqueue


7.5. Tasklets »úÖÆ
ÉÏÒ»Ò³
 
µÚ 7 Õ ʱ¼ä, ÑÓʱ, ºÍÑÓºó¹¤×÷
 ÏÂÒ»Ò³
http://lsec.cc.ac.cn/~tengfei/doc/ldd3/index.html
Linux É豸Çý¶¯ Edition 3
7.5. Tasklets »úÖÆ
ÁíÒ»¸öÓйØÓÚ¶¨Ê±ÎÊÌâµÄÄÚºËÉèÊ©ÊÇ tasklet »úÖÆ. Ëü´ó²¿·ÖÓÃÔÚÖжϹÜÀí(ÎÒÃǽ«ÔÚµÚ 10 ÕÂÔٴμûµ½).
tasklet ÀàËÆÄں˶¨Ê±Æ÷ÔÚijЩ·½Ãæ. ËüÃÇÒ»Ö±ÔÚÖжÏʱ¼äÔËÐÐ, ËüÃÇÒ»Ö±ÔËÐÐÔÚµ÷¶ÈËüÃǵÄͬһ¸ö CPU ÉÏ, ²¢ÇÒËüÃǽÓÊÕÒ»¸ö
unsigned long ²ÎÊý. ²»ÏóÄں˶¨Ê±Æ÷, µ«ÊÇ, ÄãÎÞ·¨ÇëÇóÔÚÒ»¸öÖ¸¶¨µÄʱ¼äÖ´Ðк¯Êý. ͨ¹ýµ÷¶ÈÒ»¸ö tasklet,
Äã¼òµ¥µØÇëÇóËüÔÚÒÔºóµÄÒ»¸öÓÉÄÚºËÑ¡ÔñµÄʱ¼äÖ´ÐÐ. Õâ¸öÐÐΪ¶ÔÓÚÖжϴ¦ÀíÌØ±ðÓÐÓÃ, ÄÇÀïÓ²¼þÖжϱØÐë±»¾¡¿ì´¦Àí,
µ«ÊǴ󲿷ֵÄʱ¼ä¹ÜÀí¿ÉÒÔ°²È«µØÑÓºóµ½ÒÔºóµÄʱ¼ä. ʵ¼ÊÉÏ, Ò»¸ö tasket, ¾ÍÏóÒ»¸öÄں˶¨Ê±Æ÷,
ÔÚÒ»¸ö"ÈíÖжÏ"µÄÉÏÏÂÎÄÖÐÖ´ÐÐ(ÒÔÔ­×Óģʽ), ÔÚʹÄÜÓ²¼þÖжÏʱִÐÐÒì²½ÈÎÎñµÄÒ»¸öÄں˻úÖÆ.
Ò»¸ö tasklet ´æÔÚΪһ¸öʱ¼ä½á¹¹, Ëü±ØÐëÔÚʹÓÃǰ±»³õʼ»¯. ³õʼ»¯Äܹ»Í¨¹ýµ÷ÓÃÒ»¸öÌØ¶¨º¯Êý»òÕßͨ¹ýʹÓÃijЩºê¶¨ÒåÉùÃ÷½á¹¹:
#include <linux/interrupt.h>
struct tasklet_struct {
/* ... */
void (*func)(unsigned long);
unsigned long data;
};
void tasklet_init(struct tasklet_struct *t,
void (*func)(unsigned long), unsigned long data);
DECLARE_TASKLET(name, func, data);
DECLARE_TASKLET_DISABLED(name, func, data);
tasklet ÌṩÁËÐí¶àÓÐȤµÄÌØÉ«:
Ò»¸ö tasklet Äܹ»±»½ûÖ¹²¢ÇÒÖ®ºó±»ÖØÐÂʹÄÜ; Ëü²»»áÖ´ÐÐÖ±µ½Ëü±»Ê¹ÄÜÓë±»½ûÖ¹ÏàͬµÄµÄ´ÎÊý.
Èçͬ¶¨Ê±Æ÷, Ò»¸ö tasklet ¿ÉÒÔ×¢²áËü×Ô¼º.
Ò»¸ö tasklet Äܱ»µ÷¶ÈÀ´Ö´ÐÐÒÔÕý³£µÄÓÅÏȼ¶»òÕ߸ßÓÅÏȼ¶. ºóÒ»×éÒ»Ö±ÊÇÊ×ÏÈÖ´ÐÐ.
taslet ¿ÉÄÜÁ¢¿ÌÔËÐÐ, Èç¹ûϵͳ²»ÔÚÖØÔØÏÂ, µ«ÊÇ´Ó²»»áÍíÓÚÏÂÒ»¸öʱÖÓàÖßÕ.
Ò»¸ö tasklet ¿ÉÄÜºÍÆäËû tasklet ²¢·¢, µ«ÊǶÔËü×Ô¼ºÊÇÑϸñµØ´®ÐÐµÄ -- ͬÑùµÄ tasklet ´Ó²»Í¬Ê±ÔËÐÐÔÚ³¬¹ýÒ»¸ö´¦ÀíÆ÷ÉÏ. ͬÑù, ÈçÒѾ­Ìáµ½µÄ, Ò»¸ö tasklet ³£³£ÔÚµ÷¶ÈËüµÄͬһ¸ö CPU ÉÏÔËÐÐ.
jit Ä£¿é°üÀ¨ 2 ¸öÎļþ, /proc/jitasklet ºÍ /proc/jitasklethi,
Ëü·µ»ØºÍÔÚ"Äں˶¨Ê±Æ÷"Ò»½ÚÖнéÉܹýµÄ /proc/jitimer ͬÑùµÄÊý¾Ý. µ±Äã¶ÁÆäÖÐÒ»¸öÎļþʱ, ÄãÈ¡»ØÒ»¸ö header ºÍ
sixdata ÐÐ. µÚÒ»¸öÊý¾ÝÐÐÃèÊöÁ˵÷Óýø³ÌµÄÉÏÏÂÎÄ, ²¢ÇÒÆäËûµÄÐÐÃèÊöÁËÒ»¸ö tasklet ¹ý³ÌÁ¬ÐøÔ


Ïà¹ØÎĵµ£º

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


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

linux convertͼÏñ´¦ÀíÃüÁî

¡¡¼¸¸ö¼òµ¥µÄÓ¦Óá£
¡¡¡¡1¡¢ÅúÁ¿Í¼Ïñ¸ñʽת»»
¡¡¡¡Èç¹ûÏ뽫ijĿ¼ÏµÄËùÓÐjpgÎļþת»»ÎªpngÎļþ£¬Ö»ÒªÔÚÃüÁîÐÐģʽÏÂÊäÈë:
¡¡¡¡for %f in (*.jpg) do convert “%f” “%~nf.png”
¡¡¡¡2¡¢¶ÔËùÓÐͼÏñ½øÐÐͬһ²Ù×÷
¡¡¡¡Æ©È磬ÅúÁ¿Éú³ÉijĿ¼ÏÂËùÓÐPNGͼÏñÎļþµÄËõÂÔͼ(´óСΪ80×40):
¡¡¡¡fo ......

Linux¿ª»úÁ÷³Ì ¶ÁÊé±Ê¼Ç

                                                   ......

linux D Bus tutorial

http://dbus.freedesktop.org/doc/dbus-tutorial.html
D-Bus Tutorial
Havoc
Pennington
Red Hat, Inc.
<hp@pobox.com
>
David
Wheeler
John
Palmieri
Red Hat, Inc.
<johnp@redhat.com
>
Colin
Walters
Red Hat, Inc.
<walters@redhat.com
>
Version 0.5.0
Table of Contents
......

linux tasklet 3

http://hi.baidu.com/styl_007/blog/item/82b833f475036ce67609d7b6.html
Öжϴ¦ÀíµÄtasklet£¨Ð¡ÈÎÎñ£©»úÖÆ£­²»¹ýÈç´Ë
2009-08-10 18:30
ÖжϷþÎñ³ÌÐòÒ»°ã¶¼ÊÇÔÚÖжÏÇëÇ󹨱յÄÌõ¼þÏÂÖ´ÐеÄ
,
ÒÔ±ÜÃâǶÌ×¶øÊ¹ÖжϿØÖƸ´ÔÓ»¯¡£µ«ÊÇ£¬ÖжÏÊÇÒ»¸öËæ»úʼþ£¬ËüËæÊ±»áµ½À´£¬Èç¹û¹ØÖжϵÄʱ¼äÌ«³¤£¬
CPU
¾Í²»Äܼ°Ê±ÏìÓ¦Æä ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ