Single address space operating system
In computer science, a single address space operating system (or SASOS) is an operating system that provides only one globally shared address space for all processes. In a single address space operating system, numerically identical (virtual memory) logical addresses in different processes all refer to exactly the same byte of data.[1]
In a traditional OS with private per-process address space, memory protection is based on address space boundaries ("address space isolation"). Single address-space operating systems make translation and protection orthogonal, which in no way weakens protection.[2][3] The core advantage is that pointers (i.e. memory references) have global validity, meaning their meaning is independent of the process using it. This allows sharing pointer-connected data structures across processes, and making them persistent, i.e. storing them on backup store.
Some processor architectures have direct support for protection independent of translation. On such architectures, a SASOS may be able to perform context switches faster than a traditional OS. Such architectures include Itanium, and Version 5 of the Arm architecture, as well as capability architectures such as CHERI.
A SASOS should not be confused with a flat memory model, which provides no address translation and generally no memory protection. In contrast, a SASOS makes protection orthogonal to translation: it may be possible to name a data item (i.e. know its virtual address) while not being able to access it.
SASOS projects using hardware-based protection include the following:
- Angel
- IBM i (formerly called OS/400)
- Iguana at NICTA, Australia
- Mungi at NICTA, Australia
- Nemesis
- Opal
- Scout
- Sombrero
Related are OSes that provide protection through language-level type safety
- Br1X
- Genera
- JX a research Java OS[4]
- Phantom OS
- Singularity
- Theseus OS[5]
- Torsion[6]
See also
References
- .
- CiteSeerX 10.1.1.13.7042.
- .
- ^ Michael Golm; Meik Felser; Christian Wawersich; Jürgen Kleinöder. "The JX Operating System" (PDF).
- ^ Kevin Boos, Namitha Liyanage, Ramla Ijaz, and Lin Zhong. "Theseus: an Experiment in Operating System Structure and State Management". 2020.
- ^ "Torsion Operating System". quote: "Torsion ... a single address space multitasking operating system with transparent data persistence."
Bibliography
- Jeffrey S. Chase; ..
- from the original on June 27, 2022.
- Michael M. Swift; Brian N. Bershad; Henry M. Levy (December 2003). "Improving the reliability of commodity operating systems". ACM SIGOPS Operating Systems Review. 37 (5): 207. .
- Eric J. Koldinger; Jeffrey S. Chase; Susan J. Eggers (September 1992). "Architecture support for single address space operating systems". ACM SIGPLAN Notices. 27 (9): 175–186. .