Page 24 of 66
Multithreaded Kernel, Mutex and Condition Variables (cont)
Multithreaded Kernel:
- Solaris has a multithreaded kernel
- There are kernel threads associated with user processes
- There are system kernel threads such as those created to handle interrupts
- Device driver routines run in kernel threads
- On a multiprocessor system, several kernel threads can run simultaneously
Contrast With Traditional SVR4:
- The Solaris kernel may preempt a thread at any time to run another thread
- Solaris kernel code can no longer assume that a process in the kernel will continue to run until it voluntarily calls sleep() or swtch()
- Traditional systems only allowed interrupts to gain control from kernel code, and that could be prevented using calls to spl() routines
- In MP systems, multiple threads may execute simultaneously in the kernel
FIRST PREVIOUS
NEXT LAST
CONTENTS
Return to White Papers
|