Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Kernel structures for a distributed operating system
Kernel structures for a distributed operating system
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Choices (class hierarchical open interface for custom embedded systems)
ACM SIGOPS Operating Systems Review
Dimensions of object-based language design
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Communications of the ACM
Object-oriented concurrent programming
Object-oriented concurrent programming
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
ARTS: a distributed real-time kernel
ACM SIGOPS Operating Systems Review
The Spring kernel: a new paradigm for real-time operating systems
ACM SIGOPS Operating Systems Review
The Amber system: parallel programming on a network of multiprocessors
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Proxies: a software structure for accommodating heterogeneity
Software—Practice & Experience
Pilot: an operating system for a personal computer
Communications of the ACM
Reflections on an operating system design
Communications of the ACM
Modularization and hierarchy in a family of operating systems
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
HYDRA: the kernel of a multiprocessor operating system
Communications of the ACM
Meta-Level Architectures and Reflection
Meta-Level Architectures and Reflection
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Protection in the Hydra Operating System
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
StarOS, a multiprocessor operating system for the support of task forces
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
The multics system: an examination of its structure
The multics system: an examination of its structure
A network architecture providing host migration transparency
SIGCOMM '91 Proceedings of the conference on Communications architecture & protocols
The Apertos reflective operating system: the concept and its implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Host migration transparency in IP networks: the VIP approach
ACM SIGCOMM Computer Communication Review
Introducing Object Orientation into Large and Complex Systems
IEEE Transactions on Software Engineering
SCONE: using concurrent objects for low-level operating system programming
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Separation of concerns and operating systems for highly heterogeneous distributed computing
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
The new structure of an operating system: the Apertos approach
EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
Hi-index | 0.00 |
A next generation operating system should accommodate an ultra large-scale, open, self-advancing, and distributed environment. This environment is dynamic and versatile in nature. In it, an unlimited number of objects, ranging from fine to coarse-grained, are emerging, vanishing, evolving, and being replaced; computers of various processing capacities are dynamically connected and disconnected to networks; systems can optimize object execution by automatically detecting the user's and/or programmer's requirements. In this paper, we investigate several structuring concepts in existing operating systems. These structuring concepts include layered structuring, hierarchical structuring, policy/mechanism separation, collective kernel structuring, object-based structuring, open operating system structuring, virtual machine structuring, and proxy structuring.We adjudge that these structuring concepts are not sufficient to support the environment described above because they lack the abilities to handle dynamic system behavior and transparency and to control dependency. Thus, we propose a new operating system structuring concept which we call the Muse object architecture. In this architecture, an object is a single abstraction of a computing resource in the system. Each object has a group of meta-objects which provide an execution environment. These meta-objects constitute a meta-space which is represented within the meta-hierarchy. An object is causally connected with its meta-objects: the internal structure of an object is represented by meta-objects; an object can make a request of meta-computing; a meta-object can reflect the results of meta-computing to its object. We discuss object/meta-object separation, the meta-hierarchy, and reflective computing of the architecture. We then compare the Muse object architecture with the existing structuring concepts.We also demonstrate that the Muse object architecture is suitable for structuring future operating systems by presenting several system services of the Muse operating system such as class systems, a real-time scheduler with hierarchical policies, and free-grained objects management. Class systems facilitate programming by several classes of programming languages. A real-time scheduler with hierarchical policies can meet various types of real-time constraints presented by applications. Free-grained objects management can suit the object granularity to the application, so that an object is efficiently managed according to its granularity. Finally, we present the implementation of the Muse operating system which is designed based on the Muse object architecture. Version 0.3 of the Muse kernel is running on the MC68030 based Sony NEWS workstations.