Re: difference between User space and Kernel space

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

 



>     Can you say me what address space is? Not the
> address space associated with the user space. its the
> other one.

On i386 the kernels memory setup is quite static (things will change if
anyone uses vmalloc). It maps the physical memory starting somewhere
after a megabyte into 0xc0000000. Some bios/acpi/other stuff sits in the
beginning, between 0 to 1M, and we don't want that mapped.

Page tables are setup for this region which are global (that doesn't
mean that user-space processes can access this memory anyway). But it
means that when user-space calls a system call we won't have to do any
tlb flushes cause the kernels page tables are static (almost, as
explained). This is contrary to the 4G/4G patch set.

So there are several address spaces, the kernel has one and each
user-space process will have one.

This is ofcourse afaik, I'm hoping someone will correct me if I'm wrong.
Also this should probably be put into the wiki, this question or similar
is quite common. I'll see if I get around to learn how to do it.



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           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