An Object Model for Conventional Operating Systems

We have developed an object model for conventional (UNIX-like) systems. It can be used for extending such systems with persistent, shared, protected, and distributed objects. It allows objects to coexist with, access, and be accessed by existing components of the operating system, and has been developed by applying much of the work done in naming, organization, access, and protection of conventional resources to support naming, organization, access, and protection of objects. Objects are created as combinations of conventional processes and files. Like processes, they are active agents capable of executing code on different hosts and communicating with other objects. Like files, they are persistent, have a protected name in a network file system, and are opened and closed for access. The model has been implemented in Suite, which is an extension of UNIX and supports a large part of the functionality provided by unconventional object-based operating systems. The paper presents the motivation for the object model, describes its distinguishing features together with the rationale for our decisions, outlines its implementation in Suite, describes the results of our preliminary experience with building and using objects in Suite, and presents conclusions and future directions for research.

[1]  Partha Dasgupta,et al.  The Design and Implementation of the Clouds Distributed Operating System , 1989, Comput. Syst..

[2]  David Maier,et al.  Development of an object-oriented DBMS , 1986, OOPLSA '86.

[3]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[4]  Prasun Dewan,et al.  An approach to support automatic generation of user interfaces , 1990, TOPL.

[5]  Richard E. Sweet The Mesa programming environment , 1985, SLIPE '85.

[6]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[7]  Matthew Morgenstern Active Databases as a Paradigm for Enhanced Computing Environments , 1983, VLDB.

[8]  Prasun Dewan,et al.  A tour of suite user interface software , 1990, UIST '90.

[9]  Barbara Liskov,et al.  Guardians and actions: linguistic support for robust, distributed programs , 1982, POPL '82.

[10]  William A. Wulf,et al.  HYDRA , 1974, Commun. ACM.

[11]  Barton P. Miller,et al.  Distributed upcalls: a mechanism for layering asynchronous abstractions , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[12]  Mahadev Satyanarayanan,et al.  Scalable, secure, and highly available distributed file access , 1990, Computer.

[13]  Bharat K. Bhargava,et al.  Engineering the Object-relation Database Model in O-Raid , 1989, FODO.

[14]  Patricia Florissi,et al.  On remote procedure call , 1992, CASCON.

[15]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[16]  Andrew P. Black,et al.  Implementing location independent invocation , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[17]  Richard T. Snodgrass,et al.  An Object-Oriented Command Language , 1983, IEEE Transactions on Software Engineering.

[18]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[19]  Prasun Dewan,et al.  Experience with the Suite distributed object model , 1990, IEEE Workshop on Experimental Distributed Systems.

[20]  Prasun Dewan Supporting Objects in a Conventional Operating System , 1988 .

[21]  Andrew P. Black,et al.  Implementing Location Independent Invocation , 1990, IEEE Trans. Parallel Distributed Syst..

[22]  Richard F. Rashid,et al.  Mach and Matchmaker: kernel and language support for object-oriented distributed systems , 1986, OOPSLA 1986.

[23]  SatyanarayananMahadev Scalable, Secure, and Highly Available Distributed File Access , 1990 .

[24]  Peter Buneman,et al.  Types and persistence in database programming languages , 1987, CSUR.

[25]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.