Beyond Multiprocessing - Multithreading the SunOS Kernel
Joseph R. Eykholt, Steve R. Kleiman, S. Barton, Roger Faulkner, Anil Shivalingiah, M. Smith, D. Stein, Jim Voll, Mary Weeks, D. Williams, D. Williams Sunsoft · 1992
Preparing the SunOS/SVR4 kernel for today's challenges: symmetric multiprocessing, multi-threaded applications, real-time, and multimedia, led to the incorporation of several innovative techniques. In particular, the kernel was re-structured around threads. Threads are used for most asynchronous processing, including interrupts. The resulting kernel is fully preemptible and capable of real-time response. The combination provides a robust base for highly concurrent, responsive operation. Introduction When we started to investigate enhancements to the SunOS kernel to support multiprocessors, we realized that we wanted to go further than merely adding locks to the kernel and keeping the user process model unchanged. It was important for the kernel to be capable of a high degree of concurrency on tightly coupled symmetric multiprocessors, but it was also a goal to support more than one thread of control within a user process. These threads must be capable of executing system calls and ha...