linuxϵÄELFÎļþ·ÖÎö
from:http://www.dzjs.net/html/qianrushixitong/2008/0509/3125.html
1 ÒýÑÔ
ELF(Executable and Linkable Format)¼´¿ÉÖ´ÐÐÁ¬½ÓÎļþ¸ñʽ£¬ÊÇLinux£¬SVR4ºÍSolaris2.0ĬÈϵÄÄ¿±êÎļþ¸ñʽ£¬Ä¿Ç°±ê×¼½Ó¿ÚίԱ»áTISÒѽ«ELF±ê×¼»¯ÎªÒ»ÖÖ¿ÉÒÆÖ²µÄÄ¿±êÎļþ¸ñʽ£¬ÔËÐÐÓÚ32-bit IntelÌåϵ΢»úÉÏ£¬¿ÉÓë¶àÖÖ²Ù×÷ϵͳ¼æÈÝ¡£·ÖÎöelfÎļþÓÐÖúÓÚÀí½âÒ»Ð©ÖØÒªµÄϵͳ¸ÅÄÀýÈç³ÌÐòµÄ±àÒëºÍÁ´½Ó£¬³ÌÐòµÄ¼ÓÔØºÍÔËÐеÈ
2 ELFÎļþ¸ñʽ
2.1 ELFÎļþµÄÀàÐÍ
ELFÎļþÖ÷ÒªÓÐÈýÖÖÀàÐÍ£º
(1)¿ÉÖØ¶¨Î»Îļþ°üº¬ÁË´úÂëºÍÊý¾Ý£®¿ÉÓëÆäËüELFÎļþ½¨Á¢Ò»¸ö¿ÉÖ´Ðлò¹²ÏíµÄÎļþ£º
(2)¿ÉÖ´ÐÐÎļþʱ¿ÉÖ±½ÓÖ´ÐеijÌÐò£º
(3)¹²ÏíÄ¿±êÎļþ°üÀ¨´úÂëºÍÊý¾Ý£¬¿ÉÒÔÔÚÁ½¸öµØ·½Á´½Ó¡£µÚÒ»£¬Á¬½ÓÆ÷¿ÉÒÔ°ÑËüºÍÆäËü¿ÉÖØ¶¨Î»ÎļþºÍ¹²ÏíÎļþÒ»Æð´¦ÀíÒÔ½¨Á¢ÁíÒ»¸öELFÎļþ;µÚ¶þ£¬¶¯Ì¬Á´½ÓÆ÷°ÑËüºÍÒ»¸ö¿ÉÖ´ÐÐÎļþºÍÆäËü¹²ÏíÎļþ½áºÏÔÚÒ»Æð½¨Á¢Ò»¸ö½ø³ÌÓ³Ïñ¡£
2.2 ELFÎļþµÄ×éÖ¯
ELFÎļþ²ÎÓë³ÌÐòµÄÁ¬½Ó(½¨Á¢Ò»¸ö³ÌÐò)ºÍ³ÌÐòµÄÖ´ÐÐ(ÔËÐÐÒ»¸ö³ÌÐò)£¬±àÒëÆ÷ºÍÁ´½ÓÆ÷½«ÆäÊÓΪ½ÚÍ·±í(section header table)ÃèÊöµÄһЩ½Ú(section)µÄ¼¯ºÏ£¬¶ø¼ÓÔØÆ÷Ôò½«ÆäÊÓΪ³ÌÐòÍ·±í(program header table)ÃèÊöµÄ¶Î(segment)µÄ¼¯ºÏ£¬Í¨³£Ò»¸ö¶Î¿ÉÒÔ°üº¬¶à¸ö½Ú¡£¿ÉÖØ¶¨Î»Îļþ¶¼°üº¬Ò»¸ö½ÚÍ·±í£¬¿ÉÖ´ÐÐÎļþ¶¼°üº¬Ò»¸ö³ÌÐòÍ·±í¡£¹²ÏíÎļþÁ½Õß¶¼°üº¬ÓС£Îª´Ë£¬ELFÎļþ¸ñʽͬʱÌṩÁËÁ½ÖÖ¿´´ýÎļþÄÚÈݵķ½Ê½£¬·´Ó³Á˲»Í¬ÐÐΪµÄ²»Í¬ÒªÇó¡£ÏÂͼÏÔʾÁËELFÎļþµÄ×éÖ¯¡£
2.3 ÎļþÍ·(Elf header)
ElfÍ·ÔÚ³ÌÐòµÄ¿ªÊ¼²¿Î»£¬×÷ΪÒý·±íÃèÊöÕû¸öELFµÄÎļþ½á¹¹£¬ÆäÐÅÏ¢´óÖ·ÖΪËIJ¿·Ö£ºÒ»ÊÇϵͳÏà¹ØÐÅÏ¢£¬¶þÊÇÄ¿±êÎļþÀàÐÍ£¬ÈýÊǼÓÔØÏà¹ØÐÅÏ¢£¬ËÄÊÇÁ´½ÓÏà¹ØÐÅÏ¢ ÆäÖÐϵͳÏà¹ØÐÅÏ¢°üÀ¨elfÎļþħÊý(±êʶelfÎļþ)£¬Æ½Ì¨Î»Êý£¬Êý¾Ý±àÂ뷽ʽ£¬elfÍ·²¿°æ±¾£¬Ó²¼þƽ̨e_machine£¬Ä¿±êÎļþ°æ±¾e_version£¬´¦ÀíÆ÷ÌØ¶¨±êÖ¾e_ftags£ºÕâЩÐÅÏ¢µÄÒýÈ뼫´óÔöÇ¿ÁËelfÎļþµÄ¿ÉÒÆÖ²ÐÔ£¬Ê¹½»²æ±àÒë³ÉΪ¿ÉÄÜ¡£Ä¿±êÎļþÀàÐÍÓÃe_typeµÄÖµ±íʾ£¬¿ÉÖØ¶¨Î»ÎļþΪ1£¬¿ÉÖ´ÐÐÎļþΪ2£¬¹²ÏíÎļþΪ3;¼ÓÔØÏà¹ØÐÅÏ¢ÓУº³ÌÐò½øÈëµãe_entry£®³ÌÐòÍ·±íÆ«ÒÆÁ¿e_phoff£¬elfÍ·²¿³¤¶Èe_ehsize£¬³ÌÐòÍ·±íÖÐÒ»¸öÌõÄ¿µÄ³¤¶Èe_phentsize£¬³ÌÐòÍ·±íÌõÄ¿ÊýÄ¿e_phnum;Á´½ÓÏà¹ØÐÅÏ¢ÓУº½ÚÍ·±íÆ«ÒÆÁ¿e_shoff£¬½ÚÍ·±íÖÐÒ»¸öÌõÄ¿µÄ³¤¶Èe_shentsize£¬½ÚÍ·±íÌõÄ¿¸öÊýe_shnum £¬½ÚÍ·±í×Ö·ûË÷Òýe shstmdx¡£¿ÉʹÓÃreadelf -h
Ïà¹ØÎĵµ£º
1£º Can’t connect to [local] MySQL server´íÎó
Ò»¸öMySQL¿Í»§¿ÉÒÔÁ½ÖÖ²»Í¬µÄ·½Ê½Á¬½Ómysqld·þÎñÆ÷£ºUnixÌ×½Ó×Ö£¬Ëüͨ¹ýÔÚÎļþϵͳÖеÄÒ»¸öÎļþ(ȱʡ“/tmp /mysqld.sock”)½øÐÐÁ¬½Ó£»»òTCP/IP£¬Ëüͨ¹ýÒ»¸ö¶Ë¿ÚºÅÁ¬½Ó¡£UnixÌ×½Ó×Ö±ÈTCP/IP¸ü¿ì£¬µ«ÊÇÖ»ÓÐÓÃÔÚÁ¬½Óͬһ̨¼ÆËã»úÉϵķþÎñÆ÷¡£Èç¹ûÄ ......
linux 2.6 É豸Çý¶¯Ä£ÐÍ
1.±³¾°
Ëæ×ÅÉè±¸ÍØÆË½á¹¹Ô½À´Ô½¸´ÔÓ£¬ÐèҪΪÄں˽¨Á¢Ò»¸öͳһµÄÉ豸ģÐÍ£¬¶Ôϵͳ½á¹¹×öÒ»°ãÐԵijéÏóÃèÊö¡£
ÓÐÁ˸óéÏó½á¹¹£¬¿ÉÖ§³Ö¶àÖÖ²»Í¬µÄÈÎÎñ£º
a) µçÔ´¹ÜÀí Íê³ÉµçÔ´¹ÜÀí¹¤×÷ÐèÒª¶Ôϵͳ½á¹¹µÄÀí½â£¬ÇÒÓÐÑϸñµÄ˳Ðò£¬È磺һ¸öUSBËÞÖ÷ÊÊÅäÆ÷£¬ÔÚ´¦À ......
ƽʱһ°ãÓÃpsÀ´²é¿´½ø³ÌÐÅÏ¢£¬¸Ï½ô¾Í¹»ÁË¡£½ñÌìÐèÒªÖªµÀÏêϸµÄ·¾¶£¬Ò»Ê±»¹Ïë²»ÆðÀ´¡£¼ÇµÃÓиö²ÎÊý£¬¿ÉÒԸıäpsµÄÊä³öÀïÃæcmdµÄÏÔʾ¿í¶È£¬¿Éϧ¼Ç²»ÇåÁË¡£»ØÍ·ÔÙÕÒÕÒ¡£
http://www.svn8.com/linux/glpz/20100221/22543.html
Õâ¸öÉÏÃæ½éÉܵķ½·¨ÊǸù¾ÝpidÔÚ/proc/pid_number ÏÂÃæ²é¿´¾ßÌåÐÅÏ¢¡£¾ÍÊÇÓеãСÂé·³¡£ ......
http://www.ibm.com/developerworks/cn/linux/embed/diy/
DIY£º×Ô¼º¶¯ÊÖ×öÒ»¸öÃÔÄã Linux ϵͳ
ÎĵµÑ¡Ïî
<tr valign="top"><td width="8"><img alt="" height="1" width="8" src="//www.ibm.com/i/c.gif"/></td><td width=&quo ......
½ø³ÌÊDzÙ×÷ϵͳÌṩµÄ×î¹ÅÀÏ£¬×îÖØÒªµÄ³éÏóÖ®Ò»£¬Ëü¶Ô¿ª·¢ÈËÔ±ºÍ²Ù×÷ÈËÔ±Òþ²ØÁËÁ½¸ö»ù±¾µÄÓ²¼þ×ÊÔ´£º´¦ÀíÆ÷ºÍ´æ´¢Æ÷¡£½ø³ÌµÄÖØÒªÐÔÔÚÓÚËüÓªÔì³ö¸öÊý²»ÊÜÎïÀí´¦ÀíÆ÷ÏÞÖÆµÄÐéÄâ´¦ÀíÆ÷²¢ÎªÃ¿¸öÐéÄâ´¦ÀíÆ÷Å䱸Á˶ÀÁ¢µÄ£¬ÈÝÁ¿²»ÊÜÎïÀíÄÚ´æ´óСÏÞÖÆµÄÄÚ´æ¿Õ¼ä¡£ÕâЩÐéÄâ´¦ÀíÆ÷ΪӦÓóÌÐòÄ£Äâ³öÒ»¸öºÍÎïÀí´¦ÀíÆ÷¼¸ºõÏàͬµÄ»·¾³£ºÃ¿ ......