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

LinuxÖеŤ×÷¶ÓÁÐ(work queue)

¹¤×÷¶ÓÁÐ(work queue)ÊÇLinux kernelÖн«¹¤×÷ÍÆºóÖ´ÐеÄÒ»ÖÖ»úÖÆ¡£ÕâÖÖ»úÖÆºÍBH(bottom half)»òTasklets²»Í¬Ö®´¦ÔÚÓÚ¹¤×÷¶ÓÁÐÊǰÑÍÆºóµÄ¹¤×÷½»ÓÉÒ»¸öÄÚºËÏß³ÌÈ¥Ö´ÐУ¬Òò´Ë¹¤×÷¶ÓÁеÄÓÅÊÆ¾ÍÔÚÓÚËüÔÊÐíÖØÐµ÷¶ÈÉõÖÁ˯Ãß¡£
linux 2.6.20ÒԺ󣬹¤×÷¶ÓÁлúÖÆºÍ֮ǰµÄ°æ±¾ÓÐÒ»µã²»Í¬£¬ÔÚÍøÉÏÕÒÁËÒ»µã×ÊÁÏ£¬Ò²ÏàÓ¦µÄ¿´ÁËһЩcode£¬ÏÖÔÚ×Ô¼º×ܽáһϣº
Ô­ÎIJο¼£º
http://wiki.365linux.cn/index.php?doc-view-39
http://blog.csdn.net/lanmanck/archive/2009/11/05/4770030.aspx
work queueµÄÍ·Îļþ£º /kernel/include/linux/workqueue.h
work queueµÄÊý¾Ý½á¹¹£º
struct work_struct {
    atomic_long_t data;
#define WORK_STRUCT_PENDING 0                  /* T if work item pending execution */
#define WORK_STRUCT_FLAG_MASK                 (3UL)
#define WORK_STRUCT_WQ_DATA_MASK         (~WORK_STRUCT_FLAG_MASK)
    struct list_head entry;
    work_func_t func;
#ifdef CONFIG_LOCKDEP
    struct lockdep_map lockdep_map;
#endif
};
ÆäÖÐ work_func_t µÄ¶¨ÒåÈçÏ£º
typedef void (*work_func_t)(struct work_struct *work);
work queue Ö÷ÒªµÄ API£º
INIT_WORK(struct work_struct *work, work_func_t func)
INIT_DELAYED_WORK(struct delayed_work *work, work_func_t func)
int schedule_work(struct work_struct *work)
void flush_scheduled_work(void)
int schedule_delayed_work(struct delayed_work *work, unsigned long delay)
int cancel_delayed_work(struct delayed_work *work)
struct workqueue_struct *create_workqueue(const char *name)
int queue_work(struct workqueue_struct *wq, struct work_struct *work)
int queue_delayed_work(struct workqueue_struct *wq, struct delayed_work *work, unsigned long delay)
void flush_workqueue(struct workqueue_struct *wq)
void destroy_workqueue(struct workqueue_struct *wq)
work queue µÄʹÓÃʵÀý£º
struct my_work_t {
    ch


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

LinuxÖÐÎļþµÄѹËõÓë½âѹËõ

 
Form: http://tech.sina.com.cn/c/4082.html
LinuxÖÐÎļþµÄѹËõÓë½âѹËõ
http://www.sina.com.cn 2001/06/28 14:15 ÈüµÏÍø Àî¸ïÐÂ
 
¡¡¡¡¶ÔÐí¶àÓû§À´Ëµ£¬ÔÚDOSºÍWindows»·¾³ÏÂÀûÓù¤¾ßÈí¼þARJ¡¢WinzipµÈ£¬Ñ¹Ëõ»ò½âѹÎļþÊDZȽÏÈÝÒ×µÄÊ¡£µ«ÊÇ£¬ÔÚLinuxÖÐÈçºÎ¶ÔÎļþ½øÐÐѹËõÓë½âÑ¹ÄØ£¿±¾ÎÄ»ùÓÚRed Ha ......

LinuxÈ«¹¥ÂÔ


LinuxÈ«¹¥ÂÔ--yum·þÎñÆ÷ÅäÖÃ
Yum£¨È«³ÆÎª Yellow dog Updater, Modified£©ÊÇÒ»¸öÔÚFedoraÖеÄshellǰ¶ËÈí¼þ°ü¹ÜÀíÆ÷¡£»ùÓÚrpm°ü¹ÜÀí£¬Äܹ»´ÓÖ¸¶¨µÄ·þÎñÆ÷×Ô¶¯ÏÂÔØRPM°ü²¢ÇÒ°²×°£¬¿ÉÒÔ×Ô¶¯´¦Àí ÒÀÀµÐÔ¹ØÏµ£¬²¢ÇÒÒ»´Î°²×°ËùÓÐÒÀÀµµÄÈíÌå°ü£¬ÎÞÐë·±ËöµØÒ»´Î´ÎÏÂÔØ¡¢°²×°¡£
¡¡¡¡ÈíÌå°üÀ´Ô´
¿É¹©YumÏÂÔØµÄÈíÌå°ü°üÀ¨fedora ......

linuxÏÂechoÃüÁîÏê½â£¨×ª£©

 linuxµÄechoÃüÁî, ÔÚshell±à³ÌÖм«Îª³£ÓÃ, ÔÚÖÕ¶ËÏ´òÓ¡±äÁ¿valueµÄʱºòÒ²Êdz£³£Óõ½µÄ, Òò´ËÓбØÒªÁ˽âÏÂechoµÄÓ÷¨
echoÃüÁîµÄ¹¦ÄÜÊÇÔÚÏÔʾÆ÷ÉÏÏÔʾһ¶ÎÎÄ×Ö£¬Ò»°ãÆðµ½Ò»¸öÌáʾµÄ×÷Óá£
¸ÃÃüÁîµÄÒ»°ã¸ñʽΪ£º echo [ -n ] ×Ö·û´®
ÆäÖÐÑ¡Ïîn±íʾÊä³öÎÄ×Öºó²»»»ÐУ»×Ö·û´®ÄܼÓÒýºÅ£¬Ò²Äܲ»¼ÓÒýºÅ¡£ÓÃechoÃüÁîÊä³ö¼ ......

linux ifÓï¾äÄÚÅжϲÎÊý

shell ±à³ÌÖÐʹÓõ½µÃifÓï¾äÄÚÅжϲÎÊý
–b µ±file´æÔÚ²¢ÇÒÊÇ¿éÎļþʱ·µ»ØÕæ
-c µ±file´æÔÚ²¢ÇÒÊÇ×Ö·ûÎļþʱ·µ»ØÕæ
-d µ±pathname´æÔÚ²¢ÇÒÊÇÒ»¸öĿ¼ʱ·µ»ØÕæ
-e µ±pathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚʱ·µ»ØÕæ
-f µ±file´æÔÚ²¢ÇÒÊÇÕý¹æÎļþʱ·µ»ØÕæ
-g µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒÉèÖÃÁËSGIDλʱ·µ»ØÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ