Virtual Address Space

roman at mailoo.org roman at mailoo.org
Fri Sep 30 13:09:13 EDT 2016


Hi, 

I COMPILE MAIN.S and it generates MAIN.O. With objdump I can see: 

0000000000000000 <_start>: 
   0: b8 01 00 00 00        mov    $0x1,%eax 
   5: bb 00 00 00 00        mov    $0x0,%ebx 
   a: cd 80                         int    $0x80 

After LINK MAIN.O it generates MAIN. With objdump I now can see: 

0000000000400078 <_start>: 
  400078: b8 01 00 00 00        mov    $0x1,%eax 
  40007d: bb 00 00 00 00        mov    $0x0,%ebx 
  400082: cd 80                         int    $0x80 

So, linker generates virtual address, doesn't it? But why it starts at
400078 and not in other any location? Is there any logic here? A virtual
address can start at 0? 

Regards. 

El 29.09.2016 09:25, arshad hussain escribió:

>> On 28-Sep-2016, at 10:36 am, Madhu K <madhu.sk89 at gmail.com> wrote:
>> 
>> Hi All,
> 
> The support comes right through from the architecture. 
> 
> Linear address: Also virtual address. This is Address CPU can address. This is 0 - 4GB under 32bit architecture.
> Physical address: This are actual memory installed in your system. Linear address have to be converted to 
> physical address eventually. MMU translate linear address with the help of paging to physical address.
> 
>> This is to understand the Virtual address space.Basically who generates the virtual addresses CPU or GNU compiler?
> 
> A program image generated by compiler & linker uses Virtual Address . During execution of the program CPU + MMU 
> translates or maps each virtual address to physical address.
> 
> Net-net this is architecture dependent and would highly recommend reading Intel's Architecture Manual for your reference.
> 
>> Thanks
>> Madhu
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> 
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20160930/485177b8/attachment.html 


More information about the Kernelnewbies mailing list