EROS is a capability-based operating system for commodity processors which uses a single level storage model. The single level store's persistence is transparent to applications. The performance consequences of support for transparent persistence and capability-based architectures are generally believed to be negative. Surprisingly, the basic operations of EROS (such as IPC) are generally comparable in cost to similar operations in conventional systems. This is demonstrated with a set of microbenchmark measurements of semantically similar operations in Linux. The EROS system achieves its performance by coupling well-chosen abstract objects with caching techniques for those objects. The objects (processes, nodes, and pages) are well-supported by conventional hardware, reducing the overhead of capabilities. Software-managed caching techniques for these objects reduce the cost of persistence. The resulting performance suggests that composing protected subsystems may be less costly than c...
|
506
|
Exokernel: an Operating System Architecture for Application-Level Resource Management
– Engler, Kaashoek, et al.
- 1995
|
|
298
|
lmbench: Portable tools for performance analysis
– McVoy, Staelin
- 1996
|
|
269
|
A Note on the Confinement Problem
– Lampson
- 1973
|
|
238
|
A new kernel foundation for UNIX development
– Mach
- 1986
|
|
204
|
Programming semantics for multiprogrammed computations
– Dennis, Horn
- 1966
|
|
193
|
S.J.: Experiences with the amoeba distributed operating system
– Tanenbaum, Renesse, et al.
- 1990
|
|
163
|
Extensible security architectures for java
– Wallach, Balfanz, et al.
- 1997
|
|
148
|
Unix as an application program
– Golub, Dean, et al.
- 1990
|
|
133
|
Capability-Based Computer Systems
– Levy
- 1984
|
|
129
|
Improving IPC by kernel design
– Liedtke
- 1993
|
|
107
|
Microkernels meet recursive virtual machines
– Ford, Hibler, et al.
- 1996
|
|
105
|
Memory management with explicit regions
– Gay, Aiken
- 1998
|
|
100
|
Hydra/C.mmp: An Experimental Computer System
– Wulf, Levin, et al.
- 1981
|
|
98
|
A caching model of operating system kernel functionality
– Cheriton, Duda
- 1994
|
|
84
|
The Flask Security Architecture: System Support for Diverse Security Policies
– Spencer, Smalley, et al.
- 1999
|
|
78
|
Evolving Mach 3.0 to a Migrating Thread Model
– Ford, Lepreau
- 1994
|
|
77
|
Metadata Update Performance in File Systems
– Ganger, Patt
- 1994
|
|
77
|
Using sparse capabilities in a distributed operating system
– TANENBAUM, MULLENDER, et al.
- 1986
|
|
53
|
The Cambridge CAP computer and its operating system
– Wilkes
- 1979
|
|
49
|
UNIX implementation
– Thompson
- 1946
|
|
46
|
KeyKOS architecture
– Hardy
- 1985
|
|
39
|
The KeyKOS nanokernel architecture
– Bromberger, Frantz, et al.
- 1992
|
|
36
|
Improving Security and Performance for Capability Systems
– Karger
- 1988
|
|
34
|
An augmented capability architecture to support lattice security
– Karger
- 1984
|
|
33
|
The Checkpoint Mechanism in KeyKOS
– Landau
- 1992
|
|
31
|
Interface and execution models in the Fluke kernel
– Ford, Hibler, et al.
- 1999
|
|
30
|
A persistent system in real use: experiences of the first 13 years
– Liedtke
- 1993
|
|
30
|
Inside the AS/400
– Soltis
- 1996
|
|
28
|
Improved Address-Space Switching on Pentium Processors by Transparently Multiplexing User Address Spaces
– Liedtke
- 1995
|
|
27
|
Secure applications need flexible operating systems
– MAZIÉRES, KAASHOEK
- 1997
|
|
27
|
Farber: EROS: A Capability System
– Shapiro, Smith, et al.
- 1997
|
|
24
|
A Programmer’s View of the Intel 432 System
– Organick
- 1983
|
|
22
|
Processor capacity reserves: An abstraction for managing processor usage
– Mercer, Savage, et al.
- 1993
|
|
21
|
User-level checkpointing through exportable kernel state
– Tullmann, Lepreau, et al.
- 1996
|
|
18
|
The measured performance of a fast local ipc
– Shapiro, Farber, et al.
- 1996
|
|
17
|
On the inability of an unmodified capability machine to enforce the *-property
– Boebert
- 1984
|
|
16
|
Data Movement in Kernelized Systems
– Dean, Armand
- 1992
|
|
14
|
Performance effects of architectural complexity in the intel 432
– Colwell, Gehringer, et al.
- 1988
|
|
13
|
Moving the default memory manager out of the Mach kernel
– Golub, Draves
- 1991
|
|
11
|
Verifying operating system security
– Shapiro, Weber
- 1997
|
|
10
|
Flexible access control using IPC redirection
– Jaeger, Elphinstone, et al.
|
|
9
|
The KeyKOS/KeySAFE system design
– Rajunas
- 1989
|
|
7
|
State caching in the eros kernel -- implementing efficient orthogonal persistence in a pure capability system
– Shapiro, Farber, et al.
- 1996
|
|
6
|
PCLSRing: Keeping Process State Modular. Unpublished report. ftp://ftp.ai.mit.edu/pub/alan/pclsr.memo
– Bawden
- 1989
|
|
6
|
Capability Architectures and Small Objects
– Gehringer
- 1982
|
|
6
|
Overview of the Chorus distributed system
– Rozier, Abrossimov, et al.
- 1991
|
|
5
|
Gnosis: A secure operating system for the '90s
– Frantz, Landau, et al.
- 1983
|
|
5
|
Object oriented transaction processing in the KeyKOS microkernel
– Frantz, Landau
- 1993
|
|
4
|
The EROS Web Site. http://www.eros-os.org
– Shapiro
|
|
3
|
Pentium Processor Family User's Manual
– Corporation
- 1994
|