LinuxÄں˵Äͬ²½»úÖÆ£¨Ò»£©£ºÔ×Ó²Ù×÷
Ô×Ó²Ù×÷£ºUPºÍSMPµÄÒìͬ
Ô×Ó²Ù×÷ÊDz»¿É·Ö¸îµÄ£¬ÔÚÖ´ÐÐÍê±Ï²»»á±»ÈÎºÎÆäËüÈÎÎñ»òʼþÖжϡ£ÔÚµ¥´¦ÀíÆ÷ϵͳ£¨UniProcessor£©ÖУ¬Äܹ»ÔÚµ¥ÌõÖ¸ÁîÖÐÍê³ÉµÄ²Ù×÷¶¼¿ÉÒÔÈÏΪÊÇ"Ô×Ó²Ù×÷"£¬ÒòΪÖжÏÖ»ÄÜ·¢ÉúÓÚÖ¸ÁîÖ®¼ä¡£ÕâÒ²ÊÇijЩCPUÖ¸ÁîϵͳÖÐÒýÈëÁËtest_and_set¡¢test_and_clearµÈÖ¸ÁîÓÃÓÚÁÙ½ç×ÊÔ´»¥³âµÄÔÒò¡£µ«ÊÇ£¬ÔڶԳƶദÀíÆ÷£¨Symetric Multi-Processor£©½á¹¹ÖоͲ»Í¬ÁË£¬ÓÉÓÚϵͳÖÐÓжà¸ö´¦ÀíÆ÷ÔÚ¶ÀÁ¢µØÔËÐУ¬¼´Ê¹ÄÜÔÚµ¥ÌõÖ¸ÁîÖÐÍê³ÉµÄ²Ù×÷Ò²ÓпÉÄÜÊܵ½¸ÉÈÅ¡£ÎÒÃÇÒÔdecl£¨µÝ¼õÖ¸ÁΪÀý£¬ÕâÊÇÒ»¸öµäÐ͵Ä"¶Á£¸Ä£Ð´"¹ý³Ì£¬Éæ¼°Á½´ÎÄÚ´æ·ÃÎÊ¡£ÉèÏëÔÚ²»Í¬CPUÔËÐеÄÁ½¸ö½ø³Ì¶¼Ôڵݼõij¸ö¼ÆÊýÖµ£¬¿ÉÄÜ·¢ÉúµÄÇé¿öÊÇ£º
1£® CPU A£¨ÉϵĽø³Ì£¬ÒÔÏÂͬ£©´ÓÄÚ´æµ¥Ôª°Ñµ±Ç°¼ÆÊýÖµ£¨2£©×°ÔؽøËüµÄ¼Ä´æÆ÷ÖУ»
2£® CPU B´ÓÄÚ´æµ¥Ôª°Ñµ±Ç°¼ÆÊýÖµ£¨2£©×°ÔؽøËüµÄ¼Ä´æÆ÷ÖС£
3£® CPU AÔÚËüµÄ¼Ä´æÆ÷Öн«¼ÆÊýÖµµÝ¼õΪ1£»
4£® CPU BÔÚËüµÄ¼Ä´æÆ÷Öн«¼ÆÊýÖµµÝ¼õΪ1£»
5£® CPU A°ÑÐ޸ĺóµÄ¼ÆÊýÖµ£¨1£©Ð´»ØÄÚ´æµ¥Ôª¡£
6£® CPU B°ÑÐ޸ĺóµÄ¼ÆÊýÖµ£¨1£©Ð´»ØÄÚ´æµ¥Ôª¡£
ÎÒÃÇ¿´µ½£¬ÄÚ´æÀïµÄ¼ÆÊýÖµÓ¦¸ÃÊÇ0£¬È»¶øËüÈ´ÊÇ1¡£Èç¹û¸Ã¼ÆÊýÖµÊÇÒ»¸ö¹²Ïí×ÊÔ´µÄÒýÓüÆÊý£¬Ã¿¸ö½ø³Ì¶¼Ôڵݼõºó°Ñ¸ÃÖµÓë0½øÐбȽϣ¬´Ó¶øÈ·¶¨ÊÇ·ñÐèÒªÊͷŸù²Ïí×ÊÔ´¡£Õâʱ£¬Á½¸ö½ø³Ì¶¼È¥µôÁ˶Ըù²Ïí×ÊÔ´µÄÒýÓ㬵«Ã»ÓÐÒ»¸ö½ø³ÌÄܹ»ÊÍ·ÅËü--Á½¸ö½ø³Ì¶¼Íƶϳö£º¼ÆÊýÖµÊÇ1£¬¹²Ïí×ÊÔ´ÈÔÈ»ÔÚ±»Ê¹Óá£
Ô×ÓÐÔ²»¿ÉÄÜÓÉÈí¼þµ¥¶À±£Ö¤--±ØÐëÐèÒªÓ²¼þµÄÖ§³Ö£¬Òò´ËÊǺͼܹ¹Ïà¹ØµÄ¡£ÔÚx86ƽ̨ÉÏ£¬CPUÌṩÁËÔÚÖ¸ÁîÖ´ÐÐÆÚ¼ä¶Ô×ÜÏß¼ÓËøµÄÊֶΡ£CPUоƬÉÏÓÐÒ»ÌõÒýÏß#HLOCK pin£¬Èç¹û»ã±àÓïÑԵijÌÐòÖÐÔÚÒ»ÌõÖ¸ÁîÇ°Ãæ¼ÓÉÏǰ׺"LOCK"£¬¾¹ý»ã±àÒÔºóµÄ»úÆ÷´úÂë¾ÍʹCPUÔÚÖ´ÐÐÕâÌõÖ¸ÁîµÄʱºò°Ñ#HLOCK pinµÄµçλÀµÍ£¬³ÖÐøµ½ÕâÌõÖ¸Áî½áÊøÊ±·Å¿ª£¬´Ó¶ø°Ñ×ÜÏßËø×¡£¬ÕâÑùͬһ×ÜÏßÉϱðµÄCPU¾ÍÔÝʱ²»ÄÜͨ¹ý×ÜÏß·ÃÎÊÄÚ´æÁË£¬±£Ö¤ÁËÕâÌõÖ¸ÁîÔÚ¶à´¦ÀíÆ÷»·¾³ÖеÄÔ×ÓÐÔ¡£
LinuxÄÚºËÖеÄÔ×Ó²Ù×÷
Linux 2.4.21ÖУ¬Ô×ÓÀàÐ͵͍ÒåºÍÔ×Ó²Ù×÷API¶¼·ÅÔÚÄÚºËÔ´ÂëÊ÷µÄinclude/asm/atomic.hÎļþÖУ¬´ó²¿·ÖʹÓûã±àÓïÑÔʵÏÖ£¬ÒòΪcÓïÑÔ²¢²»ÄÜʵÏÖÕâÑùµÄ²Ù×÷¡£
ÔÚx86µÄÔ×Ó²Ù×÷ʵÏÖ´úÂëÖУ¬¶¨ÒåÁËLOCKºê£¬Õâ¸öºê¿ÉÒÔ·ÅÔÚËæºóµÄÄÚÁª»ã±àÖ¸Áî֮ǰ¡£Èç¹ûÊÇSMP£¬LOCKºê±»À©Õ¹ÎªlockÖ¸Á·ñÔò±»¶¨ÒåΪ¿Õ--µ¥CPUÎÞÐè·ÀÖ¹ÆäËüCPUµÄ¸ÉÈÅ£¬ËøÄÚ´æ×ÜÏßÍêÈ«ÊÇÔÚÀË·Ñʱ¼ä¡£
#ifdef CONFIG_SMP
#define LOCK "lock ; "
#else
#define LOCK ""
#e
Ïà¹ØÎĵµ£º
2.1.2 ÓÃNFSʵÏÖ×ÊÔ´¹²Ïí
Ç°Ãæ½²µÄSambaÊÇʵÏÖLinuxÖ÷»úÖ®¼ä¡¢WindowsºÍLinuxÖ®¼äʵÏÖ×ÊÔ´¹²ÏíµÄ;¾¶¡£¶øNFSÊÇʵÏÖLinuxÖ÷»úÖ®¼ä¹²ÏíµÄÁíÒ»ÖÖ;¾¶¡£NFS×îÔçʹÓÃÔÚSun·þÎñÆ÷ÉÏ£¬ÏÖÔÚÒÑ¾ÒÆÖ²µ½¸÷ÖÖÀàUNIXϵͳÏÂÁË£¬WindowsÏÂÒ²ÓÐÏàÓ¦µÄ°æ±¾¡£Ïà¶ÔSamba·þÎñ£¬NFS¹²Ïí¾ßÓмòµ¥¿ìËÙµÄÌØµã£¬ËùÒÔĿǰ¹ã·ºÓÃÓÚÀàUNIXÖ÷»úÖ®¼äµÄ×Ê ......
1¡¢Í¨¹ýlsmodÀ´»ñµÃÄÚºËÒѼÓÔØÁËÄÇЩģ¿é£¬Õâ¸öÃüÁîÊǶÁÈ¡/proc/modulesÎļþµÄÄÚÈÝÀ´»ñµÃÐÅÏ¢µÄ¡£
2¡¢ÄÚºËÄ£¿é¹ÜÀíÊØ»¤½ø³ÌkmodÖ´ÐÐmodprobeÈ¥¼ÓÔØÄÚºËÄ£¿é¡£modprobeµÄ¹¦ÄܺÍinsmodÀàËÆ£¬µ«ÊÇËü³ýÁË×°ÈëÖ¸¶¨Ä£¿éÍ⣬»¹Í¬Ê±×°ÈëÖ¸¶¨Ä£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£
3¡¢Èç¹ûÄÚºËÖдò¿ªÁËCONFIG_MODVERSIONSÑ¡Ïî£¬Ô ......
¹¤×÷Öо³£ÐèÒªKill¶à¸ö½ø³Ì£¬Èç¹ûÕâЩ½ø³ÌÓй²Í¬µÄÌØµã£¬¾Í¿ÉÒÔÓÃÒ»ÌõÃüÁîKillµôËüÃÇ¡£
±ÈÈçÇå³ýOracleÊý¾Ý¿âµÄËùÓÐÔ¶³ÌÁ¬½Ó½ø³Ì£º
ps -efww|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9
¡¡¡¡¹ÜµÀ·û“|”ÓÃÀ´¸ô¿ªÁ½¸öÃüÁ¹ÜµÀ·û×ó±ßÃüÁîµÄÊä³ö»á×÷Ϊ¹ÜµÀ·ûÓÒ±ßÃüÁîµÄÊäÈë¡£ÏÂÃæËµËµÓà ......
Linux»·¾³ÏµÄSocket±à³Ì
ʲôÊÇSocket
¡¡¡¡Socket½Ó¿ÚÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àº¯Êý»òÀý³Ì£¬³ÌÐòÔ±¿ÉÒÔÓÃËüÃÇÀ´¿ª·¢TCP/IPÍøÂçÉϵÄÓ¦ÓóÌÐò¡£ÒªÑ§InternetÉϵÄTCP/IPÍøÂç±à³Ì£¬±ØÐëÀí½âSocket½Ó¿Ú¡£
¡¡¡¡Socket½Ó¿ÚÉè¼ÆÕß×îÏÈÊǽ«½Ó¿Ú·ÅÔÚUnix²Ù×÷ϵͳÀïÃæµÄ¡£Èç¹ûÁ˽âUnixϵͳµÄÊäÈëºÍÊä³öµÄ»°£¬¾Íº ......
ΪÁ˸üºÃµÄ½â¾öÐéÄâ»úÓëÖ÷»úµÄ¹²ÏíÎÊÌ⣬VMware¹«Ë¾ÓÐÒ»¸öVMWare£tools£¬À´ÊµÏÖÎļþ¹²Ïí¡£ÕâÀïÖ÷Òª½²µÄÊÇÔÚWindowsÏÂÓà VmwareÐéÄâLinuxÀ´ÓëwindowsÀ´¹²Ïí¡£
¡¡¡¡1¡¢°²×°¿Í»§»úϵͳ£¬linuxÕâÀïÑ¡ÓÃCentOS5
¡¡¡¡2¡¢Æô¶¯ÐéÄâ»úÖеÄLinuxºó£¬£¨×¢Òâ±ØÐëÊÇÆô¶¯ÐéÄâ»úºó£©¡£Ñ¡Ôñ²Ëµ¥ÀïµÄVMÑ¡ÏÀïÃæÓÐÒ»¸ö×ÓÏîÊÇInstall VM ......