Hi, Le Tue, 1 Aug 2006 11:18:16 +0530, "Rajat Jain" <rajat.noida.india@xxxxxxxxx> a écrit : > I recently read that the concept of "High Memory" was introduced > because certain architectures are capable of physically addressing > larger amounts of memory than they can virtually address (physical > address space > virtual address space). I also read that nowadays > "high Memory" exists only in x86. > > 1) Why is virtual memory > 896 MB on x86 designated as high memory? > AFAIK x86 has 4 GB of virtual address space (=physical address space?) > If you're talking about CONFIG_HIGHMEM, then no, it's not really designed for when you have more physical memory than it's possible to virtually access. It's because the Linux kernel decided to split all 4GB virtual address spaces into two parts: 3 GB for the application, 1 GB for the kernel. The 1 GB for the kernel is an identity mapping of the physical memory, which allows the kernel to access very simply all the physical memory. However, it has the drawback that when having more than 1 GB of physical memory, things get harder. CONFIG_HIGHMEM allows to access more than 1 GB of physical memory. It does it by mapping temporarly physical pages that are above 1 GB. In fact, it's not 1 GB that is identically-mapped, but 896 MB, the rest (1 GB - 896 MB) is used for the temporary mappings needed to access pages above 896 MB. My explanation might be a bit confusing (it's early in the morning, here). I'd suggest you to read « Understanding the Linux Virtual Memory Manager », http://www.phptr.com/content/images/0131453483/downloads/gorman_book.pdf > 2) Has the "high Memory" concept got anything to do with PAE (Page > Address Extention) feature of x86? I don't think so. > 3) Do any other architectures than x86 have the concept of high > memory? 64 bits architecture, no. Other 32 bits architecture, maybe, but I'm not sure. Sincerly, Thomas -- Thomas Petazzoni - thomas.petazzoni@xxxxxxxx http://{thomas,sos,kos}.enix.org - http://www.toulibre.org http://www.{livret,agenda}dulibre.org -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/