On 2/26/07, Mansha Linux <mansha.linux@xxxxxxxxx> wrote:
On 2/25/07, Jarod Wang <mailtojarod@xxxxxxxxx> wrote: > 2007/2/25, Mansha Linux <mansha.linux@xxxxxxxxx>: > > hi all, > > > > For a 32-bit machine, there is total 4GB of memory(Physiacl addresses). So > > in that 1 GB for Kernel and 3GB for User Space. > 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. > > > So, kernel won't access that 3GB of memory, right? > > All the kernel code is exist in 1 GB of memory.... CMIIW > All the kernel code is linked using 0xC0000000(3GB, also virtual > address) as the base address. > > > So, my doubt is the > > DMA(0-16MB),NORMAL(16-896MB),HIGH(896MB-) memory divided > > within this 4GB of memory ,right? > Within 4GB physical addresses space. > > > if we allocate the pages using alloc_pages, from which region the pages are > > allocated for the kernel modules. is it from Physical RAM memory or from 1GB > > of kernel space ?? > From physical memory. > > > > -- > Best regards, > > Jarod Wang > ---- > Wuhan University of Technology, Wuhan, P. R. China > Jarod thanks for ur reply >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. Q->it means for a 32-bit machine all 4GB space is Virtual Addresses not Physical addresses ?
You CAN connect physical memory upto the maximum size your architecture allows (For 32 bit CPU, this is generally 4GB memory - It can be more with mechanisms like PAE). The virtual address space will always be 4 GB though. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ