Seeking designs for a capabilities-based multi-user system
Mark S. Miller
markm@caplet.com
Sun, 23 Jul 2000 18:14:55 -0700
At 09:59 AM 7/23/00 , Jonathan S. Shapiro wrote:
>I also think (and I hope MarkM and some others will chime in on this) that
>multiuser stuff is approximately where the boundary starts between what I
>think of as safe pointers and what I think of as operating systems.
I'm not sure what you mean, but I'll chime in anyway. ;)
In particular, I'm not sure how metaphorically you mean "operating system".
Is Smalltalk-80 an operating system? These days I think most people would
say "no", but when it was introduced people saw functionality that they had
previously associated only with operating systems, not programming
languages. Likewise, people, such as myself, who were more familiar with
Smalltalk than capability OSes, on seeing KeyKOS had the reaction
"This OS is more like an OO programming language than an OS. It's an OO
virtual machine without a syntax."
So in terms of this metaphorical usage, a system that provides for rich safe
interaction among multiple mutually suspicious users --such as E -- must
have features traditionally associated with operating systems. Why embody
these principles in a programming language?
Carl Hewitt, the creator of Actors -- another "operating-system-like"
programming language platform -- gave a very elegant marketing answer
(paraphrasing): "An operating system is something you have to run instead
[of what you're currently running]. A language is something you can run in
addition."
>At the boundary we may need to invent some new technologies.
Chip, what can we talk about? (Though E was open sourced, EC Habitats was
not.)
Cheers,
--MarkM