On Thu, 2003-10-30 at 14:00, Shinpei Kato wrote: > Now I have a question for "kernel thread". > Some docs say "a process running in kernel mode can not be preempted". > It sounds like that a kernel thread is never preempted. But, if so, how > do plural kernel threads work together? I've looked for and found some > answers to that. It was like that kernel threads were also scheduled by > the kernel as general processes. > Is this answer correct? And I want to see a little more detailed answer > or any reference which describes a kernel thread. In 2.4, a process running in the kernel (whether its a normal process or a kernel thread) cannot be preempted. It only relinquishes the processor when it voluntarily does so. In 2.6, the kernel is preemptive, so processes (including kernel threads) can be preempted. But in either case, kernel threads are I/O-bound and they perform a set amount of work in response to certain events. So they are not always running. Robert Love -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/