No abstract available.
Foreword
On flexible support for mobile objects
CORRELATE is a concurrent object-oriented language with a flexible run time system that enables the instantiation of application specific run time objects. We have exploited this capability in the development of mobile agents for large scale distributed ...
Knowbot Programming: system support for mobile agents
Knowbot Programs are mobile agents intended for use in widely distributed systems like the Internet. We describe our experiences implementing security, process migration, and inter-process communication in a prototype system implemented using the object-...
A system architecture for flexible control of downloaded executable content
We present an architecture that enables developers to build applications that can flexibly control downloaded executable content. The architecture includes an access control model for representing security requirements and a browser service for deriving ...
Distributed resource monitors for mobile objects
We present our position on resource monitoring as three working hypotheses. First, a resource-aware placement of components of a distributed application can provide significant performance gains over a resource-oblivious placement. Second, effective ...
A global atomicity primitive
This paper describes a novel mechanism that supports a global atomicity primitive. In distributed systems, it is important that concurrent access to shared data items does not violate some pre-defined notion of consistency. A global atomicity primitive ...
Operating system support for high-performance, real-time CORBA
A broad range of applications (such as avionics, telecommunication systems, and multimedia on demand) require various types of real-time guarantees from the underlying middleware, operating systems, and networks to achieve their quality of service (QoS)...
Sparks: coherence as an abstract type
Sparks is a protocol construction framework that treats records of coherence actions as abstract types. Sparks' central abstraction is the coherence history, an object that summarizes past coherence actions to shared segments. Histories provide high-...
Communication in GLOBE: an object-based worldwide operating system
Current paradigms for interprocess communication are not sufficient to describe the exchange of information at an adequate level of abstraction. They are either too low-level, or their implementations cannot meet performance requirements. As an ...
Constructing IPv6 protocol stack on Apertos
The paper discusses the implementation of IPv6 protocol stack on the top of the reflective object oriented operating system, Apertos. The Internet community is working on a transition from IPv4 to a new Internet protocol, IPv6. Though IPv6 has good ...
MetaJava: an efficient run-time meta architecture for Java/sup TM/
Adaptability to special requirements of applications is a crucial concern of modern operating system architectures. Reflection and meta objects are means to achieve this adaptability. We report on ideas and experience we obtained while extending the run-...
Fine-grained, dynamic user customization of operating systems
Application performance can be improved by customizing the operating system kernel at run time. Inserting application code directly into the kernel avoids the costly protection-domain switches required in traditional interprocess communications. Our ...
Adaptive object management for a reconfigurable microkernel
Generic mechanisms and policies provided by the existing operating system kernels cannot satisfy requirements of the current and future applications especially in mobile system environments. An operating system kernel needs to be adaptable, customizable,...
Specialization classes: an object framework for specialization
This paper presents an object-oriented framework for specifying specializations in long-running programs such as operating systems. This model is based on the following concepts: Inheritance allows replacement implementations of member functions. We ...
PFS: a distributed and customizable file system
In this paper we present our ongoing work on the Pegasus File System (PFS), a distributed and customizable file system that can be used for off-line file system experiments and on-line file system storage. PFS is best described as an object-oriented ...
User-level checkpointing through exportable kernel state
Checkpointing, process migration, and similar services need to have access not only to the memory of the constituent processes, but also to the complete state of all kernel provided objects (e.g., threads and ports) involved. Traditionally, a major ...
The measured performance of a fast local IPC
Protected application decomposition is limited by the performance of the local interprocess procedure call implementation. In this paper we measure the performance of a new IPC implementation, and show that the cost of IPC can be reduced to the cost of ...
Caches versus object allocation
Dynamic object allocation usually stresses the randomness of data memory usage; the variables of a dynamic cache working set are to some degree distributed stochastically in the virtual or physical address space. This interferes with cache architectures,...
Flexible-sized page-objects
Demand-paging memory-management systems usually work with pages of fixed size. This is a limitation in systems relying on hierarchies of pagers to build layers of abstract machines. A generalized scheme is presented that allows for pages of flexible ...
Reducing the virtual memory overhead of swizzling
Swizzling is a mechanism used by OODBs and persistent object systems to convert pointers from their disk format to a more efficient in-memory format. Previous studies of swizzling have focused on analyzing the CPU overhead of pointer translation and ...
Hoppix-an implementation of a Unix server on a persistent operating system
Hoppix-the Unix server on the Grasshopper operating system is being implemented to provide a familiar environment for research and experimentation in persistence. The server is constructed using the basic Grasshopper abstractions: containers, loci, ...
Partitioned garbage collection of a large stable heap
This paper describes a new garbage collection scheme for large persistent object stores. The scheme makes efficient use of the disk and main memory and does not delay applications. The heap is divided into partitions that are collected independently ...
Critique of orthogonal persistence
Many researchers are pursuing the goal of providing 'orthogonal persistence'. In an orthogonally persistent system, every language-level object in the system can be referenced by the same mechanisms, regardless of longevity or location, with no ...
Components for operating system design
Components are being increasingly used in the construction of complex application software. Operating systems suffer from similar software complexities, causing a move to architectures such as micro-kernels. The authors propose a low-overhead technique ...
Object-oriented support for specification of distributed protocols
Existing support for distributed software development falls into one of two classes: tool-kits which provide a static set of tools, and system techniques which are quite flexible yet difficult to use. The author presents a technique that combines the ...
An object-oriented framework for modular resource management
The authors present a flexible object-oriented framework for specifying modular resource management policies in concurrent systems. The framework generalizes the basic abstractions they originally developed for lottery scheduling. It is independent of ...
A pattern language for porting micro-kernels
Micro-kernels are difficult to port to a new hardware platform. During the initial phases of a port, much time and effort is lost on debugging critical machine-dependent subsystems. These subsystems are generally very tightly coupled and cannot be ...
/spl mu/-kernels must and can be small
For general acceptance, /spl mu/-kernels must be fast and not burden applications. For fulfilling these conditions, cache architectures require /spl mu/-kernels to be small. The L4 /spl mu/-kernel shows that smallness can be achieved.
A fine-grained protection mechanism in object-based operating systems
The paper describes the design and implementation of a flexible, fine-grained protection mechanism for operating systems based on an object/thread model. The mechanism has the following features: (1) it provides fine-grained protection: each thread has ...