Re: address spaces in kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




 # you have specified that   the 0 - 896 MB of physical RAM being mapped to 3-4Gb in virtual addr space. How can this be possible, usually  a standalone system will have  256/512 MB of RAM.  Can you please make me clear about this?
 I does mean that there exists always a mapping of virtual addresses between 3-4G to  physical addresses which range from 0 to 896 MB(permanent mapping).In a 256/512 MB < 896 MB, there will be  mappings of the virtual addresses in range 3-4G to the corressponding physical addresses in the range 0-256/512 MB.
Hope this clears your doubt.
 
Thayumanavar.
 
On 9/3/05, Vinay Kalkoti <kalkoti.vinay@xxxxxxxxx> wrote:


On 9/2/05, Thayumanavar Sachithanantham < thayumker@xxxxxxxxx> wrote:
If I am not wrong, kernel have its virtual address space which starts
at 0x0 address. kernel virtual address space to mapped to linear
pysical address space at PAGE_OFFSET

It's the other way around. In the 3G/1G virtual space split( of i386, the virtual addresses 0-3G actually map to user space and the 3-4G is mapped to kernel space, i. e, 1 G of virtual addresses are reserved for the kernel.
 
Also initially during boot, a direct kernel virtual addresses to physical addresses map exists.
The 0th entry of the swapper_pg_dir which points to a page table entry whose entries are all zero
allowing a direct one to one mapping of the virtual and physical addresses. 

0-896 MB of the Physical RAM have mapped virtual addresses in the range 3 to 4 G under the i386 architecture.
 The 1G of virtual addresses for kernel actually limits the maximum amount of memory that the kernel can address. 0-3G limits the maximum address space of a process.
 
   # you have specified that   the 0 - 896 MB of physical RAM being mapped to 3-4Gb in virtual addr space. How can this be possible, usually  a standalone system will have  256/512 MB of RAM.  Can you please make me clear about this?

 
As far I am understanding,the output of /proc/iomem are all physical adresses , i.e , the addresses that exist on the physical address pins of the processor. This include the memory mapped PCI address space determined by the BIOS
 
Thayumanavar 
 

 



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux