我看到的處理圖像通過PMAP linux下:不同地址
08048000 0 4 0 r-x-- [my program]
08049000 0 4 4 rw--- [my program]
三段以上是代碼,RODATA和數據段,它們都對準於PAGESIZE(4K ),但是當我把命令objdump的-H,被顯示在ELF頭如下:
read-only code segment
Load off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
filesz 0x00000448 memsz 0x00000448 flags r-x
read/write data segment
Load off 0x00000448 vaddr 0x08049448 paddr 0x08049448 align 2**12
filesz 0x000000e8 memsz 0x00000104 flag rw-
它在ELF頭說,代碼段和數據段從0x08048000,0x049448在虛擬地址尋址seperately ,這與存儲器中的過程映像不同。我知道代碼/數據段應該分配給不同的PAGESIZE,這可以給它們不同的保護權限。但是,如果真正的虛擬機與elf二進制文件不同,該如何執行程序?