Abstract
This paper addresses the issues faced when constructing an operating system and its kernel with object-oriented technology. We first propose object/metaobject separation, a means of constructing an object-oriented operating system and its kernel. This method divides the implementing system facilities and applications into two types: objects and metaobjects. This paper presents the concept of object/metaobject separation and discusses why object/metaobject separation is required in terms of limitations in the micro-kernel and object-oriented technologies. We also discuss an example of using object/metaobject separation as implemented in Apertos. This paper then proposes mechanisms which efficiently implement object/metaobject separation. These are characterized by meta-level context management, and are implemented in the Apertos operating system. Meta-level context management is designed to reduce the overhead of control transfer between an object and its metaspace. Here, metaobjects reflectors, MetaCore, Context, and Activity are introduced to represent the metahierarchy of an object's execution. Finally, we present the evaluation results of the Apertos implementation, and discuss the relationship with previous work.
Preview
Unable to display preview. Download preview PDF.
References
Mike Accetta, Robert Baron, William Bolosky, David Golub, Richard Rashid, Avadis Tevanian, and Michael Young. Mach: A New Kernel Foundation For UNIX Development. In USENIX 1986 Summer Conference Proceedings. USENIX Association, June 1986.
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. In Proceedings of the 13th ACM Symposium on Operating System Principles, pp. 95–109, October 1991.
Rodney A. Brooks. A Robust Layered Control System For A Mobile Robot. IEEE Journal of Robotics and Automation, Vol. RA-2, No. 1, pp.14–23, March 1986.
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.
David R. Cheriton. The V Distributed System. Communications of the ACM, Vol. 31, No. 3, pp.314–333, March 1988.
Peter Druschel, Larry L. Peterson, and Norman C. Hutchinson. Beyond Micro-Kernel Design: Decoupling Modularity and Protection in Lipto. In Proceedings of the 12th International Conference on Distributed Computing Systems, pp. 512–520, June 1992.
Gerry Kane and Joe Heinrich, editors. MIPS RISC Architecture. Prentice Hall, 1992.
R. Levin, E. Cohen, W. Corwin, F. Pollack, and W. Wulf. POL-ICY/MECHANISM SEPARATION IN HYDRA. In Proceedings of the 5th ACM Symposium on Operating System Principles, pp. 132–140. ACM Press, November 1975.
Brian D. Marsh, Michael L. Scott, Thomas J. LeBlanc, and Evangelos P. Markatos. First-Class User-Level Threads. In Proceedings of the 13th ACM Symposium on Operating System Principles, pp. 110–121, October 1991.
M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillemont, F. Herrmann, C. Kaiser, S. Langlois, P. Léonard, and W. Neuhauser. Chorus Distributed Operating Systems. Computing Systems, Vol. 1, No. 4, pp.305–370, Fall 1988.
Eugene Howard Spafford. Kernel Structures for a Distributed Operating System. PhD thesis, Georgia Institute of Technology, May 1986.
Andrew S. Tanenbaum, Robbert van Renesse, Hans van Staveren, Gregory J. Sharp, Sape J. Mullender, Jack Jansen, and Guido van Rossum. Experiences with the Amoeba Distributed Operating System. Communications of the ACM, Vol. 33, No. 12, pp.46–63, December 1990.
Hideyuki Tokuda, Tatsuo Nakajima, and Prithvi Rao. Real-Time Mach: Towards a Predictable Real-Time System. In Proceedings of Mach Workshop. USENIX Association, October 1990.
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.
Yasuhiko Yokote, Fumio Teraoka, and Mario Tokoro. A Reflective Architecture for an Object-Oriented Distributed Operating System. In Proceedings of ECOOP'89 European Conference on Object-Oriented Programming, July 1989. Also appeared in SCSL-TR-89-001 of Sony Computer Science Laboratory Inc.
Yasuhiko Yokote, Atsushi Mitsuzawa, Nobuhisa Fujinami, and Mario Tokoro. Reflective Object Management in the Muse Operating System. In Proceedings of the 1991 International Workshop on Object Orientation in Operating Systems, pp. 16–23. IEEE Computer Society Press, October 1991. Also appeared in SCSL-TR-91-009 of Sony Computer Science Laboratory Inc.
Yasuhiko Yokote, Fumio Teraoka, Atsushi Mitsuzawa, Nobuhisa Fujinami, and Mario Tokoro. The Muse Object Architecture: A New Operating System Structuring Concept. ACM Operating Systems Review, Vol. 25, No. 2, pp.22–46, April 1991. Also appeared in SCSL-TR-91-002 of Sony Computer Science Laboratory Inc.
Akinori Yonezawa and Mario Tokoro, editors. Object-Oriented Concurrent Programming. The MIT Press, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yokote, Y. (1993). Kernel structuring for object-oriented operating systems: The Apertos approach. In: Nishio, S., Yonezawa, A. (eds) Object Technologies for Advanced Software. ISOTAS 1993. Lecture Notes in Computer Science, vol 742. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57342-9_71
Download citation
DOI: https://doi.org/10.1007/3-540-57342-9_71
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57342-5
Online ISBN: 978-3-540-48075-4
eBook Packages: Springer Book Archive