ACM Home Page
Please provide us with feedback. Feedback
Interrupts as threads
Full text PdfPdf (492 KB)
Source ACM SIGOPS Operating Systems Review archive
Volume 29 ,  Issue 2  (April 1995) table of contents
Pages: 21 - 26  
Year of Publication: 1995
ISSN:0163-5980
Authors
Steve Kleiman  SunSoft Inc., Mountain View, California
Joe Eykholt  SunSoft Inc., Mountain View, California
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 50,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/202213.202217
What is a DOI?

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
 
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
 
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


Collaborative Colleagues:
Steve Kleiman: colleagues
Joe Eykholt: colleagues