Linux ͬ²½·½·¨ÆÊÎö
ÎÄÕÂÀ´Ô´:http://www.ibm.com/developerworks/cn/linux/l-linux-synchronization.html
¼¶±ð£º Öм¶
M. Tim Jones, ¹ËÎʹ¤³Ìʦ, Emulex
2007 Äê 11 ÔÂ 19 ÈÕ
ÔÚѧϰ Linux® µÄ¹ý³ÌÖУ¬ÄúÒ²Ðí½Ó´¥¹ý²¢·¢£¨concurrency£©¡¢ÁÙ½ç¶Î£¨critical section£©ºÍËø¶¨£¬µ«ÊÇÈçºÎÔÚÄÚºËÖÐʹÓÃÕâЩ¸ÅÄîÄØ£¿±¾ÎÄÌÖÂÛÁË 2.6 °æÄÚºËÖпÉÓõÄËø¶¨»úÖÆ£¬°üÀ¨Ô×ÓÔËËã·û£¨atomic operator£©¡¢×ÔÐýËø£¨spinlock£©¡¢¶Á/Ð´Ëø£¨reader/writer lock£©ºÍÄÚºËÐźÅÁ¿£¨kernel semaphore£©¡£ ±¾ÎÄ»¹Ì½ÌÖÁËÿÖÖ»úÖÆ×îÊʺÏÓ¦Óõ½ÄÄЩµØ·½£¬ÒÔ¹¹½¨°²È«¸ßЧµÄÄں˴úÂë¡£
±¾ÎÄÌÖÂÛÁË Linux ÄÚºËÖпÉÓõĴóÁ¿Í¬²½»òËø¶¨»úÖÆ¡£ÕâЩ»úÖÆÎª 2.6.23 °æÄں˵ÄÐí¶à¿ÉÓ÷½·¨ÌṩÁËÓ¦ÓóÌÐò½Ó¿Ú£¨API£©¡£µ«ÊÇÔÚÉîÈëѧϰ API ֮ǰ£¬Ê×ÏÈÐèÒªÃ÷°×½«Òª½â¾öµÄÎÊÌâ¡£
developerWorks ÉÏ Tim µÄ¸ü¶à ÆÊÎö... ϵÁÐ
Linux ÎļþϵͳÆÊÎö
Linux ÍøÂç¶ÑÕ»ÆÊÎö
Linux ÄÚºËÆÊÎö
Linux slab ·ÖÅäÆ÷ÆÊÎö
Tim µÄËùÓÐ Anatomy of... ÎÄÕÂ
²¢·¢ºÍËø¶¨
µ±´æÔÚ²¢·¢ÌØÐÔʱ£¬±ØÐëʹÓÃͬ²½·½·¨¡£µ±ÔÚͬһʱ¼ä¶Î³öÏÖÁ½¸ö»ò¸ü¶à½ø³Ì²¢ÇÒÕâЩ½ø³Ì±Ë´Ë½»»¥£¨ÀýÈ磬¹²ÏíÏàͬµÄ×ÊÔ´£©Ê±£¬¾Í´æÔÚ²¢·¢ ÏÖÏó¡£
ÔÚµ¥´¦ÀíÆ÷£¨uniprocessor£¬UP£©Ö÷»úÉÏ¿ÉÄÜ·¢Éú²¢·¢£¬ÔÚÕâÖÖÖ÷»úÖжà¸öÏ̹߳²Ïíͬһ¸ö CPU ²¢ÇÒÇÀÕ¼£¨preemption£©´´½¨¾ºÌ¬Ìõ¼þ¡£ÇÀÕ¼ ͨ¹ýÁÙʱÖжÏÒ»¸öÏß³ÌÒÔÖ´ÐÐÁíÒ»¸öÏ̵߳ķ½Ê½À´ÊµÏÖ CPU ¹²Ïí¡£¾ºÌ¬Ìõ¼þ ·¢ÉúÔÚÁ½¸ö»ò¸ü¶àÏ̲߳Ù×ÝÒ»¸ö¹²ÏíÊý¾ÝÏîʱ£¬Æä½á¹ûÈ¡¾öÓÚÖ´ÐеÄʱ¼ä¡£ÔÚ¶à´¦ÀíÆ÷£¨MP£©¼ÆËã»úÖÐÒ²´æÔÚ²¢·¢£¬ÆäÖÐÿ¸ö´¦ÀíÆ÷Öй²ÏíÏàͬÊý¾ÝµÄÏß³ÌͬʱִÐС£×¢ÒâÔÚ MP Çé¿öÏ´æÔÚÕæÕýµÄ²¢ÐУ¨parallelism£©£¬ÒòΪÏß³ÌÊÇͬʱִÐеġ£¶øÔÚ UP ÇéÐÎÖУ¬²¢ÐÐÊÇͨ¹ýÇÀÕ¼´´½¨µÄ¡£Á½ÖÖģʽÖÐʵÏÖ²¢·¢¶¼½ÏΪÀ§ÄÑ¡£
Linux ÄÚºËÔÚÁ½ÖÖģʽÖж¼Ö§³Ö²¢·¢¡£Äں˱¾ÉíÊǶ¯Ì¬µÄ£¬¶øÇÒÓÐÐí¶à´´½¨¾ºÌ¬Ìõ¼þµÄ·½·¨¡£Linux ÄÚºËÒ²Ö§³Ö¶à´¦Àí£¨multiprocessing£©£¬³ÆÎª¶Ô³Æ¶à´¦Àí£¨SMP£©¡£¿ÉÒÔÔÚ±¾ÎĺóÃæµÄ ²Î¿¼×ÊÁÏ ²¿·Öѧµ½¸ü¶à¹ØÓÚ SMP µÄ֪ʶ¡£
ÁÙ½ç¶Î¸ÅÄîÊÇΪ½â¾ö¾ºÌ¬Ìõ¼þÎÊÌâ¶ø²úÉúµÄ¡£Ò»¸öÁÙ½ç¶Î ÊÇÒ»¶Î²»ÔÊÐí¶à··ÃÎʵÄÊܱ£»¤µÄ´úÂë¡£Õâ¶Î´úÂë¿ÉÒÔ²Ù×ݹ²ÏíÊý¾Ý»ò¹²Ïí·þÎñ£¨ÀýÈçÓ²¼þÍâΧÉ豸£©¡£ÁÙ½ç¶Î²Ù×÷ʱ¼á³Ö»¥³âËø£¨mutual exclusion£©ÔÔò£¨µ±Ò»¸öÏ̴߳¦ÓÚÁÙ½ç¶ÎÖÐʱ£¬ÆäËûËùÓÐÏ̶߳¼²»ÄܽøÈëÁÙ½ç¶Î£©¡£
ÁÙ½ç¶ÎÖÐÐèÒª½â¾öµÄÒ»¸öÎÊÌâÊÇËÀËøÌõ¼þ¡£¿¼ÂÇÁ½¸ö¶ÀÁ¢µÄÁÙ½ç¶Î£¬¸÷×Ô±£»¤²»Í¬µÄ×ÊÔ´¡£Ã¿¸ö×Ê
Ïà¹ØÎĵµ£º
Linux Shell »·¾³ÖÐÖ§³ÖÊäÈëÊä³öÖØ¶¨Ïò£¬Ó÷ûºÅ<ºÍ>À´±íʾ¡£0¡¢1ºÍ2·Ö±ð±íʾ±ê×¼ÊäÈë¡¢±ê×¼Êä³öºÍ±ê×¼´íÎóÐÅÏ¢Êä³ö£¬¿ÉÒÔÓÃÀ´Ö¸¶¨ÐèÒªÖØ¶¨ÏòµÄ±ê×¼ÊäÈë»òÊä³ö£¬±ÈÈç 2>a.txt ±íʾ½«´íÎóÐÅÏ¢Êä³öµ½Îļþa.txtÖС£
ͬʱ£¬»¹¿ÉÒÔÔÚÕâÈý¸ö±ê×¼ÊäÈëÊä³öÖ®¼äʵÏÖÖØ¶¨Ïò£¬±ÈÈ罫´íÎóÐÅÏ¢ÖØ¶¨Ïòµ½±ê×¼Êä³ö£¬¿ÉÒÔÓà 2> ......
ÌáÒª£ºLinux ´ÅÅÌ·ÖÇø±í¡¢ÎļþϵͳµÄ²é¿´¡¢Í³¼ÆµÄ¹¤¾ßºÜ¶à£¬ÓÐЩ¹¤¾ßÊǶ๦Äܵ쬲»½ö½öÊDz鿴´ÅÅ̵ķÖÇø±í£¬¶øÇÒÒ²ÄܽøÐдÅÅÌ·ÖÇøµÄ²Ù×÷£»µ«ÔÚ±¾ÎÄ£¬ÎÒÃÇÖ»½²´ÅÅÌ·ÖÇøµÄ²é¿´£¬ÒÔ¼°·ÖÇøµÄʹÓÃÇé¿öµÄ²é¿´£»±¾ÎÄÖ»ÊǸøÐÂÊÖÉÏ·֮Ó㻹ØÓÚ·ÖÇø¹¤¾ßµÄ²Ù×÷£¬ÎÒ½«ÔÚÒÔºó×öרÃŽéÉÜ£»´ËÎÄÄ¿µÄ:Ö÷ÒªÊÇÏò³õѧÕß½éÉÜÒ»ÏÂÈëÃűر¸µÄÒ»µ ......
Èç¹ûϵͳ¹ÜÀíԱϣÍûÌí¼ÓÒ»¸öÓû§ÒÔºó£¬ÈøÃÓû§µÚÒ»´ÎµÇ¼ÒÔºó×Ô¼ºÉèÖÃ×Ô¼ºµÄÃÜÂ룬ÄÇô¾ÍҪʹµÃÓû§µÄ³õʼÃÜÂë»òÕß¿ÕÃÜÂëÁ¢¿Ì¹ýÆÚ£¬Ç¿ÖÆÓû§µÚÒ»´ÎµÇ¼ºóÁ¢¿ÌÐÞ¸ÄÃÜÂë¡£
ΪÁËÇ¿ÖÆÓû§µÚÒ»´ÎµÇ¼ʱÉèÖÃÒ»¸öÐÂÃÜÂ룬Çë°´ÕÕÏÂÃæµÄָʾÀ´×ö£¬µ«ÊÇÐèÒªµÄ×¢ÒâµÄʱºòÈç¹ûÓû§ÊÇͨ¹ýSSHÔ¶³ÌµÇ¼½øÈ¥µÄ£¬ÄÇô¸Ã·½·¨ÊDz»ÄÜÉúЧµÄ ......
Linuxϰ²×°PHP5µÄÖ÷Òª²½Öè:
1.ÏÂÔØphp5£»µØÖ·£ºhttp://cn.php.net/downloads.php
2.½âѹÈí¼þ°üºó½øÈë¸ÃĿ¼
£¨×ªÕß×¢£º
¿ÉÄÜ»áÐèÒªÏȽâѹphp-5.*.tar.bz2 ,ÏÈÖ´ÐÐbzip2 -d php-5.*tar.bz2
£©
tar -xvf php-5.*.tar.gz
cd php-5.*
3.php°²×°mysqlµÄÄ£¿éµÄһЩ׼±¸¹¤×÷
ln -s /usr/local/mysql/lib/mysql /usr/l ......
ÈëÃÅÆª
¡¶LINUXȨÍþÖ¸ÄÏ¡·Êé²»´í£¬Ð´µÄºÜÈ«ÃæÒ²±È½Ï¹ã£¬Éæ¼°µÄ²»É×öΪÈëÃÅÊé¼®²»´í£¬¿ÉÒԱȽÏÈ«ÃæµÄÁ˽âlinux¡£ÁíÍâ±È½ÏÈÈÃŵÄÒ²¿ÉÒÔ¿´¿´¡¶Äñ¸çµÄ˽·¿²Ë¡·µÈÊ飬ƫ¹ÜÀíÀàµÄÊé¡£Èç¹ûÏë×öserver·½ÏòµÄ¿ÉÒÔÕÒÀ´¿´¿´¡£
Çý¶¯Æª
¡¶LINUXÉ豸Çý¶¯³ÌÐò¡·¾ÍÊÇÍøÉÏ˵µÄ“LDD”£¬¾µäÖ®×÷£¬±Ø±¸Êé¼®¡£¹ú²ú¾µä¡¶Lin ......