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

¡¶LinuxÐÔÄܼ°µ÷ÓÅÖ¸ÄÏ¡·£­£­£­£­1.1 Linux½ø³Ì¹ÜÀí

·­Ò룺·É¸ç (
http://hi.baidu.com/imlidapeng
)
°æȨËùÓУ¬×ðÖØËûÈËÀͶ¯³É¹û£¬×ªÔØʱÇë×¢Ã÷×÷ÕߺÍԭʼ³ö´¦¼°±¾ÉùÃ÷¡£
Ô­ÎÄÃû³Æ£º¡¶Linux Performance and Tuning Guidelines¡·
Ô­ÎĵØÖ·£ºhttp://www.redbooks.ibm.com/abstracts/redp4285.html
-------------------------------------------------------------------------------------------
1.1.1 ½ø³ÌÊÇʲô£¿
1.1.2 ½ø³ÌÉúÃüÖÜÆÚ
1.1.3 Ïß³Ì
1.1.4 ½ø³ÌÓÅÏȼ¶ºÍNiceÖµ
1.1.5 ÉÏÏÂÎĽ»»»
1.1.6 Öжϴ¦Àí
1.1.7 ½ø³Ì״̬
1.1.8 ½ø³ÌÄÚ´æ¶Î
1.1.9 CPUµ÷¶ÈÆ÷
-------------------------------------------------------------------------------------------
½ø³Ì¹ÜÀí¶ÔÓÚÈκÎÒ»¸ö²Ù×÷ϵͳÀ´Ëµ¶¼ÊÇ×îÖØÒªµÄÈÎÎñÖ®Ò»¡£¸ßЧµÄ½ø³Ì¹ÜÀíÄܱ£Ö¤Ó¦ÓÃƽÎÈÓÐЧµÄÔËÐС£LinuxµÄ½ø³Ì¹ÜÀíÓëUNIXÊ®·ÖÏàËÆ¡£Ëü°üÀ¨½ø³Ìµ÷¶È¡¢Öжϴ¦Àí¡¢Ðźŷ¢ËÍ¡¢½ø³ÌÓÅÏȼ¶¡¢½ø³ÌÇл»¡¢½ø³Ì״̬¡¢½ø³ÌÄÚ´æµÈ¡£ÔÚ±¾Õ½ÚÖУ¬ÎÒ½«ÌÖÂÛLinux½ø³Ì¹ÜÀíµÄÔ­Àí¡£ËüÄÜ°ïÖúÄã¸üºÃµÄÁ˽âLinuxÄÚºËÊÇÔõÑù¹ÜÀí½ø³ÌÀ´Ó°ÏìϵͳÐÔÄܵġ£
1.1.1 ½ø³ÌÊÇʲô£¿
½ø³Ì¾ÍÊÇÖ´ÐгÌÐòÔËÐÐÔÚ´¦ÀíÆ÷ÉϵÄÒ»¸öʵÀý¡£½ø³Ì¿ÉÒÔʹÓÃLinuxÄÚºËËùÄÜ¿ØÖƵÄÈκÎ×ÊÔ´À´Íê³ÉËüµÄÈÎÎñ¡£ËùÓÐÔËÐÐÔÚLinux²Ù×÷ϵͳÉϵĽø³Ì¶¼Ê¹ÓÃÒ»¸öÃû½Ðtask_structµÄ½á¹¹À´¹ÜÀí£¬Õâ¸ö½á¹¹Òà±»³Æ×÷½ø³ÌÃèÊö·û¡¾Process
Descriptor¡¿¡£½ø³ÌÃèÊö·û°üÀ¨½ø³ÌÔËÐеÄËùÓÐÐÅÏ¢Èç½ø³ÌID¡¢½ø³ÌÊôÐԺ͹¹½¨Õâ¸ö½ø³ÌËùÐèÒªµÄ×ÊÔ´¡£Èç¹ûÄãÇå³þ½ø³ÌµÄ½á¹¹£¬¾ÍÄÜÁ˽⵽ʲô¶ÔÓÚ
½ø³ÌÖ´ÐкÍЧÄÜÀ´ËµÊÇÖØÒªµÄ¡£Í¼1-2Õ¹ÏÖÁ˽ø³Ì½á¹¹µÄ¸ÅÒª¡£
ͼ 1-2 task_struct½á¹¹
1.1.2 ½ø³ÌÉúÃüÖÜÆÚ
ÿ¸ö½ø³Ì¶¼ÓÐ×Ô¼ºµÄÉúÃüÖÜÆÚÈç´´½¨¡¢Ö´ÐС¢½áÊøºÍÏû³ý¡£ÕâЩ½×¶ÎÔÚϵͳÆô¶¯ÔËÐÐÖлᱻÖظ´ÎÞÊý´Î¡£Òò´Ë´ÓÐÔÄܽǶÈÀ´¿´½ø³ÌÉúÃüÖÜÆÚÊǼ«ÆäÖØÒªµÄ¡£Í¼1-3չʾ½ø³ÌµäÐ͵ÄÉúÃüÖÜÆÚ
ͼ1-3½ø³ÌµäÐ͵ÄÉúÃüÖÜÆÚ
µ±½ø³Ì´´½¨Ò»¸öеĽø³Ì£¬´´½¨½ø³Ì£¨¸¸½ø³Ì£©·¢³öfork()ϵͳµ÷Óᣵ±Ò»¸öfork()ϵͳµ÷Óñ»·¢³ö£¬Ëü½«µÃµ½Ò»¸ö¹ØÓÚнø³Ì£¨×Ó½ø³Ì£©µÄ½ø
³ÌÃèÊö·û²¢ÉèÖÃÒ»¸öеĽø³ÌID¡£Ëü»á½«¸¸½ø³ÌµÄ½ø³ÌÃèÊö·ûÖÐËùÓÐÊý¾Ý¸´ÖƵ½×Ó½ø³Ì¡£´Ëʱ¸¸½ø³ÌµÄÕû¸öµØÖ·¿Õ¼ä²¢Ã»Óб»¸´ÖƵģ¬ËùÒÔ¸¸×Ó½ø³Ì»á¹²ÏíÏàͬµÄ
µØÖ·¿Õ¼ä¡£exec()ϵͳµ÷ÓûḴÖÆÒ»¸öеijÌÐòµ½×Ó½ø³ÌµÄµØÖ·¿Õ¼ä¡£ÒòΪ¸¸×Ó½ø³Ì¹²ÏíÏàͬµÄµØÖ·¿Õ¼ä£¬ËùÒÔµ±Ð³ÌÐòдÈëÊý¾Ýʱ»áµ¼Ö·ÖÒ³´íÎó¡¾page
fault¡¿µÄÀýÍâ·¢Éú¡£ÕâʱºòÄں˻á·ÖÅä¸ø×Ó½ø³ÌÒ»¸öÐ


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØͼ£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

linux³£ÓÃcº¯Êý ÎļþȨÏÞ¿ØÖÆƪ

access£¨ÅжÏÊÇ·ñ¾ßÓдæÈ¡ÎļþµÄȨÏÞ£©
¡¡¡¡Ïà¹Øº¯Êý  stat£¬open£¬chmod£¬chown£¬setuid£¬setgid
¡¡¡¡±íÍ·Îļþ  #include<unistd.h>
¡¡¡¡¶¨Ò庯Êý  int access(const char * pathname,int mode);
¡¡¡¡º¯Êý˵Ã÷  access()»á¼ì²éÊÇ·ñ¿ÉÒÔ¶Á/дijһÒÑ´æÔÚµÄÎļþ¡£²ÎÊýmodeÓм¸ÖÖÇé¿ö×éºÏ£¬R_OK ......

¹ØÓÚlinuxÄÚºËÖеÄ"__attribute__ ((packed))"

¹ØÓÚlinuxÄÚºËÖеÄ"__attribute__ ((packed))"  
À´Ô´£º
http://jimmy-lee.blog.hexun.com/8001013_d.html
__attrubte__ ((packed)) µÄ×÷ÓþÍÊǸæËß±àÒëÆ÷È¡Ïû½á¹¹ÔÚ±àÒë¹ý³ÌÖеÄÓÅ»¯¶ÔÆë,°´ÕÕʵ¼ÊÕ¼ÓÃ×Ö½ÚÊý½øÐжÔÆë¡£
#define __u8    unsigned char
#define __u16   unsigned short ......

¼¸¸öÖØÒªµÄlinuxÎÄÕµØÖ·

http://www.ic37.com/htm_tech/2008-1/7319_150547.htm
http://www.lupaworld.com/26540/viewspace-114142.html
http://www.lupaworld.com/viewnews-17909.html
http://www.lupaworld.com/26540/viewspace-117210.html
http://www.lupaworld.com/26540/spacelist-blog-itemtypeid-2105.html
http://www.lupaworld.com/ ......

LinuxÍøÂç½Ø°ü²»ÍêÈ«ÕûÀí

ÍøÂç½Ø°üÊÇÒ»ÏîºÜÓÐÒâ˼µÄ¿ÎÌ⣬¿ÉÒÔÓÐÊý¾Ý¹ýÂË£¬·À»ðǽ£¬Á÷Á¿¿ØÖÆ£¬±¨ÎĴ۸ĵÈÖî¶àÓ¦Ó㬰´ÕÕÄں˷ֲã¼Ü¹¹½«Ò»Ð©½Ø°ü·½·¨²»ÍêÈ«ÕûÀíÈçÏ£¬»¶Ó­²¹³ä¡£
1¡¢ L1²ãÇý¶¯½Ø°ü·¨
    ÔÚÇý¶¯ÖÐÏÂÊÖÓ¦¸Ã¿ÉÒÔ˵ÊÇ×îÌù½üµ×²ãµÄ£¬Íø¿¨Çý¶¯ÖÐ×ÜÓÐrx½ÓÊÕºÍxmit·¢Ëͺ¯Êý£¬²ÎÊý×ÜÊÇsk_buffer£¬ÔÚÕâÀïÐ޸ĺܻƺܱ©Á¦£¬¶øÇÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ