|
ABSTRACT
Most operating system implementations contain two fundamental forms of asynchrony; processes (or equivalently, internal threads) and interrupts. Processes (or threads) synchronize using primitives such as mutexes and condition variables, while interrupts are synchronized by preventing their occurrence for a period of time. The latter technique not only is expensive, but it locks out interrupts on the possibility that an interrupt will occur and interfere with the particular critical section of code that was interrupted.In the Solaris 2 implementation of UNIX [Eykholt 92] [Kleiman 92], these two forms are unified into a single model, threads. Interrupts are converted into threads using a low overhead technique. This allows a single synchronization model to be used throughout the kernel. In addition, it lowers the number of times in which interrupts are locked out, it removes the overhead of masking interrupts, and allows modular code to be oblivious to the interrupt level it is called at.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
[Barnett 92] D. Barnett, Kernel Threads and their Performance Benefits, Real Time, Vol. 4, No. 1, Lynx Real-Time Systems, Inc., Los Gatos, CA., 1992.
|
| |
3
|
|
| |
4
|
[Eykholt 92] J.R. Eykholt, S.R. Kleiman, S. Barton, R. Faulkner, A. Shivalingiah, M. Smith, D. Stein, J. Voll, M. Weeks, D. Williams, Beyond Multiprocessing : Multithreading the SunOS Kernel, Proceedings USENIX Summer 1992.
|
| |
5
|
[Hamilton 88] G. Hamilton and D.S. Conde, An Experimental Symmetric Multiprocessor Ultrix Kernel, USENIX, Winter 1988, Dallas, Texas.
|
| |
6
|
[Khanna 92] S. Khanna, M. Sebree, J. Zolnowsky, Realtime Scheduling in SunOS 5.0, USENIX, Winter 1992, San Francisco, California.
|
| |
7
|
Steven Kleiman , Jim Voll , Joe Eykholt , Anil Shivalingiah , Dock Williams, Symmetric multiprocessing in Solaris 2.0, Proceedings of the thirty-seventh international conference on COMPCON, p.181-186, January 1992, San Francisco, California, United States
|
| |
8
|
[Leffler 89] S.J. Leffler, M.K. McKusick, M.J. Karels, J.S. Quarterman, The Design and Implementation of the 4.3 BSD UNIX Operating System, Addison-Wesley, Reading, MA, 1989.
|
| |
9
|
J. Kent Peacock , Sunil Saxena , Dean Thomas , Fred Yang , Wilfred Yu, Experiences from multithreading System V Release 4, Papers from the symposium on Experiences with distributed and multiprocessor systems, p.77-91, January 1992, Newport Beach, California, United States
|
| |
10
|
[Powell 91] M.L. Powell, S.R. Kleiman, S. Barton, D. Shah, D. Stein, M. Weeks, SunOS Multi-thread Architecture, USENIX Winter 1991, Dallas, Texas.
|
| |
11
|
[Stein 92] D. Stein, D. Shah, Implementing Lightweight Threads, USENIX Summer 1992, San Antonio, Texas.
|
| |
12
|
|
|