LinuxϵÄELFÎļþ¸ñʽ¼ò½é
£¨1£©¸ÅÊö
Executable and linking format(ELF)ÎļþÊÇx86 LinuxϵͳϵÄÒ»ÖÖ³£ÓÃÄ¿±êÎļþ(object file)¸ñʽ£¬ELFÎļþ¸ñʽ±È½Ï¸´ÔÓ£¬±¾ÎÄÖ»ÊǼòÒª½éÉÜËüµÄ½á¹¹¡£ÓÐÈýÖÖÖ÷ÒªÀàÐÍ£º
(1)ÊÊÓÚÁ¬½ÓµÄ¿ÉÖØ¶¨Î»Îļþ(relocatable file)£¬¿ÉÓëÆäËüÄ¿±êÎļþÒ»Æð´´½¨¿ÉÖ´ÐÐÎļþºÍ¹²ÏíÄ¿±êÎļþ¡£
(2)ÊÊÓÚÖ´ÐеĿÉÖ´ÐÐÎļþ(executable file)£¬ÓÃÓÚÌṩ³ÌÐòµÄ½ø³ÌÓ³Ïñ£¬¼ÓÔØµ½ÄÚ´æÖ´ÐС£
(3)¹²ÏíÄ¿±êÎļþ(shared object file)£¬Á¬½ÓÆ÷¿É½«ËüÓëÆäËü¿ÉÖØ¶¨Î»ÎļþºÍ¹²ÏíÄ¿±êÎļþÁ¬½Ó³ÉÆäËüµÄÄ¿±êÎļþ£¬¶¯Ì¬Á¬½ÓÆ÷Óֿɽ«ËüÓë¿ÉÖ´ÐÐÎļþºÍÆäËü¹²ÏíÄ¿±êÎļþ½áºÏÆðÀ´´´½¨Ò»¸ö½ø³ÌÓ³Ïñ¡£
£¨2£©Îļþ¸ñʽ
ELF headerÔÚÎļþ¿ªÊ¼´¦ÃèÊöÁËÕû¸öÎļþµÄ×éÖ¯£¬SectionÌṩÁËÄ¿±êÎļþµÄ¸÷ÏîÐÅÏ¢£¨ÈçÖ¸Áî¡¢Êý¾Ý¡¢·ûºÅ±í¡¢Öض¨Î»ÐÅÏ¢µÈ£©£¬Program header tableÖ¸³öÔõÑù´´½¨½ø³ÌÓ³Ïñ£¬º¬ÓÐÿ¸öprogram headerµÄÈë¿Ú£¬Section header table°üº¬Ã¿Ò»¸ösectionµÄÈë¿Ú£¬¸ø³öÃû×Ö¡¢´óСµÈÐÅÏ¢¡£
£¨3£©Êý¾Ý±íʾ
ELFÊý¾Ý±àÂë˳ÐòÓë»úÆ÷Ïà¹Ø£¬Êý¾ÝÀàÐÍÓÐÁùÖÖ£¬¼û±í1¡£
£¨4£© ELFÎļþÍ·
Ïóbmp¡¢exeµÈÎļþÒ»Ñù£¬ELFµÄÎļþÍ·°üº¬Õû¸öÎļþµÄ¿ØÖƽṹ¡£ËüµÄ¶¨ÒåÈçÏ£º
#define EI_NIDENT 16
typedef struct{
unsigned char e_ident[EI_NIDENT];
Elf32_Half e_type;
Elf32_Half e_machine;
Elf32_Word e_version;
Elf32_Addr e_entry;
Elf32_Off e_phoff;
Elf32_Off e_shoff;
Elf32_Word e_flags;
Elf32_Half e_ehsize;
El
Ïà¹ØÎĵµ£º
1.ÔÚshell½Å±¾ÖлáÓõ½ifÅжϣ¬ÊÂʵÉϾÍÊÇtest¼Ó²ÎÊýÖ´ÐеĽá¹û£¬±ÈÈ磺
if test -f /xxx ;then YYY ;fi£¬µ«ÊÇ»¹ÓÐÁíÒ»ÖÖд·¨£¬ÄǾÍÊÇif [ abc ];then YYY£¬Êµ¼ÊÉÏ“[”Ò²ÊÇÒ»¸öÃüÁÓÃwhereis [¿ÉÒÔ֤ʵ£¬¸Ã“[”³ÌÐòÖбØÈ»ÒªÓÐÒ»¸ö“]”×÷Ϊ²ÎÊý£¬È»ºóÅжÏ$1µ½"]"Ö®¼äµÄ²ÎÊýµÄ ......
ÃæÊÔʱһÔٵر»Îʵ½½ø³Ì¼äͨÐŵÄÇé¿ö£¬¶øÎÒµÄÀí½âһֱͣÁôÔÚ¸ÅÄîÉϺÍÃû´ÊÉÏ£¬±ØÐëÒª×öµãʵÑé¼ÓÉîÀí½â¡£
IPC:Interprocess communication¡£ÓÐЩIPCµÄ·½·¨²»½ö¿ÉÒÔÓÃÓÚÏàͬÖ÷»ú£¬Ò²¿ÉÒÔÓÃÓÚ²»Í¬Ö÷»ú£¬ÈçsocketsºÍSTREAMS¡£
¾µäIPCÖ®Ò»£ºpipes(¹ÜµÀ)
,ʹÓÃ×î¹ã·º£¬¾ßÓÐÇ×Ôµ¹ØÏµ
µÄ½ø³Ì¼ä²ÅÄÜʹÓùܵÀ½øÐÐIPC¡£
ʹÓÃÁ˹ܵ ......
¹Ù·½ÍøÕ¾£º http://fedoraproject.org/
ÔÚÕâ¶ùÑ¡ÔñÐèÒªµÄ¹âÅ̸ñʽ¾µÏñ£º http://fedoraproject.org/en/get-fedora-options#formats
i386Ìåϵ£º http://download.fedoraproject.org/pub/fedora/linux/releases/13/Fedora/i386/iso/Fedora-13-i386-DVD.iso
x86_64Ìåϵ£º http://download.fedoraproject.org/pub/fedora/lin ......
³ÉΪһÃû¾«Í¨ Linux ³ÌÐòÉè¼ÆµÄ¸ß¼¶³ÌÐòÔ±Ò»Ö±ÊDz»ÉÙÅóÓÑ×Î×ÎÒÔÇóµÄÄ¿±ê¡£¸ù¾ÝÖлªÓ¢²ÅÍøÍ³¼ÆÊý¾Ý£¬±±¾©µØÇø Linux ³ÌÐòÔ±ÔÂнƽ¾ùΪ Windows ³ÌÐòÔ±µÄ 1.8 ±¶¡¢Java ³ÌÐòÔ±µÄ 2.6 ±¶£¬ Linux ³ÌÐòÔ±ÄêÖÕ½±½ðƽ¾ùΪ Windows ³ÌÐòÔ±µÄ 2.9 ±¶¡£Í¬Ê±Êý¾ÝÏÔʾ£¬Ëæ×ʤ×÷¾ÑéµÄÔö³¤£¬ Linux ³ÌÐòÔ±Óë Windows ³ÌÐòÔ±µÄÊÕÈë²î¾à» ......
Õâ½Ú¿Î³ÌÊÇÏàµ±ÖØÒªµÄ¡£Ò²ÊÇRHCE¿¼ÊÔÉÏÎçµÄ¿¼µÄÖ÷ÒªÄÚÈÝ£¬ÏµÍ³ÅÅ´í¡£Ö»ÒªÄã¿´¶®ÁËϵͳµÄÆô¶¯Á÷³Ì£¬ÅÅ´í¾Í»ù±¾Ã»Óжà´óÎÊÌâÁË¡£
¼ÆËã»úÆô¶¯£¬Éϵç×Ô¼ì¼ì²éBIOS¾Í²»ËµÁË,ËùÓÐϵͳ¶¼ÄÇÑù¡£
ÏÂÃæ¾ÍÊÇLINUXµÄÆô¶¯Á÷³Ì£º
£±¡¢Ó²¼þ¶ÁÈ¡Òýµ¼ÉÈÇø
£²¡¢¼ÓÔØLILO»òÕßGrub£¨Ò»°ãÎÒÃÇʹÓõÄÊÇGRUB£¬Õâ¸öÊÇÖØµã£©
£³¡¢¼ÓÔØÄںˣ¨Ò ......