Adaptive operating system design using reflection

  • Rodger Lea
  • Yasuhiko Yokote
  • Jun-ichiro Itoh
Distributed Operating Systems
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1107)


To gain the maximum advantage of the object oriented programming paradigm, we believe it is necessary for the paradigm to be used throughout the application platform. This means that not only should applications be built using objects, but the underlying operating system should also be built using objects. Although this leads to a more modular operating system structure, perhaps more importantly it minimises the mismatch between the application programming paradigm and the underlying support infrastructure. However, ensuring that the underlying system supports individual application requirements is a difficult task. In essence it requires that the system be tailored towards application requirements. Apertos achieves this difficult task through the use of meta-objects and reflection, which allows the system to be adapted by application programmers via the reflective infrastructure. In this paper we discuss the object model that Apertos supports and how it can be tailored to support different application requirements.


Class Hierarchy Device Driver Virtual Memory Reflective System Concurrent Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Tevanian Avadis Jr. and Richard F. Rashid. MACH: A Basis for Future UNIX Development. Technical report, Department of Computer Science, Carnegie Mellon University, June 1987.Google Scholar
  2. 2.
    M Banatra, Y Belhamissi, V Issarny, and J Routeau. Adaptive placement of method executions within a customisable distributed object based sysystem. In Proceedings of the 15th International Conference on Distributed Computing Systems, May 1995.Google Scholar
  3. 3.
    Nariman Batlivala, Gleeson Barry, Hamrick Jim, Lurndal Scott, Price Darren, Soddy James, and Abrossimov Vadim. Experience with SVR4 over CHORUS. In Micro-kernel and other kernel architectures, pp. 223–241. USENIX, April 1992.Google Scholar
  4. 4.
    Brian Bershad. SPIN — an extensible micro-kernel for application specific operating system services. In Proceedings of the 6th ACM-SIGOPS European Workshop: Matching Operating Systems to Application Needs, September 1994.Google Scholar
  5. 5.
    C Bryce, V Issarny, G Muller, and I Puaut. Towards safe and efficient customization in distributed systems. In Proceedings of the 6th ACM-SIGOPS European Workshop: Matching Operating Systems to Application Needs, September 1994.Google Scholar
  6. 6.
    Roy H. Campbell, Nayeem Islam, Ralph Johnson, Panos Kougiouris, and Peter Madany. Choices, Frameworks and Refinement. In Proceedings of the 1991 International Workshop on Object Orientation in Operating Systems, pp. 9–15. IEEE Computer Society Press, October 1991.Google Scholar
  7. 7.
    Graham Hamilton and Panos Kougiouris. The Spring nucleus: A microkernel for objects. In USENIX 1993 Summer Technical Conference Proceedings. USENIX Association, June 1993.Google Scholar
  8. 8.
    Jun ichiro Itoh, Yasuhiko Yokote, and Mario Tokoro. Using Metaobjects to support optimization in Apertos Operating System. Technical Report SCSL-TM-95-006, Sony Computer Science Laboratory Inc., 1995.Google Scholar
  9. 9.
    Gregor Kiczales, Jim des Rivières, and Daniel G. Bobrow. The Art of the Metaobject Protocol. The MIT Press, 1991.Google Scholar
  10. 10.
    Rodger Lea, Christian Jacquemot, and Eric Pillevesse. COOL: System support for distributed programming. Communications of the ACM, Vol. 36, No. 9, September 1993.Google Scholar
  11. 11.
    Hidehiko Masuhara, Satoshi Matsuoka, Kenichi Asai, and Akinori Yonezawa. Compiling away the meta-level in object-oriented concurrent reflective languages using partial evaluation. In In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '95), 1995.Google Scholar
  12. 12.
    Kenichi Murata, Nigel Horspool, and Yasuhiko Yokote. Design and specification of cognac. Technical Report SCSL-TM-94-006, Sony Computer Science Laboratory Inc., 1994.Google Scholar
  13. 13.
    Calton Pu and Jon Walpole. A study of dynamic optimisation techniques: Lessons and directions in kernel design. Technical Report CS/E 93-007, Oregon Graduate Institute (OGI), April 1993. Technical Report CS/E 93-007.Google Scholar
  14. 14.
    Yasuhiko Yokote. The Apertos Reflective Operating System: The Concept and Its Implementation. In Proceedings of Object-Oriented Programming Systems, Languages and Applications in 1992. ACM Press, October 1992. Also appeared in SCSL-TR-92-014 of Sony Computer Science Laboratory Inc.Google Scholar
  15. 15.
    Yasuhiko Yokote, Gregor Kiczales, and John Lamping. Separation of Concerns and Operating Systems for Highly Heterogeneous Distributed Computing. In Proceedings of the 6th ACM-SIGOPS European Workshop: Matching Operating Systems to Application Needs, September 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Rodger Lea
    • 1
  • Yasuhiko Yokote
    • 1
  • Jun-ichiro Itoh
    • 1
  1. 1.Sony Computer Science Lab.TokyoJapan

Personalised recommendations