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

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


Ïà¹ØÎĵµ£º

3)Linux³ÌÐòÉè¼ÆÈëÃÅ

3)Linux³ÌÐòÉè¼ÆÈëÃÅ--Îļþ²Ù×÷
LinuxÏÂÎļþµÄ²Ù×÷
ǰÑÔ:
ÎÒÃÇÔÚÕâÒ»½Ú½«ÒªÌÖÂÛlinuxÏÂÎļþ²Ù×÷µÄ¸÷¸öº¯Êý.
ÎļþµÄ´´½¨ºÍ¶Áд
ÎļþµÄ¸÷¸öÊôÐÔ
Ŀ¼ÎļþµÄ²Ù×÷
¹ÜµÀÎļþ
----------------------------------------------------------------------------
----
1¡£ÎļþµÄ´´½¨ºÍ¶Áд
ÎÒ¼ÙÉèÄãÒѾ­ÖªµÀÁ˱ ......

5)Linux³ÌÐòÉè¼ÆÈëÃÅ

5)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÐźŴ¦Àí
LinuxϵÄÐźÅʼþ
ǰÑÔ:ÕâÒ»ÕÂÎÒÃÇÌÖÂÛÒ»ÏÂLinuxϵÄÐźŴ¦Àíº¯Êý.
LinuxϵÄÐźŴ¦Àíº¯Êý:
ÐźŵIJúÉú
ÐźŵĴ¦Àí
ÆäËüÐźź¯Êý
Ò»¸öʵÀý
1¡£ÐźŵIJúÉú
LinuxϵÄÐźſÉÒÔÀà±ÈÓÚDOSϵÄINT»òÕßÊÇWindowsϵÄʼþ.ÔÚÓÐÒ»¸öÐźŷ¢Éúʱ
ºòÏàÐŵÄÐźžͻᷢË͸øÏàÓ¦µÄ½ø³ ......

linuxÄÚºËÏà¹Ø»ù´¡

Ò»¡¢ÈÎÎñ¹ÜÀí
linuxÄں˵Ä3ÖÖµ÷¶È·½·¨¼ò½éÈçÏ£º
@SCHED_OTHER  ·Öʱµ÷¶È²ßÂÔ£¬½ø³ÌµÄȱʡÀàÐÍ£¬²ÉÓö¯Ì¬ÓÅÏȵ÷¶È²ßÂÔ£¬Ñ¡Ôñ½ø³ÌµÄÒÀ¾ÝÖ÷ÒªÊǸù¾Ý½ø³ÌgoognessÖµµÄ´óС£¬ÕâÖÖ½ø³ÌÔÚÔËÐÐʱ£¬¿ÉÒÔ±»¸ßgoodnessÖµµÄ½ø³ÌÇÀÏÈ£»
@SCHED_FIFO  ʵʱµ÷¶È²ßÂÔ£¬Ïȵ½ÏÈ·þÎñ£¬×ñÊØPOSIX1.b±ê×¼µÄFIFOµ÷¶È¹æÔò£¬Ëü»áÒ»Ö±Ô ......

ǶÈëʽlinux½Ìѧ´ó¸Ù

1¡¢Linux »ù´¡
°²×°Linux²Ù×÷ϵͳ
LinuxÎļþϵͳ
Linux³£ÓÃÃüÁî
LinuxÆô¶¯¹ý³ÌÏê½â
ÊìϤLinux·þÎñÄܹ»¶ÀÁ¢°²×°Linux²Ù×÷ϵͳ
Äܹ»ÊìÁ·Ê¹ÓÃLinuxϵͳµÄ»ù±¾ÃüÁî
ÈÏʶLinuxϵͳµÄ³£Ó÷þÎñ°²×°Linux²Ù×÷ϵͳ
Linux»ù±¾ÃüÁîʵ¼ù
ÉèÖÃLinux»·¾³±äÁ¿
¶¨ÖÆLinuxµÄ·þÎñ Shell ±à³Ì»ù´¡Ê¹ÓÃvi±à¼­Îļþ
ʹÓÃEmac ......

Linux»·¾³ÏµÄSocket±à³Ì

Linux»·¾³ÏµÄSocket±à³Ì
ʲôÊÇSocket
¡¡¡¡Socket½Ó¿ÚÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àº¯Êý»òÀý³Ì£¬³ÌÐòÔ±¿ÉÒÔÓÃËüÃÇÀ´¿ª·¢TCP/IPÍøÂçÉϵÄÓ¦ÓóÌÐò¡£ÒªÑ§InternetÉϵÄTCP/IPÍøÂç±à³Ì£¬±ØÐëÀí½âSocket½Ó¿Ú¡£
¡¡¡¡Socket½Ó¿ÚÉè¼ÆÕß×îÏÈÊǽ«½Ó¿Ú·ÅÔÚUnix²Ù×÷ϵͳÀïÃæµÄ¡£Èç¹ûÁ˽âUnixϵͳµÄÊäÈëºÍÊä³öµÄ»°£¬¾Íº ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ