On 8/22/2010 3:58 PM, Parmenides wrote:
Hi, It's said that kernel thread is running in kernel address space only. I wonder what's the meaning of "running in kernel address space only".
X86 Architecture defines 4 logical rings which acts as a protection mechanism. When code is running in ring 0 (aka kernel thread) it means its segment selector (RPL) and Descriptor data structures are 'marked' with 0. This is in contrast with user space programs with segment selector is 3 (ring 3). So kernel space threads or user space threads are the CPL , RPL and DPL values.
When kernel thread running, which page table is used? Is there any special characteristics of this page table?
Page table keeps mapping between virtual pages and physical page frames. And when ever a kernel thread allocates memory each page allocated is marked as only readable or writable via kernel code. etc... Thanks -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ