Content deleted Content added
m →Kernel threads: Keeping parlance consistent in the article |
|||
Line 29:
===Kernel threads===
{{anchor|kernel thread}}
A ''kernel thread'' is a "lightweight" unit of kernel scheduling. At least one kernel thread exists within each process. If multiple kernel threads exist within a process, then they share the same memory and file resources. Kernel threads are preemptively multitasked if the operating system's process [[Scheduling (computing)|scheduler]] is preemptive. Kernel threads do not own resources except for a [[call stack|stack]], a copy of the [[processor register|registers]] including the [[program counter]], and [[thread-local storage]] (if any), and are thus relatively cheap to create and destroy. Thread switching is also relatively cheap: it requires a context switch (saving and restoring registers and stack pointer), but does not change virtual memory and is thus cache-friendly (leaving TLB valid). The kernel can assign one or more [[software thread]] to each core in a CPU (
===User threads===
|