Locus, V, Mach: Difference between revisions
No edit summary |
Add notes for Yuri |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Readings== | |||
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-21/cheriton-v.pdf David R. Cheriton, "The V Distributed System."] | |||
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-21/walker-locus.pdf Bruce Walker et al., "The LOCUS Distributed Operating System."] | |||
These two papers describe V and LOCUS, two early distributed operating systems. | |||
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-21/young-mach-dual.pdf Michael Young et al., "The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System."] | |||
This paper describes some key ideas behind Mach, a seminal microkernel-based operating system. The design of Mach informs later work in distributed operating systems. For more background on Mach, I suggest reading [http://en.wikipedia.org/wiki/Mach_kernel Wikipedia's article on Mach]. | |||
==Questions to be discussed== | |||
# What did the (technical) world look like when this distributed OS was designed & implemented? | |||
# What are the key design features of the OS? What are the key compromises? | |||
# To what extent is their system a "distributed operating system"? | |||
# What is the basic argument for their design choices? What evidence do they cite in their favor? | |||
# To what extent do you "believe" their design choices were right? Why? | |||
# To what extent does their design work in the context of the modern Internet? Discuss wins and limitations. | |||
# What concepts from the paper have been adopted by today's systems? What concepts should be adopted? What should be ignored? | |||
==Debate about the OSes== | |||
Topic: Microsoft has more to learn from ______ rather than ______ or ______ | |||
because.... | |||
===LOCUS=== | |||
* + error handling | |||
* + automatic file merging | |||
* - sync. hotspots | |||
** + fix by smart directory placement | |||
* + automatic backups | |||
* - not scalable | |||
===V=== | |||
* + standard protocols | |||
** - less profitable, no lock-in | |||
* + process migration | |||
* - slow -> context switches | |||
* + distributed processes | |||
===MACH=== | |||
* + microkernel -> fault tolerant | |||
* + user space OS extensions | |||
* + easy shared memory (memory obj) | |||
* - inefficient finding of resources (ports) | |||
** + use discovery service | |||
*** + more secure | |||
**** - port search | |||
* - slow -> context switches | |||
* + "real" production use |
Latest revision as of 18:25, 2 February 2008
Readings
David R. Cheriton, "The V Distributed System."
Bruce Walker et al., "The LOCUS Distributed Operating System."
These two papers describe V and LOCUS, two early distributed operating systems.
This paper describes some key ideas behind Mach, a seminal microkernel-based operating system. The design of Mach informs later work in distributed operating systems. For more background on Mach, I suggest reading Wikipedia's article on Mach.
Questions to be discussed
- What did the (technical) world look like when this distributed OS was designed & implemented?
- What are the key design features of the OS? What are the key compromises?
- To what extent is their system a "distributed operating system"?
- What is the basic argument for their design choices? What evidence do they cite in their favor?
- To what extent do you "believe" their design choices were right? Why?
- To what extent does their design work in the context of the modern Internet? Discuss wins and limitations.
- What concepts from the paper have been adopted by today's systems? What concepts should be adopted? What should be ignored?
Debate about the OSes
Topic: Microsoft has more to learn from ______ rather than ______ or ______ because....
LOCUS
- + error handling
- + automatic file merging
- - sync. hotspots
- + fix by smart directory placement
- + automatic backups
- - not scalable
V
- + standard protocols
- - less profitable, no lock-in
- + process migration
- - slow -> context switches
- + distributed processes
MACH
- + microkernel -> fault tolerant
- + user space OS extensions
- + easy shared memory (memory obj)
- - inefficient finding of resources (ports)
- + use discovery service
- + more secure
- - port search
- + more secure
- + use discovery service
- - slow -> context switches
- + "real" production use