Re: Memory Concepts [+Newbie]

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

 



Hi...

On Mon, May 4, 2009 at 6:44 PM, Marcos Roriz <marcosrorizinf@xxxxxxxxx> wrote:
> The ZONE_NORMAL zone refer only to kernel direct memory mapped, that means
> only to kernel pages and kernel programs (such as daemons)?

as the name implies, it means a memory area where kernel can directly
address it without a need to do temporary mapping.

For the user space programs, it has somewhat loose connection. When
kernel try to serve memory request from user space, it could get free
pages from either zone normal or highmem (depending on the priority).
Once these oages are "connected " to user space via PTE (page table
entry), they are directly accessible by user space program.


> Why is the ZONE_NORMAL so large (896 MB)? How to deal with low memory
> systems?

first of all, you need to understand the default virtual memory split
for x86 32 bit system, that is 3:1. Meaning, user mode has 3 GB, while
kernel has 1 GB. Inside this 1GB address space, not all address range
can be used. Some of them are used for temporary mapping, vmalloc
mapping and so on. Short story, you're left with 896 MB address space.

For low memory system, the address space is still 1 GB. But in
reality, only a little is used to map the RAM. So in hand we have
large address space, but it doesn't mean all those addresses are used.

> The ZONE_HIGHMEM zone refer to kernel not mapped directly, so that includes
> userspace programs right?

Kindly refer to my explanations above :) Again, user space program
doesn't really care about zone normal or highmem.

regards,

Mulyadi.

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[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