A quantitative analysis of aspects in the eCos kernel

  • Authors:
  • Daniel Lohmann;Fabian Scheler;Reinhard Tartler;Olaf Spinczyk;Wolfgang Schröder-Preikschat

  • Affiliations:
  • Friedrich-Alexander University Erlangen-Nuremberg;Friedrich-Alexander University Erlangen-Nuremberg;Friedrich-Alexander University Erlangen-Nuremberg;Friedrich-Alexander University Erlangen-Nuremberg;Friedrich-Alexander University Erlangen-Nuremberg

  • Venue:
  • Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Nearly ten years after its first presentation and five years after its first application to operating systems, the suitability of Aspect-Oriented Programming (AOP) for the development of operating system kernels is still highly in dispute. While the AOP advocacy emphasizes the benefits of AOP towards better configurability and maintainability of system software, most kernel developers express a sound skepticism regarding the thereby induced runtime and memory costs: Operating system kernels have to be lean and efficient.We have analyzed the runtime and memory costs of aspects in general, on the level of μ-benchmarks, and by refactoring and extending the eCos operating system kernel using AspectC++, an AOP extension to the C++ language. Our results show that most AOP features do not induce a intrinsic overhead and that the actual overhead induced by AspectC++ is very low. We have also analyzed a test case with significant aspect-related costs. This example shows how the structure of the underlying kernel can have a negative impact on aspect implementations and how these costs can be avoided by an aspect-aware design.Based on this analysis, our conclusion is that AOP is suitable for the development of operating system kernels and other kinds of highly efficient infrastructure software.