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]
Single address-space operating systems offer certain advantages. 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 use a different approach for memory protection that is just as strong.[2][3] One advantage is that the same virtual-to-physical map page table can be used with every process (and in some SASOS, the kernel as well). This makes context switches on a SASOS faster than on operating systems that must change the page table and flush the TLB caches on every context switch.
SASOS projects include the following:
- Amiga family – AmigaOS, AROS and MorphOS
- Angel
- BareMetal
- Br1X
- Genera by Symbolics
- IBM i (formerly called OS/400)
- Iguana at NICTA, Australia
- JX a research Java OS[4]
- IncludeOS
- Mungi at NICTA, Australia
- Nemesis
- Opal
- OS-9[5]
- Phantom OS
- RTEMS
- Scout
- Singularity
- Sombrero
- TempleOS
- Theseus OS[6]
- Torsion[7]
- VxWorks[8]
- Zephyr
See also
References
- 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. doi:10.1145/143371.143508.
- Tim Wilkinson; Kevin Murray; Stephen Russell; Gernot Heiser; Jochen Liedt (13 November 1995). "Single Address Space Operating Systems" (PDF). University of New South Wales. Section 2: "Memory Protection". CiteSeerX 10.1.1.13.7042.
- Jeffrey S. Chase; Henry M. Levy; Michael J. Feeley; Edward D. Lazowska (November 1994). "Sharing and protection in a single-address-space operating system" (PDF). ACM Transactions on Computer Systems. 12 (4): 271–307. CiteSeerX 10.1.1.127.7313. doi:10.1145/195792.195795.
- Michael Golm; Meik Felser; Christian Wawersich; Jürgen Kleinöder. "The JX Operating System" (PDF).
- "OS-9 Technical Manual" p. 29 quote: "all user tasks share a common address space."
- 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."
- "Vxworks Tutorial" quote: "In vxworks ... all application tasks share the same address space [unless the] optional tool named VxVMI [has been] used to allow each task to have its own address space."
Bibliography
- Jeffrey S. Chase; Henry M. Levy; Michael J. Feeley; Edward D. Lazowska (November 1994). "Sharing and protection in a single-address-space operating system". ACM Transactions on Computer Systems. 12 (4): 271–307. CiteSeerX 10.1.1.127.7313. doi:10.1145/195792.195795..
- Heiser, Gernot; Elphinstone, Kevin; Vochteloo, Jerry; Russell, Stephen; Liedtke, Jochen (1998). "The Mungi Single-Address-Space Operating System". Software: Practice and Experience. 28 (9): 901–928. CiteSeerX 10.1.1.146.4216. doi:10.1002/(SICI)1097-024X(19980725)28:9<901::AID-SPE181>3.0.CO;2-7. S2CID 62189930. Archived 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. CiteSeerX 10.1.1.5.3338. doi:10.1145/1165389.945466.
- 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. doi:10.1145/143371.143508.