Exokernel: An Operating System Architecture for Application-Level Resource Management

Authors: Dawson R. Engler, M. Frans Kaashoek, James O'Toole Jr.
Venue:    SOSP 1995

This work presents a solution to a fundamental constraint of modern operations: that generality degrades performance, or conversely, that the lower level of a primitive, the more efficiently it can be implemented. The exokernel operating systems centralizes around a single goal: separating protection of management. The exokernel itself, Aegis, utilizes secure bindings, visible resource revocation, and an abort protocol to handle protections. However, low level interfaces are exposed so that "library operating systems" can efficiently implement abstractions tailored to their needs. Some examples of this are explicit memory management, custom IPC (inter-process communication), and exception handling. The details of how this is achieved I would describe as "less than straight forward", however, there are extensive resources describing it further, such as this book. I think more importantly, this work demonstrates the problem with the general interfaces of modern OS's, and likely set the stage for future work which was made possible by better hardware abstractions (such as leveraging virtualization to achieve similar principles).

Full Text

Comments

Popular posts from this blog

Fundamental Latency Trade-offs in Architecting DRAM Caches (Alloy Cache)

ZCOMP: Reducing DNN Cross-Layer Memory Footprint Using Vector Extensions

AutoFDO: Automatic Feedback-Directed Optimization for Warehouse-Scale Applications