The C++ programming language
Design reuse and frameworks in the smalltalk-80 system
Software reusability
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
Systems programming with Modula-3
Systems programming with Modula-3
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Operating system support for database management
Communications of the ACM
/spl mu/Choices: an object-oriented multimedia operating system
HOTOS '95 Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V)
An evaluation of buffer management strategies for relational database systems
VLDB '85 Proceedings of the 11th international conference on Very Large Data Bases - Volume 11
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Dependence Management in Component-Based Distributed Systems
IEEE Concurrency
OS portal: an economic approach for making an embedded kernel extensible
Journal of Systems and Software
Supporting automatic configuration of component-based distributed systems
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Hi-index | 0.00 |
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 design for a customizable operating system structures the kernel as a set of object-oriented frameworks. The user can then perform fine-grained customization by subclassing kernel classes and inserting objects into the kernel. User code is written in a safe, object-oriented language (Sun's Java), which is interpreted or dynamically compiled in the kernel. Objects in the kernel, regardless of their origin, interact with each other seamlessly through ordinary object invocation. This extension technique has the advantage that a user can build directly on top of kernel frameworks using object invocation just as if the user were a system implementor without compromising system safety.