
A Comparison of Two Distributed Systems: Amoeba and Sprite (1991) [pdf] - vezzy-fnord
http://www.cse.scu.edu/~jholliday/COEN317S05/CWilliamsPres.pdf
======
f2f
Lovely, I'm going to read. When I was doing my thesis I was adamant that I'd
talk about Plan 9. The literature survey kept pointing at Sprite and Amoeba as
the two systems that had the most similar goals at the time.

Since then I keep thinking that the term "system" refers to a distributed
system of components, something that has grown beyond the single hardware OS
paradigm ever since networks were invented. I have a little bit too much
trouble understanding why people would not consider Go a "systems language"
only because they think a system is a single hardware entity...

~~~
mcguire
Plan 9 is the obvious third experimental system to come to mind, more like
Sprite in some ways and Amoeba in others.

An important paper to read before digging too thoroughly into this subject is:
"A Note on Distributed Computing"
[[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7628&rank=1)],
Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall. SMLI TR-94-29, Sun
Microsystems Laboratories, Inc., Nov. 1994.

" _We argue that objects that interact in a distributed system need to be
dealt with in ways that are intrinsically different from objects that interact
in a single address space. These differences are required because distributed
systems require that the programmer be aware of latency, have a different
model of memory access, and take into account issues of concurrency and
partial failure...._

" _We conclude by discussing what is required of both systems-level and
application-level programmers and designers if one is to take distribution
seriously._ "

As far as systems programming and systems programming languages go (more at
[http://maniagnosis.crsr.net/2011/11/systems-
programming.html](http://maniagnosis.crsr.net/2011/11/systems-
programming.html)), keep in mind that "systems programming" is more about
resource management---think of it like programming embedded systems where
"embedded" might include the kernel of your stand-alone (or distributed) OS.

" _James Iry made a very insightful observation about the nature of the C
programming language:_

" _' Alan Perlis famously said "a programming language is low level when its
programs require attention to the irrelevant." What's relevant depends on the
problem and the domain, so a corollary would be that a language that's at too
high a level prevents paying attention to some of what is relevant for your
needs.'_"

~~~
mcguire
kjs3, your comment is dead, but the links you gave:

The Clouds distributed operating system from Partha Dasgupta's team at Georgia
Tech was also a contemporary of Sprite and Ameoba. See:

[https://www.usenix.org/legacy/publications/compsystems/1990/...](https://www.usenix.org/legacy/publications/compsystems/1990/win_dasgupta.pdf)

[https://home.cc.gatech.edu/tony/uploads/14/clouds.pdf](https://home.cc.gatech.edu/tony/uploads/14/clouds.pdf)

are cool. (And I'm not just saying that because M. Ahamad is a friend of my
advisor.)

