I know os will load elf in physical memory. When execute jmp elf-address
,system will check tlb and convert the elf-address to physical address. I am confused that elf-address does not have segment num and page num? How os convert elf-address to what MMU need.
I'm really confused that.
I know linux will read header of elf and map elf.
When page fault happened,kernel will load elf in memory and refresh page table.
But you konw elf address is like 0x0804900.
If we want to exe jmp elf-address
,how kernel map the elf-address to address which MMU can use.
You know MMU address is based on segment num and page num.
Is there a map table which os will look for? And when exec jmp elf-address
, will os first map elf-address to MMU address?
eg:
elf-address <==> MMU-address