Am Freitag, den 14.10.2005, 09:21 +0200 schrieb Roy Smith: > On 10/14/05, Oliver Korpilla <Oliver.Korpilla@xxxxxx> wrote: > > so does the kernel have page directory and tables of its own ? > where does it keep them ? does it have any replacement for task->mm ? > task->mm is of type "struct mm_struct" (<linux/sched.h>). That is the process address space descriptor. It is a set of "struct vm_area_struct"s, that are the continuous regions in that address space. The process has its own page tables, that are put in when it is switched onto the CPU, since all processes have separate mappings. Even shared and mmap()-ed memory does appear under different addresses for every processes. Where the kernel pagetables are I can't remember or find out that fast. Fact is, the process mm_struct descriptor is the administrational unit process address space is kept note of. The included pages and their current paging state are additionally administrated by the virtual memory subsystem, which handles things as page faults, loading/storing to backing store, allocation. It manipulates the process descriptor as well. The kernel page tables for the kernel address space are separate, but always mapped in, so not on every process switch or system call there would be an invalidation of cache and TLB entries. With kind regards, Oliver Korpilla -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/