Bagian adalah wilayah kontinu terkecil pada file. Jadi file ELF dibagi menjadi beberapa bagian. Bagian tidak boleh tumpang tindih, artinya tidak ada byte yang mungkin menjadi bagian dari lebih dari satu bagian. Namun mungkin ada byte yang bukan milik bagian mana pun ("sampah").
Bagian umumnya digunakan untuk tujuan menghubungkan. Mereka berisi bagian-bagian berbeda dari file yang dapat diatur ulang, digabungkan, dll. oleh linker.
Namun file yang dapat dieksekusi juga dapat berisi bagian – untuk mendeskripsikan konten file, dan di mana setiap bagian kode atau data dimulai. Objek bersama juga menggunakan bagian. Itu berisi tabel simbol untuk tautan dinamis & hal-hal seperti itu.
Semua bagian yang terdapat dalam file ELF dijelaskan dalam Tabel Header Bagian, setiap bagian memiliki entri di dalamnya.
Namun untuk membuat sebuah executable, Anda memerlukan sesuatu yang lain: segmen. Ini memberi tahu pemuat bagian file mana yang harus dimuat ke dalam memori dan ke alamat mana. Jadi segmen dipetakan ke dalam ruang memori proses yang dapat dieksekusi. Mereka dapat berisi kode dan juga data, sehingga segmen dapat dibagi lagi menjadi beberapa bagian untuk mencapai hal tersebut. Dan saya rasa itulah jawaban atas pertanyaan Anda.
Segmen yang dapat dimuat dijelaskan dalam Tabel Header Program.
Singkat cerita:
Dalam executable, Anda memiliki segmen, yang dapat dibagi lagi menjadi beberapa bagian. Segmen dimuat ke dalam memori proses. Bagian bersifat opsional, namun dapat membantu membagi lagi segmen atau menjelaskan isinya. Dalam modul yang dapat direlokasi (keluaran kompiler, file .o), yang terjadi adalah sebaliknya: bagian diperlukan, karena bagian tersebut menjelaskan apa yang ada di dalam file dan memungkinkan untuk dihubungkan.
Adapun alamat memori & lainnya:
Pada sistem modern hanya alamat virtual yang penting. Suatu proses ditipu oleh sistem operasi yang berjalan sendirian di memori, dengan seluruh ruang alamat tersedia untuknya (walaupun tidak
semua ruang alamat dapat tersedia pada saat yang sama karena keterbatasan memori fisik ). Sistem memetakan alamat virtual ke alamat fisik dengan cepat, secara transparan ke dalam proses.
Alamat fisik tidak digunakan, sehingga dapat dibiarkan nol, namun dapat diatur ke alamat yang sama untuk berjaga-jaga.
person
BarbaraKwarc
schedule
04.07.2018