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

linuxÇý¶¯±à³ÌºËÐÄÀíÂÛÖ®²¢·¢¿ØÖÆ

Çý¶¯±à³ÌºËÐÄÀíÂÛÖ®²¢·¢¿ØÖÆ
²¢·¢£¬¾¹Ì¬µÄÀí½â£ºÒ²¾ÍÊÇLinuxµÄ¶«Î÷ÔÚʱ¼äºÍ¿Õ¼ä±»Í¬Ê±Ê¹Óõ¼ÖµÄÎÊÌâ
LinuxϵͳÌṩµÄ½â¾ö·½°¸£º
    ÖÐ¼ÌÆÁ±Î
    Ô­×Ó²Ù×÷
    ×ÔÐýËø
    ÐźÅÁ¿
   
1,ÖÐ¶ÏÆÁ±Î
    Ê×ÏÈÕâ¸öÒÀÀµÓÚCPU£¬CPUÒ»°ãÌṩÆÁ±ÎÖжϵĴò¿ªÖжϵŦÄÜ,ÖÐ¶ÏÆÁ±ÎʹµÃÖжϺͽø³ÌÖ®¼äµÄ²¢·¢
    ²»ÔÙ·¢Éú£¬Í¬Ê±½ø³Ìµ÷ÊÔÒ²ÒÀÀµÓÚÖжϣ¬ÄÚºËÇÀÕ¼µÄ½ø³Ì¼ä²¢·¢Ò²¾Í¿ÉÒÔ±ÜÃâ
   
    ʹÓ÷½·¨
    local_irq_disable()//ÆÁ±ÎÖжÏ
    ...
    critical section()//ÁÙ½çÇø
    ...
    local_irq_enable()//´ò¿ªÖжÏ
    ÕâÖÖ·½·¨Ö»Äܽâ¾öµ¥¸öCPUµÄÎÊÌâ
   
    ×¢Òâ £º ³¤Ê±¼äÖÐ¶ÏÆÁ±ÎºÜΣÏÕ£¬±È½ÏÊʺϺÍ×ÔÐýËøÁªºÏʹÓÃ
    local_irq_save(flags)    ½ûÖ¹ÖжÏͬʱ±£´æÄ¿Ç°CPUµÄÖжÏÐÅϢλ
    local_irq_restore(flags) ´ò¿ªÖжÏͬʱ»Ö¸´ÖжÏÐÅϢλ
    µ×°ë²¿²Ù×÷
    local_bh_disable()
    local_bh_enable()
   
2,Ô­×Ó²Ù×÷
    Ô­×Ó²Ù×÷ÊÇÖ¸ÔÚÖ´Ðйý³ÌÖв»»á±»µÄ´úÂë·¾¶ËùÖжϵIJÙ×÷¡£´ýÀí½â
    ·ÖΪÁ½À࣬Õë¶ÔλµÄ²Ù×÷ºÍÕûÐͱäÁ¿µÄ²Ù×÷
   
    Õë¶ÔÕûÐͱäÁ¿µÄÔ­×Ó²Ù×÷µÄÏà¹Øº¯Êý
    void atomic_set(atomic_t *v, int i);//ÉèÖÃÔ­×Ó±äÁ¿µÄֵΪi
    atomic_t v = ATOMIC_INIT(0);//¶¨ÒåÔ­×Ó±äÁ¿v²¢³õʼ»¯Îª0
    atomic_read(atomic_t *v);//·µ»ØÔ­×Ó±äÁ¿µÄÖµ
    void atomic_add(int i, atomic_t *v);//Ô­×Ó±äÁ¿Ôö¼Ói
    void atomic_sub(int i, atomic_t *v);//Ô­×Ó±äÁ¿¼õÉÙi
    void atomic_inc(atomic_t *v);//Ô­×Ó±äÁ¿×ÔÔö¼Ó1
    void atomic_dec(atomic_t *v);//Ô­×Ó±äÁ¿×Ô¼õÉÙ1
    ²Ù×÷²¢²âÊÔº¯Êý
    int atomic_inc_and_test(atomic_t *v);
    int atomic_dec


Ïà¹ØÎĵµ£º

LINUX°²×°Íø¿¨Çý¶¯Ê±ÌáʾÕÒ²»µ½.autoconf.h

ÔÚfc8µÄdom0Éϰ²×°e1000eÍø¿¨Çý¶¯
#make
#Linux kernel source not configured: missing autoconf.h
½â¾ö·½·¨£º
ÔÚ±àÒëxenʱδʹÓÃmake config
´Ëʱ¿ÉÒÔÕÒµ½Ô´Â룬ÆäÖаüº¬.configÎļþ£¬ÔËÐÐmake oldconfig¼´¿ÉÉú³Éautoconf.h
´Ó¶ø¿ÉÒԳɹ¦±àÒë°²×°Äںˡ£ ......

LinuxÖÐBash»·¾³±äÁ¿µÄÉ趨˳Ðò

ºÍBashµÄ»·¾³É趨ÓйصÄÎļþÓÐ
/etc/profile (Ö÷Òª)
$HOME/.bash_profile (Ö÷Òª)
$HOME/.bash_login
$HOME/.profile
$HOME/.bash_logout (Ö÷Òª)
$HOME/.bashrc (Ö÷Òª)
/etc/bashrc
˵Ã÷ÈçÏ£º
µÇÈë(login)ʱ
ÏÈÖ´ÐÐ /etc/profile
½Ó×Åbash»á¼ì²éʹÓÃÕßµÄ×Ô¼ÒĿ¼ÖУ¬ÊÇ·ñÓÐ .bash_profile »òÕß .bash_login»òÕß ......

È«ÇòLinuxÓû§ËÄÔ·ÝÓÖÉÙÁËÈý·ÖÖ®Ò»






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
     µ±½ñ£¬²»ÉÙ
Linux
Óû§Ò²Ê¹ÓÃÆäËû²Ù×÷ϵͳ£¬ÓÐʱÕâÑù£¬ÓÐʱÄÇÑù£¬ÄÑÓÚ¾«È·Í³¼Æ¡£Ö¤¾ÝºÎÔÚ£¿
 
       5
ÔÂ
7
ÈÕ£¬
www.w3couter.com
ÍøÕ¾·¢²¼Ã¿ÔÂͳ¼ÆÊý ......

Linux¶àÏ̱߳à³ÌºÍLinux 2.6ϵÄNPTL


ÊÐÃæÉÏÓеÄÒ»±¾½éÉܶàÏ̵߳ÄÊé¡¶Posix ¶àÏ̱߳à³Ì¡·£¬ËüÊÇÓ¢Îİ桶Programming with POSIX Muiltthread¡·ÖÐÒë±¾£¬ÕâÒ²ÊǰëÄêǰÎÒËùÄÜÕÒµ½µÄΨһרÌâ½éÉܶàÏ̱߳à³ÌµÄÊé¡£ÎÒ¸öÈ˸оõÕâ±¾ÊéµÄÇ°Ãæ1/3Ö®Ò»µÄÄÚÈÝдµÄ»¹ÊDz»´íµÄ£¬µ«ÊǺóÃæµÄ¶«Î÷¾Í·Ç³£»Þɬ²¢ÇÒÓкܶàÃ÷ÏÔµÄÎÄ×Ö´íÎ󡣿´¿´Õâ±¾ÊéµÄ·­ÒëÕßÊǺü¸¸öÈË£¬¹À¼ÆÃ¿¸öÈ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ