Results 11 - 20
of
24
The Substrate Object Model and Architecture
, 1993
"... Operating system kernels are difficult to build, hard to change and a problem to adapt to new hardware. This is particularly true when an operating system tries to simulate a general-purpose multiprocessor on a cluster of workstations. The substrate architecture presented here uses lessons from lang ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Operating system kernels are difficult to build, hard to change and a problem to adapt to new hardware. This is particularly true when an operating system tries to simulate a general-purpose multiprocessor on a cluster of workstations. The substrate architecture presented here uses lessons from language design to facilitate the evolution of existing operating systems. A reflective object-model that clearly separates instances, interfaces and implementations is the basis of this architecture. The object-model implementation allows flexible and dynamic composition of interfaces and implementations. The language environment and object model is used to create substrates, building block components of a multiprocessor environment. 1. Motivation Adapting commercial operating systems to match ever-changing hardware is a continuing problem. In particular, building proper operating system support so that a set of workstations connected through high-speed links can be used as a scalable general-...
Flexibility in Object-Oriented Operating Systems: A Review
, 1996
"... This report presents a review of recent research into flexible operating systems. In this context, flexible operating systems are taken to be those whose designs have been motivated to some degree by the desire to allow the system to be tailored, either statically or dynamically, to the requirements ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This report presents a review of recent research into flexible operating systems. In this context, flexible operating systems are taken to be those whose designs have been motivated to some degree by the desire to allow the system to be tailored, either statically or dynamically, to the requirements of specific applications or application domains. We begin by presenting a review of recent research into flexible system software with particular emphasis on the motivations for providing flexibility and the different approaches to achieving flexibility that are available. We then provide an overview of the main technologies for achieving flexibility in system software that have been employed. As it turns out, the use of object orientation is a common feature of many flexible operating systems. Thus, in order to more fully illustrate the use of object-orientation to achieve flexibility, we review a number of the most influential object-oriented operating systems in detail. Document Identifi...
CTK: Configurable Object Abstractions for Multiprocessors
, 1997
"... The Configuration Toolkit (CTK) is a library for constructing configurable object-based abstractions that are part of multiprocessor programs or operating systems. The library is unique in its exploration of runtime configuration for attaining performance improvements: (1) its programming model f ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
The Configuration Toolkit (CTK) is a library for constructing configurable object-based abstractions that are part of multiprocessor programs or operating systems. The library is unique in its exploration of runtime configuration for attaining performance improvements: (1) its programming model facilitates the expression and implementation of program configuration, and (2) its efficient runtime support enables performance improvements by configuration of program components during their execution. Program configuration is attained without compromising the encapsulation or the reuse of software abstractions. CTK programs are configured using attributes associated with object classes, object instances, state variables, operations, and object invocations. At runtime, such attributes are interpreted by policy classes, which may be varied separately from the abstractions with which they are associated. Using policies and attributes, an object's runtime behavior may be varied by (1...
Exploring and Aspect-Oriented Approach to OS Code
- In Proceeding of the 4th ECOOP Workshop on Object-Orientation and Operating Systems (ECOOP-OOSSWS'2001
, 2001
"... Operating system code is complex. But, while substantial complexity is inherent to this domain, we believe that other complexity is caused by modularity problems. In this paper, we explore aspect-oriented programming as a means of making this kind of complexity unnecessary. We show that simple lingu ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Operating system code is complex. But, while substantial complexity is inherent to this domain, we believe that other complexity is caused by modularity problems. In this paper, we explore aspect-oriented programming as a means of making this kind of complexity unnecessary. We show that simple linguistic constructs can be used to modularize prefetching – an aspect of the system that is otherwise unclear because its implementation is spread out in the code. 1
FLEX: A Tool for Building Efficient and Flexible Systems
- In Proc. Fourth Workshop on Workstation Operating Systems
, 1993
"... Modern operating systems must support a wide variety of services for a diverse set of users. Designers of these systems face a tradeoff between functionality and performance. Systems like Mach provide a set of general abstractions and attempt to handle every situation, which can lead to poor perform ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Modern operating systems must support a wide variety of services for a diverse set of users. Designers of these systems face a tradeoff between functionality and performance. Systems like Mach provide a set of general abstractions and attempt to handle every situation, which can lead to poor performance for common cases. Other systems, such as Unix, provide a small set of abstractions that can be made very efficient, at the expense of functionality. We are implementing a flexible system building tool, FLEX, that allows us to support a powerful operating systems interface efficiently by constructing specialized module implementations at runtime. FLEX improves the performance of existing systems by optimizing interprocess communications paths and relocating servers and clients to reduce communications overhead. These facilities improve the performance of Unix system calls on Mach from 20-400%. Furthermore, FLEX can dynamically extend the kernel in a controlled fashion, which gives user...
Microkernels Should Support Passive Objects
, 1993
"... We believe that a passive object model, in which the active entities or threads migrate between passive objects, is more appropriate than an active object model, as the basic structure of a microkernel-based operating system. A passive object model provides enhanced performance and simplicity becaus ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We believe that a passive object model, in which the active entities or threads migrate between passive objects, is more appropriate than an active object model, as the basic structure of a microkernel-based operating system. A passive object model provides enhanced performance and simplicity because it is more closely matched to the basic nature of microprocessors and the requirements of applications. It also provides more functionality by making the flow of control between objects a first-class abstraction which can be examined, manipulated, and used to carry information about the operation in progress.
Operating System Support For Embedding Network Subsystems
, 1995
"... Contents Chapter 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 Background Material : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.1 Object-Oriented Programming and Its Application in the Choices Operating System : : : : : : : : : : : : ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Contents Chapter 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 Background Material : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.1 Object-Oriented Programming and Its Application in the Choices Operating System : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.1.1 Object-Oriented Programming : : : : : : : : : : : : : : : : : : : : 3 2.1.2 The Choices Operating System : : : : : : : : : : : : : : : : : : : 6 2.2 Network Architecture Design in Operating Systems : : : : : : : : : : : : 9 2.2.1 Interfacing to the Network Hardware : : : : : : : : : : : : : : : : 9 2.2.2 Protocol Composition : : : : : : : : : : : : : : : : : : : : : : : : 10 2.2.3 Structuring Network Protocol Processing : : : : : : : : : : : : : : 11 2.2.4 BSD UNIX Networ
DYCE Concept - Architecture Implementation Strategies
- Integrated Broadband Communication Networks and Services, Copenhagen Apr.1993, C-18, Elsevier Science Publisher (NorthHolland
, 1993
"... This paper presents an approach to design a powerful and flexible controller architecture in order to support new applications across various heterogeneous networks. The approach allows a run-time configuration of the protocol modules. In contrast to existing systems, the developer has the choice to ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This paper presents an approach to design a powerful and flexible controller architecture in order to support new applications across various heterogeneous networks. The approach allows a run-time configuration of the protocol modules. In contrast to existing systems, the developer has the choice to apply different implementation strategies to a module, changing in this way its encapsulation and execution behaviour. Thus, one and the same module can meet different configuration requirements depending on its implementation form as: a typed dynamic library procedure, a typed unmovable thread, a typed movable thread, or a composed protocol graph. The proposed environment is a light-weight framework, called DYCE-2, which represents an implementation of the Dynamic Configuration Entity (DYCE) [Hein93]. DYCE is the central part of our flexible protocol architecture. To build such a flexible and also high-performance system we have to find out and uncover protocol functionalities which can op...
Crosscutting the Great Divide: Exploring an Aspect-Oriented Approach to OS
"... “There probably isn’t a ‘best ’ way to build the system, or even any major part of it; much more important is to avoid choosing a terrible way, and to have clear division of responsibilities among the parts. ” – Butler Lampson [33] Operating system code is complex. But, while substantial complexity ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
“There probably isn’t a ‘best ’ way to build the system, or even any major part of it; much more important is to avoid choosing a terrible way, and to have clear division of responsibilities among the parts. ” – Butler Lampson [33] Operating system code is complex. But, while substantial complexity is inherent to this domain, some complexity is caused by modularity problems. The goal of the work proposed here is to explore aspectoriented programming as a means of making this kind of complexity unnecessary. Towards this end, we need to identify aspects of the system, use the proposed mechanisms of AOP to modularize them, and establish the impact this approach has on the code. 1

