LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â(¶þ)
; break;
}
if (type != EV_SYN)
dev->sync = 0;
if ((disposition & INPUT_PASS_TO_DEVICE) && dev->event)
dev->event(dev, type, code, value);
if (disposition & INPUT_PASS_TO_HANDLERS)
input_pass_event (dev, type, code, value);
}
ÔÚÕâÀï,ÎÒÃǺöÂÔµô¾ßÌåʼþµÄ´¦Àí.µ½×îºó,Èç¹û¸ÃʼþÐèÒªinput deviceÀ´Íê³ÉµÄ,¾Í»á½«dispositionÉèÖóÉINPUT_PASS_TO_DEVICE.Èç¹ûÐèÒªhandlerÀ´Íê³ÉµÄ,¾Í½«dispostionÉèΪINPUT_PASS_TO_DEVICE.Èç¹ûÐèÒªÁ½Õß¶¼²ÎÓë,½«dispositionÉèÖÃΪINPUT_PASS_TO_ALL.
ÐèÒªÊäÈëÉ豸²ÎÓëµÄ,»Øµ÷É豸µÄeventº¯Êý.Èç¹ûÐèÒªhandler²ÎÓëµÄ.µ÷ÓÃinput_pass_event().´úÂëÈçÏÂ:
static void input_pass_event(struct input_dev *dev,
unsigned int type, unsigned int code, int value)
{
struct input_handle *handle;
rcu_read_lock();
handle = rcu_dereference(dev->grab);
if (handle)
Ïà¹ØÎĵµ£º
./configure ¼ì²éϵͳÐÅÏ¢
./configure --help | more °ïÖúÐÅÏ¢
make clean   ......
Ê×Ïȼòµ¥µÄ½éÉÜÁ½Õߣº
¡¾linux²Ù×÷ϵͳ£º¼ò³ÆÃüÁ²Ù×÷ϵͳ¡¿
¼ò½é£º
¼òµ¥µØËµ£¬LinuxÊÇÒ»Ì×Ãâ·ÑʹÓúÍ×ÔÓÉ´«²¥µÄÀàUnix²Ù×÷ϵͳ£¬ËüÖ÷ÒªÓÃÓÚ»ùÓÚx86ϵÁÐCPUµÄ¼ÆËã»úÉÏ¡£Õâ¸öϵͳÊÇÓÉÊÀ½ç¸÷µØµÄ³ÉǧÉÏÍòµÄ³ÌÐòÔ±Éè¼ÆºÍʵÏֵġ£ÆäÄ¿µÄÊǽ¨Á¢²»ÊÜÈκÎÉÌÆ·»¯Èí¼þµÄ°æÈ¨ÖÆÔ¼µÄ¡¢È«ÊÀ½ç¶¼ÄÜ×ÔÓÉʹÓõÄUnix¼æÈݲúÆ·¡£
ÌØµã£º ......
http://blog.csdn.net/adcxf/archive/2009/03/14/3989725.aspx
¹² ÏíÄÚ´æ¿ÉÒÔ˵ÊÇ×îÓÐÓõĽø³Ì¼äͨÐÅ·½Ê½£¬Ò²ÊÇ×î¿ìµÄIPCÐÎʽ¡£Á½¸ö²»Í¬½ø³ÌA¡¢B¹²ÏíÄÚ´æµÄÒâ˼ÊÇ£¬Í¬Ò»¿éÎïÀíÄÚ´æ±»Ó³Éäµ½½ø³ÌA¡¢B¸÷×ԵĽø³ÌµØÖ·¿Õ ¼ä¡£½ø³ÌA¿ÉÒÔ¼´Ê±¿´µ½½ø³ÌB¶Ô¹²ÏíÄÚ´æÖÐÊý¾ÝµÄ¸üУ¬·´Ö®ÒàÈ»¡£ÓÉÓÚ¶à¸ö½ø³Ì¹²Ïíͬһ¿éÄÚ´æÇøÓò£¬±ØÈ»ÐèÒ ......
½«¿ÉÒÆ¶¯É豸Á¬Èëϵͳʱ£¬ÏµÍ³µÄºǫ́ÖлáÒÀ´Î·¢ÉúÈçÏÂʼþ£º
l Äں˼ì²âµ½ÐÂÓ²¼þ²åÈ룬Ȼºó·Ö±ð֪ͨhotplugºÍudev¡£Ç°ÕßÓÃÀ´×°ÈëÏàÓ¦µÄÄÚºËÄ£¿é(Èçusb-storage)£¬¶øºóÕßÓÃÀ´ÔÚ/devÖд´½¨ÏàÓ¦µÄÉ豸½Úµã(Èç/dev/sda1)¡£
l udev´´½¨ÁËÏàÓ¦µÄÉ豸½ÚµãÖ®ºó£¬»á½«ÕâÒ»ÏûϢ֪ͨhalµÄÊØ»¤³ÌÐò(hald)¡£µ±È»udev»¹µÃ±£Ö¤Ð ......
µ±ÔÚLinuxÏÂÆµ·±´æÈ¡Îļþ
ºó£¬ÎïÀíÄÚ´æ»áºÜ¿ì±»Óù⣬µ±³ÌÐò
½áÊøºó£¬ÄÚ´æ²»»á±»Õý³£ÊÍ·Å£¬¶øÊÇÒ»Ö±×÷Ϊcaching¡£Õâ¸öÎÊÌâ£¬Ã²ËÆÓв»ÉÙÈËÔÚÎÊ£¬²»¹ý¶¼Ã»Óп´µ½ÓÐʲôºÜºÃ½â¾ö
µÄ°ì·¨¡£ÄÇôÎÒÀ´Ì¸Ì¸Õâ¸öÎÊÌâ¡£
Ò»¡¢Í¨³£Çé¿ö
ÏÈÀ´ËµËµfreeÃüÁî
£º
ÒýÓÃ
[root@server ~]# free -m
total used free shared buffers cac ......