Abstract
In this paper I refine the concept of interrupt to define a more structured mechanism with straightforward semantics. Some commonly implemented interrupt mechanisms are reviewed; their semantics are deduced and analyzed. I show how a different understanding of interrupts resolves the deficiencies of existing interrupt mechanisms and provides the programmer with powerful tools for addressing real-time and multiprocessing problems. On this basis a recommendation is made for architectural and operating system support of the improved interrupt mechanism.