Adaptive Operating System Design using Reflection

Flexibility to adapt to different applications is a key requirement of modern operating systems. We have explored the use of meta-objects and reflection as a means to write adaptable system software. The paper discusses the Apertos operating system, that uses these techniques. It outlines how meta-objects help to support flexibility and how we have implemented the concepts, and gives some performance figures.

[1]  Darren Price,et al.  Experience with SVR4 Over Chorus , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.

[2]  Gregor Kiczales,et al.  Separation of concerns and operating systems for highly heterogeneous distributed computing , 1994, EW 6.

[3]  Valérie Issarny,et al.  Adaptive placement of method executions within a customizable distributed object-based runtime system: design, implementation and performance , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[4]  Satoshi Matsuoka,et al.  Compiling away the meta-level in object-oriented concurrent reflective languages using partial evaluation , 1995, OOPSLA.

[5]  Calton Pu,et al.  A Study of Dynamic Optimization Techniques: Lessons and Directions in Kernel Design , 1993 .

[6]  Yasuhiko Yokote,et al.  The Apertos reflective operating system: the concept and its implementation , 1992, OOPSLA '92.

[7]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[8]  Roy H. Campbell,et al.  Choices, frameworks and refinement , 1991, Proceedings 1991 International Workshop on Object Orientation in Operating Systems.

[9]  Emin Gün Sirer,et al.  SPIN: an extensible microkernel for application-specific operating system services , 1994, EW 6.

[10]  Valérie Issarny,et al.  Towards safe and efficient customization in distributed systems , 1994, EW 6.

[11]  Graham Hamilton,et al.  The Spring Nucleus: A Microkernel for Objects , 1993 .

[12]  Rodger Lea,et al.  COOL: system support for distributed programming , 1993, CACM.