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

LinuxÄÚºËÖÐÓÃÓÚͬ²½µÄ¼¸ÖÖ»úÖÆ¼¯ÖÐÆðÀ´·ÖÎö

LinuxÄÚºËÖÐÓÃÓÚͬ²½µÄ¼¸ÖÖ»úÖÆ¼¯ÖÐÆðÀ´·ÖÎö£¬Ç¿µ÷ÁËËüÃÇÖ®¼äÔÚʵÏÖºÍʹÓÃÉϵIJ»Í¬¡£
¡¡¡¡Í¬²½Í¨³£ÊÇΪÁË´ïµ½¶àÏß³ÌЭͬµÄÄ¿µÄ¶øÉè¼ÆµÄÒ»ÖÖ»úÖÆ£¬Í¨³£°üº¬Òì²½ÐźŻúÖÆºÍ»¥³â»úÖÆ×÷ΪÆäʵÏֵĵײ㡣ÔÚLinux 2.4ÄÚºËÖÐÒ²ÓÐÏàÓ¦µÄ¼¼ÊõʵÏÖ£¬°üÀ¨ÐźÅÁ¿¡¢×ÔÐýËø¡¢Ô­×Ó²Ù×÷ºÍµÈ´ý¶ÓÁУ¬ÆäÖÐÔ­×Ó²Ù×÷ºÍµÈ´ý¶ÓÁÐÓÖÊÇʵÏÖÐźÅÁ¿µÄµ×²ã¡£
¡¡¡¡
¡¡¡¡Ò». µÈ´ý¶ÓÁкÍÒì²½ÐźÅ
¡¡¡¡
¡¡¡¡wait queueºÜÔç¾Í×÷Ϊһ¸ö»ù±¾µÄ¹¦Äܵ¥Î»³öÏÖÔÚLinuxÄÚºËÀïÁË£¬ËüÒÔ¶ÓÁÐΪ»ù´¡Êý¾Ý½á¹¹£¬Óë½ø³Ìµ÷¶È»úÖÆ½ôÃܽáºÏ£¬Äܹ»ÓÃÓÚʵÏÖºËÐĵÄÒ첽ʼþ֪ͨ»úÖÆ¡£ÎÒÃÇ´ÓËüµÄʹÓ÷¶Àý×ÅÊÖ£¬¿´¿´µÈ´ý¶ÓÁÐÊÇÈçºÎʵÏÖÒì²½ÐźŹ¦Äܵġ£
¡¡¡¡
¡¡¡¡ÔÚºËÐÄÔËÐйý³ÌÖУ¬¾­³£»áÒòΪijЩÌõ¼þ²»Âú×ã¶øÐèÒª¹ÒÆðµ±Ç°Ị̈߳¬Ö±ÖÁÌõ¼þÂú×ãÁ˲żÌÐøÖ´ÐС£ÔÚ2.4ÄÚºËÖÐÌṩÁËÒ»×éнӿÚÀ´ÊµÏÖÕâÑùµÄ¹¦ÄÜ£¬ÏÂÃæµÄ´úÂë½ÚÑ¡×Ôkernel/printk.c£º
¡¡¡¡
¡¡¡¡ unsigned long log_size;
¡¡¡¡1: DECLARE_WAIT_QUEUE_HEAD(log_wait);...
¡¡¡¡4: spinlock_t console_lock = SPIN_LOCK_UNLOCKED;...
¡¡¡¡ int do_syslog(int type,char *buf,int len){
¡¡¡¡ ...
¡¡¡¡2: error=wait_event_interruptible(log_wait,log_size);
¡¡¡¡ if(error)
¡¡¡¡ goto out;
¡¡¡¡ ...
¡¡¡¡5: spin_lock_irq(
¡¡¡¡ ...
¡¡¡¡ log_size--;
¡¡¡¡ ...
¡¡¡¡6: spin_unlock_irq(
¡¡¡¡ ...
¡¡¡¡ }
¡¡¡¡ asmlinkage int printk(const char *fmt,...){
¡¡¡¡ ...
¡¡¡¡7: spin_lock_irqsave(console_lock,flags);
¡¡¡¡ ...
¡¡¡¡ log_size++;...
¡¡¡¡8: spin_unlock_irqrestore(
¡¡¡¡3: wake_up_interruptible(log_wait);
¡¡¡¡ ...
¡¡¡¡ }
¡¡¡¡
¡¡¡¡Õâ¶Î´úÂëʵÏÖÁËprintkµ÷ÓúÍsyslogÖ®¼äµÄͬ²½£¬syslogÐèÒªµÈ´ýprintkËÍÊý¾Ýµ½»º³åÇø£¬Òò´Ë£¬ÔÚ2:´¦µÈ´ýlog_size·Ç0£»¶øprintkÒ»±ß´«ËÍÊý¾Ý£¬Ò»±ßÔö¼Ólog_sizeµÄÖµ£¬Íê³Éºó»½ÐÑÔÚlog_waitÉϵȴýµÄËùÓÐỊ̈߳¨Õâ¸öÏ̲߳»ÊÇÓû§¿Õ¼äµÄÏ̸߳ÅÄ¶øÊǺËÄÚµÄÒ»¸öÖ´ÐÐÐòÁУ©¡£Ö´ÐÐÁË3:µÄwake_up_interruptible()ºó£¬2:´¦µÄwait_event_interruptible()·µ»Ø0£¬´Ó¶ø½øÈësyslogµÄʵ¼Ê¶¯×÷¡£
¡¡¡¡
¡¡¡¡1:ÊǶ¨Òålog_waitÈ«¾Ö±äÁ¿µÄºêµ÷Óá£
¡¡¡¡
¡¡¡¡ÔÚʵ¼Ê²Ù×÷log_sizeÈ«¾Ö±äÁ¿µÄʱºò£¬»¹Ê¹ÓÃÁËspin_lock×ÔÐýËøÀ´ÊµÏÖ»¥³â£¬¹ØÓÚ×ÔÐýËø£¬ÕâÀïÔݲ»×÷½âÊÍ£¬µ«´ÓÕâ¶Î´úÂëÖÐÒѾ­¿ÉÒÔÇå³þµÄÖªµÀËüµÄʹÓ÷½·¨ÁË¡£
¡¡¡¡
¡¡¡¡ËùÓÐwait queueʹÓÃÉϵļ¼ÇÉÌåÏÖÔÚwait_event_interrupt


Ïà¹ØÎĵµ£º

Linux ƽ̨Ï MYSQL°²×° Æô¶¯ mysqlÃüÁî

MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port  &nb ......

30µÀǶÈëʽLinuxÄÚºËÈí¼þ¿ª·¢µÄ²âÊÔÌâ


Èç¹ûÄãÄÜÕýÈ·»Ø´ðÒÔÏÂÎÊÌâ²¢Éî¿ÌÀí½âÏà¹ØÖªÊ¶µãÔ­Àí£¬ÄÇôÄã¿ÉÒÔËãµÃÉÏ»ù±¾ºÏ¸ñµÄLinuxÄں˿ª·¢¹¤³Ìʦ£¬ÊÔÊÔ¿´£¡
1)LinuxÖÐÖ÷ÒªÓÐÄļ¸ÖÖÄÚºËËø£¿
2)LinuxÖеÄÓû§Ä£Ê½ºÍÄÚºËģʽÊÇʲôº¬Ò⣿
3)ÔõÑùÉêÇë´ó¿éÄÚºËÄڴ棿
4)Óû§½ø³Ì¼äͨÐÅÖ÷ÒªÄļ¸ÖÖ·½Ê½£¿
5)ͨ¹ý»ï°éϵͳÉêÇëÄÚºËÄÚ´æµÄº¯ÊýÓÐÄÄЩ£¿
 
6)Í ......

Linux USBÇý¶¯¿ò¼Ü·ÖÎöÏÂ

probeÊÇusb×Óϵͳ×Ô¶¯µ÷ÓõÄÒ»¸öº¯Êý£¬ÓÐUSBÉ豸½Óµ½Ó²¼þ¼¯Ï߯÷ʱ£¬usb×Óϵͳ»á¸ù¾Ýproduction IDºÍvendor IDµÄ×éºÏ»òÕßÉ豸µÄclass¡¢subclass¸úprotocolµÄ×éºÏÀ´Ê¶±ðÉ豸µ÷ÓÃÏàÓ¦Çý¶¯³ÌÐòµÄprobe£¨Ì½²â£©º¯Êý£¬¶ÔÓÚskeletonÀ´Ëµ£¬¾ÍÊÇskel_probe¡£ÏµÍ³»á´«µÝ¸øÌ½²âº¯ÊýÒ»¸öusb_interface *¸úÒ»¸östruct usb_device_id *×÷Î ......

Linux ²é¿´ÎļþºÍËÑË÷ÎļþÃüÁî

 ÔÚLinuxÀïÃæÒ»ÇнÔÎļþ£¬´ÓÎļþѧÆðÀ´£¬×î³£¼ûµÄÃüÁî¾ÍÊDz鿴ÎļþºÍËÑË÷Îļþ¡£
ÏÂÃæ¼òµ¥µÄ×ܽáÏÂÕ⼸¸öÃüÁ
²é¿´Îļþ(cat,tac,more,less,head,tail,od)
cat:
cat [file]
²é¿´ÎļþµÄÄÚÈÝ¡£È«³ÌʽconcatenateµÄÒâ˼£¬½«ÎļþÄÚÈÝÁ¬ÐøÊä³öµ½ÆÁÄ»ÉÏ¡£µÚÒ»Ðе½×îºóÒ»ÐÐÏÔʾ¡£
tac:
tac [file]
ºÍcat¸ÕºÃÏà·´ ÊÇ´Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ