Re: Query regarding kernel memory

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

 



Hi Vaibhav,

On Mon, Jul 25, 2011 at 9:40 PM, Vaibhav Jain <vjoss197@xxxxxxxxx> wrote:
> Hi Dave, Santhosh,
>
> Thanks for the reply! I was talking about the following paragraph from the
> reference you provided :
>
> The kernel (on the x86 architecture, in the default configuration) splits
> the 4-GB virtual address space between user-space and the kernel; the same
> set of mappings is used in both contexts. A typical split dedicates 3 GB to
> user space, and 1 GB for kernel space.* The kernel’s code and data
> structures must fit into that space, but the biggest consumer of kernel
> address space is virtual mappings for physical memory. The
> kernel cannot directly manipulate memory that is not mapped into the
> kernel’s address space. The kernel, in other words, needs its own virtual
> address for any memory it must touch directly. Thus, for many years, the
> maximum amount of physical memory that could be handled by the kernel was
> the amount that could be mapped into the kernel’s portion of the virtual
> address space, minus the space needed for the kernel code itself. As a
> result, x86-based Linux systems could work with a maximum of a little under
> 1 GB of physical memory.
>
> I am still not clear about the sentences in bold. Why is  the space needed
> for kernel code subtracted from the amount that could be mapped
> into kernel's portion of virtual address space ?

Well the kernel code needs to run from the kernel virtual space.

> Also , what difference does
> the fact - "biggest consumer of kernel address space is virtual mappings for
> physical memory" make in the amount of memory that can be handled by the
> kernel.

In order to access memory you need to have MMU tables. These MMU
tables are what maps the virrtual to physical memory.

MMU entries are needed for every single page. I don't quite think that
they take up a huge amount of memory. There is also a page structure
for every page of physical memory.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[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