paper

Exterminate All Operating System Abstractions

  • Authors:

📜 Abstract

The defining tragedy of the operating systems community has been the definition of an operating system as software that both multiplexes and abstracts physical resources. The view that the OS should abstract the hardware is based on the assumption that it is possible both to define abstractions that are appropriate for all areas and to implement them to perform efficiently in all situations. We believe that the fallacy of this quixotic goal is self-evident, and that the operating system problems of the last two decades (poor performance, poor reliability, poor adaptability, and inflexibility) can be traced back to it. The solution we propose is simple: complete elimination of operating system abstractions by lowering the operating system interface to the hardware level.

✨ Summary

The paper argues that operating systems should primarily provide secure multiplexing of physical resources rather than impose general-purpose abstractions. It introduces the exokernel architecture, in which a small kernel exposes hardware resources while application-level library operating systems implement policies and higher-level abstractions. The proposed separation of protection from management is intended to improve reliability, adaptability, performance, and flexibility.

Its direct research influence is documented by subsequent MIT work on Xok/ExOS. That work implemented and evaluated the architecture, showing that unmodified UNIX applications could achieve performance comparable to BSD systems while specialized applications—such as the Cheetah web server—could obtain substantially higher performance through application-level resource management. (pdos.csail.mit.edu)

The exokernel principles were also carried into related systems research. The Denali isolation kernel explicitly describes itself as embodying the exokernel principles while adapting them to the isolation of many virtual machines. (static.usenix.org) Later library-OS and unikernel research, including MirageOS, identifies the 1990s exokernel work as an important precursor: operating-system components are compiled or linked with applications, producing specialized software stacks for virtualized cloud environments. (api.repository.cam.ac.uk)

The available sources document substantial influence on operating-systems research, library operating systems, and unikernel design. They do not establish that the exokernel architecture itself became a mainstream commercial operating-system architecture.