This is a good question because I'm not sure how different this would be defined in an x86_64 environment. If someone does answer this can they include the explaination for the x86_64 as well as the x86 please. Cheers, > Date: Mon, 28 Apr 2008 08:51:24 +0200 > From: andi@xxxxxxxxxxxxxxxxxxxx > To: kernelnewbies@xxxxxxxxxxxx > Subject: Zone sizes with low memory > > Hello, > > some questions to the zones. > > 1) Suppose I have a machine with 512 MB RAM. How is the memory node > structured into zones? Is it in this way? > > ZONE_DMA: 1-16 MB > ZONE_NORMAL: 17-512 MB > > That means, there is no high memory available for those machines with > less than 896 MB RAM ? > > > 2) Am I right that access to the kernel in memory is as follows: > > Virtual Memory > > --------- > + + [kernel linear addresses] > + + > +-------+ <- 0xC0000000 [PAGE_OFFSET] > + + > + + > + + > + + [user-space lin. addresses] > + + > + + > + + > --------- <- 0x00000000 > > > Physical Memory > > --------- > + + > + + user > + + > +-------+ > + + kernel > --------- <- 0x00000000 > > > So, user-space linear addresses are always below 0xC0000000 and if a > user-process addresses something beyond this it is somehow prohibited. > > But in the "real" physical memory, the order is turned around: the > kernel resides in the lower regions of the memory and the user-space in > the upper regions. Is this correct? > > 3) Is ZONE_NORMAL used only for the kernel or also for user processes? > > 4) How much space is reserved for the kernel in the physical memory? > > > 5) I've read something about min_low_pfn, max_low_pfn and max_pfn. So > min_low_pfn is the first page frame number after the kernel (after _end). > max_low_pfn gives me the last page frame number which is accessible by > the kernel directly or in other words: the last page frame number which > is used by the kernel for its data structures and so on, max_low_pfn+1 > is the first page frame number of a user process. max_pfn is the last > page frame number available in the physical address space. > > I've read this: "In low memory machines, the max_pfn will be the same as > the max_low_pfn". In which page frames are the user-level processes then > stored? > > I must have misunderstood something... > > Thanks > Andreas > > -- > To unsubscribe from this list: send an email with > "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx > Please read the FAQ at http://kernelnewbies.org/FAQ > |