ACM Home Page
Please provide us with feedback. Feedback
A dynamic aspect-oriented system for OS kernels
Full text PdfPdf (249 KB)
Source Generative Programming And Component Engineering archive
Proceedings of the 5th international conference on Generative programming and component engineering table of contents
Portland, Oregon, USA
SESSION: Advanced aspects table of contents
Pages: 69 - 78  
Year of Publication: 2006
ISBN:1-59593-237-2
Authors
Yoshisato Yanagisawa  Tokyo Institute of Technology
Kenichi Kourai  Tokyo Institute of Technology
Shigeru Chiba  Tokyo Institute of Technology
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 71,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1173706.1173717
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Unixbench. http://www.tux.org/pub/tux/niemi/unixbench/.
 
2
S. Almajali and T. Elrad. Coupling availability and efficiency for aspect oriented runtime weaving systems. In Proceedings of the Second Dynamic Aspects Workshop (DAW05), march 2005.
 
3
Apache HTTP Server Project. Apache HTTP server benchmarking tool. http://httpd.apache.org/.
 
4
Apache Software Foundation. Apache Tomcat. http://tomcat.apache.org/.
5
 
6
B. M. Cantrill, M. W. Shapiro, and A. H. Leventhal. Dynamic instrumentation of production systems. In Proceedings of the USENIX Annual Technical Conference, pages 15--28. USENIX Association, June 2004.
7
8
9
10
11
 
12
M. Engel and B. Freisleben. Using a low-level virtual machine to improve dynamic aspect support in operating system kernels. In Proceedings of the Fourth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, march 2005.
 
13
K. Fraser and F. Chang. Operating system i/o speculation: How two invocations are faster than one. In Proceedings of the USENIX Annual Technical Conference (General Track), pages 325--338. USENIX Association, June 2003.
 
14
D. P. Ghormley, D. Petrou, S. H. Rodrigues, and T. E. Anderson. SLIC: An extensibility system for commodity operating systems. In Proceedings of the USENIX Annual Technical Conference (NO 98), june 1998.
15
 
16
H. Hibino, K. Kourai, and S. Chiba. Difference of degradation schemes among operating systems. In Proceedings of Workshop on Dependable Software - Tools and Methods, Dependable Systems and Networks (DSN-2005), pages 172--179, June 2005.
 
17
Hitachi, Ltd. and Fujitsu, Ltd. Linux kernel state tracer, 2001, 2005. http://lkst.sourceforge.net/.
 
18
 
19
 
20
H. Masuhara, G. Kiczales, and C. Dutchyn. Compilation semantics of aspect-oriented programs. In Proc. of Foundations of Aspect-Oriented Languages Workshop, AOSD 2002, pages 17--26, 2002.
 
21
 
22
 
23
V. Prasad, W. Cohen, F. C. Eigler, M. Hunt, J. Keniston, and B. Chen. Locating system problems using dynamic instrumentation. In Proceedings of the Linux Symposium, volume 2, pages 49--64, july 2005.
 
24
Red Hat, Inc. Red hat content accelerator (tux), 2001, 2002. http://www.redhat.com/docs/manuals/tux/.
 
25
J. Roberson. Ule: A modern scheduler for FreeBSD. In Proceedings of BSDCon '03, pages 17--28. USENIX Association, September 2003.
26
 
27
 
28
 
29
K. Yaghmour and M. R. Dagenais. Measuring and characterizing system behavior using kernel-level event logging. In Proceedings of the USENIX Annual Technical Conference, pages 13--26, june 2000.
 
30
 
31
C. Zhang. TinyC2: Towards building a dynamic weaving aspect language for c. In FOAL 2003 Proceedings Foundation of Aspect-Oriented Languages Workshop at AOSD 2003, march 2003.


Collaborative Colleagues:
Yoshisato Yanagisawa: colleagues
Kenichi Kourai: colleagues
Shigeru Chiba: colleagues