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

Linux¼üÅÌÇý¶¯·¶Àý

¼üÅÌÔÚËùÓеÄÇý¶¯Ö®ÖÐ×îΪ¼òµ¥µÄÒ»ÖÖ£¬µ«ËüÈ´°üº¬ÁËÇý¶¯µÄ»ù±¾¿ò¼Ü£¬¶ÔÒÔºó¼ÌÐøÉîÈëѧϰÆäËû¸´ÔÓµÄÇý¶¯´óÓÐñÔÒæ£¬ÒÔϱãΪÄãÖð²½ÆÊÎöÇý¶¯µÄ¿ª·¢¡£²ÉÓõÄÊDzéѯ·½Ê½¡£×ªÔØÇë×¢Ã÷³ö´¦£ºqiangren.blog.edu.cn 
Ò».ÄÚºËÄ£¿éµÄ×¢²áºÍ³·Ïú
ÔÚ¼ÓÔØÄ£¿éµÄʱºò£¬Ê×ÏÈÔËÐеÄÊÇÄÚºËÄ£¿éµÄ×¢²áº¯Êý¡£ËüµÄ¹¦ÄܰüÀ¨ÄÚºË×¢²áÉ豸ÒÔ¼°±äÁ¿µÄ³õʼ»¯¡£
static int head,tail;
int  _init Keypad_init(void)
{
     int result;
     result=register_chrdev(KEY_LED_MAJOR,KEY_LED_NAME,&Keypad_fops);
     Keypad_clear();
     init_waitqueue_head(&queue);
     prink("%s %s initialized.\n",KEY_LED_NAME,KEY_LED_VERSION);//²»ÄÜÓÃprinf
     return 0;
}
module_init(Keypad_init);//¼ÓÔØÄ£¿é
void _exit Keypad_cleanup(void)
{
     del_timer(&timer);
     unregister_chrdev(KEY_LED_MAJOR,KEY_LED_NAME);
     prink("Keypad driver removed \n");
}
module_exit(Keypad_cleanup);//Ð¶ÔØ¸ÃÄ£¿é
¶þ.ÐéÄâÎļþϵͳÓëÓ²¼þÇý¶¯µÄ½Ó¿Ú
static struct file_operations Keypad_fops={
open:Keypad_open,
read:Keypad_read,
poll:Keypad_poll,
fasync:Keypad_fasync,
release:Keypad_release,
};
¸Ã½Ó¿Ú¶¨ÒåÍêÖ®ºóһЩ±ãÊǶÔÕ⼸¸ö¾ßÌ庯ÊýµÄʵÏÖÁË£¡ÏÖÔÚÎÒÃÇÒ»Æð½øÈëÏÂÒ»²½°É£¬ÊDz»ÊǾõµÃÆäʵûʲôÄѶȵÄÄØ£¿±ðÄÇôÔ翪ÐÄ×ÅÄØ£¿Õ⼸¸öº¯ÊýµÄʵÏÖʱºò£¬Éæ¼°µ½ºÜ¶à¼¼Êõ£¬°üÀ¨Äں˶¨Ê±Æ÷£¬*µÈ´ý¶ÓÁеľßÌåʵÏÖ£¨×èÈû·½Ê½£©£¬Òì²½·½Ê½µÄ¾ßÌåʵÏÖ¼¼ÇÉ£¬Ñ­»·¶ÓÁС£¿´µ½Õâô¶à¼¼ÊõÄãÊÇ·ñ¸Ðµ½ºÜÐË·ÜÄØ£¿ÒÔϱ¾È˽«ÒÔͨË׵ķ½Ê½ÎªÄã½²½â£¬Ï£ÍûÄãÄÜÀí½â¡£
Èý.É豸µÄ´ò¿ª²Ù×÷½Ó¿Úº¯Êý¾ßÌåʵÏÖ£¨Keypad_open)
É豸´ò¿ªÒ»°ã°üÀ¨Á½´ó²Ù×÷£¬Ò»ÊÇÍê³ÉÉ豸µÄ³õʼ»¯£¬¶þÊÇÉ豸ÒýÓüÆÊýÆ÷¼Ó1
static int Keypad_open(struct inode *inode,struct file *filp)
{
     read_xy();
     try_module_get(THIS_MODULE);//´Ëº¯ÊýΪLinux 2.6ÄÚºËÔö¼ÓµÄ£¬²»Í¬ÓÚ2.4Äںˣ¬¹¦ÄÜÊǼÆÊýÆ÷µÄÖµ¼Ó1
     return 0;
}
static void read_xy(void)
{
  &nbs


Ïà¹ØÎĵµ£º

ÔÚlinuxÏÂʵÏÖweb qqµÄ×ÀÃæ»¯


´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ­°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......

LINUX쵀iptables

Ô­Ìû£ºhttp://www.cnscn.org/read.php?tid-44684.html
iptablesÓÐÈýÖÖÁ´
1£ºINPUT (½øÀ´µÄÁ´)
2£ºOUTPUT(³öÈ¥µÄÁ´)
3£ºFORWARD(ת·¢µÄÁ´)
iptables -A INPUT -p icmp -j DROP
-A(Ìí¼ÓÒ»¸öÁ´) -p ЭÒé -j(Ìí¼Ó¶¯×÷) ˵Ã÷Ìí¼ÓÒ»¸ö½øÀ´µÄÁ´¡£Ð­ÒéÊÇicmp¶¯×÷¾Ü¾ø¡£
iptables -L -n (ÓÃÊ÷ÐνṹÀ´¿´Ò»ÏÂiptablesµÄÉèÖÃ)
......

linux kernel thread

http://hi.baidu.com/j_fo/blog/item/55f4014f1a226937aec3ab01.html
Linux Kernel Thread µÄÌÖÂÛ
2007-05-14 11:45
kernel thread

Gearheads Written by Sreekrishnan Venkateswaran
   Thursday, 15 September 2005

Threads are programming abstractions used in concurrent processing. A ke ......

linux tasklet 3

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

LinuxÖеŤ×÷¶ÓÁÐ (2.6.0~2.6.19 and 2.6.20 ~ now)

http://blog.chinaunix.net/u2/69889/showart_971040.html
LinuxÖеŤ×÷¶ÓÁÐ
£Ûǰ¼Ç£ÝLinux×Ô´Ó2.6.20Ö®ºó£¬¹¤×÷¶ÓÁз¢ÉúÁËһЩ±ä»¯£¬Ä¿Ç°´ÓÍøÂçÉÏËÑË÷µÄ×ÊÁÏÒ»°ã¶¼ÊǽéÉÜÀϰ汾µÄ¹¤×÷¶ÓÁУ¬ºÜÉÙ¼ûµ½¶Ôа汾µÄ½éÉÜ¡£±¾ÎĶÔÐÂÀϰ汾¶¼×öÁ˼òÒª¸ÅÊö£¬²¢·Ö±ðÌṩÁ˼òµ¥µÄʵ×÷°¸Àý¡£
********************************** ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ