1
我對ELF部分的虛擬和物理地址有這個基本的疑問。ELF中的虛擬和物理地址
objdump -h,顯示一組邏輯和物理地址。
$ objdump -h my.elf
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0003c3d0 00080000 00080000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
而且根據理論,LMA(物理地址)也稱爲加載地址,這是應用程序應該加載的地址。
一切都很好,但我的問題是爲什麼我們這麼早分配物理地址。我的意思是,如果我啓動一個提到某個加載地址的程序,但在加載時系統發現可加載地址所屬的頁面框架已被分配給其他任務。在這種情況下,系統是要等待進程還是要立即換出頁面,以使頁面可用。
你不覺得如果我們讓系統根據可用的頁面框架決定在哪個地址加載一個精靈部分會好很多。
你的用戶模式應用程序將永遠不會知道它的內存在哪個物理地址上。見[這個問題](http://stackoverflow.com/questions/6218384/virtual-and-physical-addresses-of-sections-in-elf-files)。 –