Need of different memory zones

Niroj Pokhrel nirojpokhrel at gmail.com
Wed Mar 13 05:46:03 EDT 2013


Hi All,

I have been studying Memory Management in linux. But I am confused with the
division of different ZONE. The use of ZONE_DMA and ZONE_NORMAL is fine.
But I am confused with ZONE_HIGHMEM, if the system is 32 bit then why can't
it map 4GB memory (2^32). I had thought that ZONE_NORMAL was for the kernel
usage so directly mapped and ZONE_HIGHMEM for the user process and is not
directly mapped to facilitate virtual addressing. But I know I am not
getting something right. While going through Ch - 15 of Rubini's Linux
Device Driver (Memory Management and DMA) I came across following line

"a 64-bit architecture such as Intel’s x86-64 can fully map and handle
64-bits of memory.Thus, x86-64 has no ZONE_HIGHMEM and all physical memory
is contained within ZONE_DMA and ZONE_NORMAL."  So, if it can be directly
mapped why not in 32 bit architecture.

I am really confused. Please Help. Thanking you in Advance


Yours,
Niroj Pokhrel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130313/2a08eaa5/attachment-0001.html 


More information about the Kernelnewbies mailing list