The design of the UNIX operating system
The design of the UNIX operating system
Symmetric multiprocessing in Solaris 2.0
COMPCON '92 Proceedings of the thirty-seventh international conference on COMPCON
Experiences from multithreading System V Release 4
SEDMS III Papers from the symposium on Experiences with distributed and multiprocessor systems
The architecture of concurrent programs
The architecture of concurrent programs
Fast Interrupt Priority Management in Operating System Kernels
USENIX Microkernels and Other Kernel Architectures Symposium
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
Eraser: a dynamic data race detector for multi-threaded programs
Proceedings of the sixteenth ACM symposium on Operating systems principles
Synchronization in portable device drivers
ACM SIGOPS Operating Systems Review
Synchronization in portable device drivers
ACM SIGOPS Operating Systems Review
Queue - Multiprocessors
Interrupt Verification via Thread Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
An EDF Interrupt Handling Scheme for Real-Time Kernel: Design and Task Simulation
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part IV: ICCS 2007
Improving Real-Time Performance of a Virtual Machine Monitor Based System
SEUS '08 Proceedings of the 6th IFIP WG 10.2 international workshop on Software Technologies for Embedded and Ubiquitous Systems
ACM Transactions on Embedded Computing Systems (TECS)
A lazy EDF interrupt scheduling algorithm for multiprocessor in parallel computing environment
ICA3PP'07 Proceedings of the 7th international conference on Algorithms and architectures for parallel processing
A method to improve interrupt latency in real-time OS kernels
Journal of Embedded Computing - Advanced Topics on Embedded Computing
Aspect-aware operating system development
Proceedings of the tenth international conference on Aspect-oriented software development
Integrated Task and Interrupt Management for Real-Time Systems
ACM Transactions on Embedded Computing Systems (TECS)
Investigating time properties of interrupt-driven programs
SBMF'12 Proceedings of the 15th Brazilian conference on Formal Methods: foundations and applications
The aspect-aware design and implementation of the CiAO operating-system family
Transactions on Aspect-Oriented Software Development IX
nuKernel: MicroKernel for multi-core DSP SoCs with load sharing and priority interrupts
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
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.