Fine-grained dynamic instrumentation of commodity operating system kernels
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Structuring operating system aspects: using AOP to improve OS structure modularity
Communications of the ACM
Using aspectC to improve the modularity of path-specific customization in operating system code
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Web cache prefetching as an aspect: towards a dynamic-weaving based solution
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Improving the FreeBSD SMP Implementation
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Speeding Up Kernel Scheduler by Reducing Cache Misses
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
GILK: A Dynamic Instrumentation Tool for the Linux Kernel
TOOLS '02 Proceedings of the 12th International Conference on Computer Performance Evaluation, Modelling Techniques and Tools
Virtual machine support for dynamic join points
Proceedings of the 3rd international conference on Aspect-oriented software development
An expressive aspect language for system applications with Arachne
Proceedings of the 4th international conference on Aspect-oriented software development
Supporting autonomic computing functionality via dynamic operating system kernel aspects
Proceedings of the 4th international conference on Aspect-oriented software development
An execution layer for aspect-oriented programming languages
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Dynamic instrumentation of production systems
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Measuring and characterizing system behavior using kernel-level event logging
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
SLIC: an extensibility system for commodity operating systems
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Proceedings of the 2009 ACM symposium on Applied Computing
Dynamic AspectC++: Generic Advice at Any Time
Proceedings of the 2009 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the Eighth SoMeT_09
An aspect-oriented framework for operating system evolution
Proceedings of the 2010 ACM Symposium on Applied Computing
AspectC++: An integrated approach for static and dynamic adaptation of system software
Knowledge-Based Systems
CiAO: an aspect-oriented operating-system family for resource-constrained embedded systems
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Aspect-aware operating system development
Proceedings of the tenth international conference on Aspect-oriented software development
The aspect-aware design and implementation of the CiAO operating-system family
Transactions on Aspect-Oriented Software Development IX
Hi-index | 0.00 |
We propose a dynamic aspect-oriented system for operating system (OS) kernels written in the C language. Unlike other similar systems, our system named KLASY allows the users to pointcut not only function calls but also member accesses to structures. This feature helps the developers who want to use aspects for profiling or debugging an OS kernel. To enable this, KLASY uses a modified C compiler for compiling an OS kernel. The modified compiler produces extended symbol information, which enables a dynamic weaver to find the memory addresses of join point shadows during runtime. Since a normal C compiler produces only limited symbol information, other dynamic aspect-oriented systems for C have been able to pointcut only function calls. We have implemented KLASY for Linux with the GNU C compiler. Our experiments revealed that KLASY achieves sufficient execution performance for practical use. Our case studies disclosed that KLASY is useful for real applications.