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
Ïà¹ØÎĵµ£º
×¢: ¸ÃϵÁÐÎÄÕÂ×ªÔØ×Ôarm+linux chinaunix²©¿ÍȦȦÖ÷Ö®²©¿Í——http://blog.chinaunix.net/u/22630 /article_54997.html ΪÁËÊʺÏÎҵıàÒë»·¾³£¬Ô´´úÂëÓи͝£¬µ«ÊÇÏàÐÅÎÒ¸ü¸ÄºóµÄ´úÂë¸ü¼ÓÊʺÏÏÖÔÚ´ó¶àÊý¶ÁÕßµÄpc»·¾³¡£
×èÈû²Ù×÷ÊÇÖ¸£¬ÔÚÖ´ÐÐÉ豸²Ù×÷ʱ£¬Èô²»ÄÜ»ñµÃ×ÊÔ´£¬Ôò½ø³Ì¹ÒÆðÖ±µ½Âú×ã¿É²Ù×÷µ ......
5)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÐźŴ¦Àí
LinuxϵÄÐźÅʼþ
ǰÑÔ:ÕâÒ»ÕÂÎÒÃÇÌÖÂÛÒ»ÏÂLinuxϵÄÐźŴ¦Àíº¯Êý.
LinuxϵÄÐźŴ¦Àíº¯Êý:
ÐźŵIJúÉú
ÐźŵĴ¦Àí
ÆäËüÐźź¯Êý
Ò»¸öʵÀý
1¡£ÐźŵIJúÉú
LinuxϵÄÐźſÉÒÔÀà±ÈÓÚDOSϵÄINT»òÕßÊÇWindowsϵÄʼþ.ÔÚÓÐÒ»¸öÐźŷ¢Éúʱ
ºòÏàÐŵÄÐźžͻᷢË͸øÏàÓ¦µÄ½ø³ ......
6)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÏûÏ¢¹ÜÀí
ǰÑÔ:LinuxϵĽø³ÌͨÐÅ(IPC)
LinuxϵĽø³ÌͨÐÅ(IPC)
POSIXÎÞÃûÐźÅÁ¿
System VÐźÅÁ¿
System VÏûÏ¢¶ÓÁÐ
System V¹²ÏíÄÚ´æ
1¡£POSIXÎÞÃûÐźÅÁ¿ Èç¹ûÄãѧϰ¹ý²Ù×÷ϵͳ,ÄÇô¿Ï¶¨ÊìϤPV²Ù×÷ÁË.PV²Ù×÷ÊÇÔ×Ó
²Ù×÷.Ò²¾ÍÊDzÙ×÷ÊDz»¿ÉÒÔÖжϵÄ,ÔÚÒ»¶¨µÄʱ¼äÄÚ,Ö»Äܹ»ÓÐÒ»¸ö½ø³ÌµÄ´ ......
¹¤×÷Öо³£ÐèÒªKill¶à¸ö½ø³Ì£¬Èç¹ûÕâЩ½ø³ÌÓй²Í¬µÄÌØµã£¬¾Í¿ÉÒÔÓÃÒ»ÌõÃüÁîKillµôËüÃÇ¡£
±ÈÈçÇå³ýOracleÊý¾Ý¿âµÄËùÓÐÔ¶³ÌÁ¬½Ó½ø³Ì£º
ps -efww|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9
¡¡¡¡¹ÜµÀ·û“|”ÓÃÀ´¸ô¿ªÁ½¸öÃüÁ¹ÜµÀ·û×ó±ßÃüÁîµÄÊä³ö»á×÷Ϊ¹ÜµÀ·ûÓÒ±ßÃüÁîµÄÊäÈë¡£ÏÂÃæËµËµÓà ......