MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Exokernel: An Operating System Architecture for Application-Level Resource Management (1995) [510 citations — 20 self]

Abstract:

We describe an operating system architecture that securely multiplexes machine resources while permitting an unprecedented degree of application-specific customization of traditional operating system abstractions. By abstracting physical hardware resources, traditional operating systems have significantly limited the performance, flexibility, and functionality of applications. The exokernel architecture removes these limitations by allowing untrusted software to implement traditional operating system abstractions entirely at application-level. We have implemented a prototype exokernel-based system that includes Aegis, an exokernel, and ExOS, an untrusted application-level operating system. Aegis defines the low-level interface to machine resources. Applications can allocate and use machine resources, efficiently handle events, and participate in resource revocation. Measurements show that most primitive Aegis operations are 10--100 times faster than Ultrix, a mature monolithic UNIX ope...

Citations

891 Active Messages: A Mechanism for Integrated Communication and Computation – Eicken, Culler, et al. - 1992
672 Architectural considerations for a new generation of protocols – Clark, Tennenhouse - 1990
632 End-to-end arguments in system design – Saltzer - 1981
561 Efficient software-based fault isolation – Wahbe, Lucco, et al. - 1993
390 Scheduler activations: Effective kernel support for the user-level management of parallelism – Anderson, Bershad, et al. - 1991
363 Extensibility, safety and performance in the SPIN operating system – Bershad, Savage, et al. - 1995
336 Lottery Scheduling: Flexible Proportional-Share Resource Management – Waldspurger, Weihl - 1994
286 Why aren't operating systems getting faster as fast as hardware – Ousterhout - 1990
258 On microkernel construction – Liedtke - 1995
238 A new kernel foundation for UNIX development – Mach - 1986
233 Lightweight Remote Procedure Call – Bershad, Anderson, et al. - 1990
202 The packet filter: An efficient mechanism for user-level network code – MOGUL, RASHID, et al. - 1987
196 Operating System Support for Database Management – Stonebraker - 1981
193 Experiences with the amoeba distributed operating system – Tanenbaum, Renesse, et al. - 1990
187 W.: Chorus distributed operating system – Rozier, Abrossimov, et al. - 1988
167 Virtual Memory Primitives for User Programs – Appel, Li - 1991
151 Survey of virtual machine research – Goldberg - 1974
148 Experiences with a high-speed network adaptor: A software perspective – Druschel, Peterson, et al. - 1994
136 Stride scheduling: Deterministic proportional share resource management – Waldspurger, Weihl - 1995
131 Application-Controlled Physical Memory using External Page-Cache Management – Harty, Cheriton - 1991
129 Improving IPC by Kernel Design – Liedtke - 1993
116 Implementation and Performance of Application-Controlled File Caching – Cao, Felten, et al. - 1994
108 The V Kernel: A software base for distributed systems – Cheriton - 1988
107 PATHFINDER: A pattern-based packet classifier – BAILEY, GOPAL, et al. - 1994
101 Threads and input/output in the synthesis kernel – Massalin, Pu - 1989
101 E cient Packet Demultiplexing for Multiple Endpoints and Large Messages – Yuhara, Bershad, et al. - 1994
99 A Caching Model of Operating System Kernel Functionality – Cheriton, Duda - 1994
94 Sharing and Protection in a Single-Address-Space Operating System – Chase, Levy, et al. - 1994
94 Limits to low-latency communications on high-speed networks – Thekkath, Levy - 1993
90 Pilot: An operating system for a personal computer – Redell - 1980
81 Architectural support for translation table management in large address space machines – Huck, Hays - 1992
71 Hardware and Software Support for Efficient Exception Handling – Thekkath, Levy - 1994
70 Design tradeoffs for software-managed TLBs – Nagle, Uhlig, et al. - 1993
63 The origin of the VM/370 time-sharing system – Creasy - 1981
61 placement algorithms for large real-index caches – Page - 1992
57 The nucleus of a multiprogramming system – Hansen, P - 1970
49 Software Prefetching and Caching for Translation Lookaside Bu ers – Bala, Kaashoek, et al. - 1994
46 Alpha AXP architecture – Sites - 1993
41 Tools for development of application-specific virtual memory management – Krueger, Loftesness, et al. - 1993
35 The Operating System Kernel as a Secure Programmable Machine – Engler, Kaashoek, et al. - 1994
34 A flexible measurement tool for software systems – Deutsch, Grant - 1972
31 An open operating system for a single-user machine – Lampson, Sproull - 1979
24 The case for application-specific operating systems – Anderson - 1992
22 VINO: An Integrated Platform for Operating System and Database Research – Small, Seltzer - 1994
21 SPACE: A new approach to operating system abstraction – Probert, Bruno, et al. - 1991
17 On reliable and extendable operating systems – Lampson - 1971
13 Scout: A communicationoriented operating system – Hartman, Montz, et al. - 1994
11 An experiment using registers for fast message-based interprocess communication – Cheriton - 1984
11 The persistent relevance of IPC performance: New techniques for reducing the IPC penalty – Hsieh, Kaashoek, et al. - 1993
10 Increasing network throughput by integrating protocol layers – Abbot, Peterson - 1993