> 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/