I am newbie to Linux Kernel.
I know that there are two context
1. Process Context, running in user space or in Kernel Space (for ex: as part of System call)
2. Interrupt Context
In what context Kernel Thread (not related to any User Thread, for ex:flush task) runs ?
Is there any other context other than Process and Interrupt context in Linux Kernel ?
Advertisement
Answer
Kernel threads run in process contexts in kernel space. Though there are some kernel threads which handle interrupts too. They are called threaded interrupt handlers. But they still run in process context!
Here is an excellent explanation of the vital difference between the 2 contexts!
Here is one which’ll help you gain more understanding!
What context does the scheduler code run in?
As far as I know, process and interrupt are the only 2 contexts.