Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIXΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 33

Автор РобачСвский АндрСй ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‡

Π’Π°Π±Π»ΠΈΡ†Π° 2.4. ЗначСния поля e_machine Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ELF-Ρ„Π°ΠΉΠ»Π°

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Аппаратная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°
Π•Πœ_М32
AT&T WE 32100
Π•Πœ_SPARC
Sun SPARC
Π•Πœ_386
Intel 80386
Π•Πœ_68K
Motorola 68000
EM_88K
Motorola 88000
Π•Πœ_486
Intel 80486
Π•Πœ_860
Intel i860
Π•Πœ_MIPS
MIPS RS3000 Big-Endian
EM_MIPS_RS3_LE
MIPS RS3000 Little-Endian
EM_RS6000
RS6000
EM_PA_RISC
PA-RISC
EM_nCUBE
nCUBE
EM_VPP500
Fujitsu VPP500
EM_SPARC32PLUS
Sun SPARC 32+

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, содСрТащаяся Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ядру, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· процСсса ΠΈΠ· сСгмСнтов. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сСгмСнтов ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ) Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сСгмСнты процСсса ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСгмСнты ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ сСгмСнта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ описываСт ΠΎΠ΄ΠΈΠ½ сСгмСнт ΠΈ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

β–‘Β Π’ΠΈΠΏ сСгмСнта ΠΈ дСйствия ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы с Π΄Π°Π½Π½Ρ‹ΠΌ сСгмСнтом

░ РасполоТСниС сСгмСнта Π² Ρ„Π°ΠΉΠ»Π΅

β–‘Β Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΉ адрСс сСгмСнта Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти процСсса

β–‘Β Π Π°Π·ΠΌΠ΅Ρ€ сСгмСнта Π² Ρ„Π°ΠΉΠ»Π΅

β–‘Β Π Π°Π·ΠΌΠ΅Ρ€ сСгмСнта Π² памяти

β–‘Β Π€Π»Π°Π³ΠΈ доступа ΠΊ сСгмСнту (запись, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅)

Π§Π°ΡΡ‚ΡŒ сСгмСнтов ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ LOAD, ΠΏΡ€Π΅Π΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ядру ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ этим сСгмСнтам структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ областями, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Π΅ участки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти процСсса ΠΈ связанныС с Π½ΠΈΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚, располоТСниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² ELF-Ρ„Π°ΠΉΠ»Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. К сСгмСнтам Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° относятся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСгмСнты, содСрТащиС инструкции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΊΠΎΠ΄) ΠΈ Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Если Ρ€Π°Π·ΠΌΠ΅Ρ€ сСгмСнта мСньшС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° области, нСиспользованноС пространство ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ нулями. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, Π² частности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ создании Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… процСсса (BSS). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± областях ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² Π³Π»Π°Π²Π΅ 3.

Π’ сСгмСнтС Ρ‚ΠΈΠΏΠ° INTERP хранится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ сСгмСнта ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ динамичСскоС связываниС. Π‘ΡƒΡ‚ΡŒ динамичСского связывания Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ исполняСмого Ρ„Π°ΠΉΠ»Π° (раздСляСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ Π½Π° этапС компиляции, Π° Π½Π° этапС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Имя Ρ„Π°ΠΉΠ»Π°, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ динамичСским Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ связСй, хранится Π² Π΄Π°Π½Π½ΠΎΠΌ сСгмСнтС. Π’ процСссС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ядро создаСт ΠΎΠ±Ρ€Π°Π· процСсса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ связСй. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ загруТаСтся Π½Π΅ исходная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π° динамичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ связСй. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС динамичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ связСй совмСстно с ядром UNIX ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· исполняСмого Ρ„Π°ΠΉΠ»Π°. ДинамичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ раздСляСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранятся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сСгмСнтах исходного исполняСмого Ρ„Π°ΠΉΠ»Π°, ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ связываниС. Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

НаконСц, Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ сСкций (section). Π Π°Π·Π΄Π΅Π»Ρ‹ (сСкций) ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для связывания с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ модулями Π² процСссС компиляции ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ динамичСском связывании. БоотвСтствСнно, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ содСрТат всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для описания этих Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ содСрТат Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сСгмСнтах. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСгмСнт ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π° для хранСния индСксов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ символов, Ρ€Π°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°Π±Π»ΠΈΡ†Π° связывания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ динамичСским Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π», содСрТащий собствСнно инструкции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠœΡ‹ Π΅Ρ‰Π΅ вСрнСмся ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ ELF Π² Π³Π»Π°Π²Π΅ 3 ΠΏΡ€ΠΈ обсуТдСнии ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти процСсса, Π° ΠΏΠΎΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ распространСнному Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ β€” COFF.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ COFF

На рис. 2.5 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° структура исполняСмого Ρ„Π°ΠΉΠ»Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° COFF. Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» содСрТит Π΄Π²Π° основных Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° β€” Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ COFF ΠΈ стандартный Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ систСмы UNIX β€” a.out. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ сами Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранятся инструкции ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НаконСц, Π² Ρ„Π°ΠΉΠ»Π΅ Ρ‚Π°ΠΊΠΆΠ΅ хранится символьная информация, нСобходимая для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIX - img_17.jpeg

Рис. 2.5. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° исполняСмого Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ COFF

Π’ Ρ„Π°ΠΉΠ»Π΅ находятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ всСгда Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, для Π½ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ располоТСниС Π² памяти.

Бимвольная информация состоит ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символов (symbol table) ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ строк (string table). Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ хранятся символы, ΠΈΡ… адрСса ΠΈ Ρ‚ΠΈΠΏΡ‹. НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ символ

locptr
являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π΅Π³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Ρ€Π°Π²Π΅Π½ 0x7feh0. Π”Π°Π»Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот адрСс, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ символа для Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎΡΡ процСсса. Записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символов ΠΈΠΌΠ΅ΡŽΡ‚ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€. Если Π΄Π»ΠΈΠ½Π° символа ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ восСмь Π·Π½Π°ΠΊΠΎΠ², Π΅Π³ΠΎ имя хранится Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅Β β€” Ρ‚Π°Π±Π»ΠΈΡ†Π΅ строк. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Π΅ эти Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΈ исполняСмых Ρ„Π°ΠΉΠ»Π°Ρ…, Ссли ΠΎΠ½ΠΈ явно Π½Π΅ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ strip(1).

Как ΠΈ Π² случаС ELF-Ρ„Π°ΠΉΠ»Π°, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит ΠΎΠ±Ρ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСстополоТСниС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Ρ‚Π°Π±Π». 2.5).

Π’Π°Π±Π»ΠΈΡ†Π° 2.5. Поля Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° COFF-Ρ„Π°ΠΉΠ»Π°

ПолС ОписаниС
f_magic
Аппаратная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создан Ρ„Π°ΠΉΠ»
f_nscns
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅
f_timdat
ВрСмя ΠΈ Π΄Π°Ρ‚Π° создания Ρ„Π°ΠΉΠ»Π°
f_symptr
РасполоТСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символов Π² Ρ„Π°ΠΉΠ»Π΅
f_nsyms
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ символов
f_opthdr
Π Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°
f_flags
Π€Π»Π°Π³ΠΈ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°, присутствиС символьной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Ρ‚.Π΄.