An Aspect-Oriented Implementation of Interrupt Synchronization in the PURE Operating System Family∗

Some concerns in the design of operating systems are hard to modularize in the implementation and thus difficult to maintain. One of these “crosscutting concerns” is the interrupt synchronization strategy. Changing that strategy is typically expensive and risky. Aspect-oriented programming (AOP) is a promising approach to overcome these problems, but most aspect-oriented programming languages are not adequate for the operating systems domain. Thus experiences with AOP and operating systems are rare. Here we describe our experiences with an aspectoriented implementation of interrupt synchronization in the PURE operating system family using AspectC++ 1, a new aspect-oriented language extension for C++ designed by the authors. We provide a critical evaluation of our new approach comparing it to the previous non aspect-oriented implementation and prove that AOP does not impose an unacceptable overhead.