Sun Java Solaris Communities My SDN Account Join SDN
 
Documentation

Solaris (Intel Platform Edition) - Device Driver Writer's Orientation

 

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