[ih] Unix vs. Multics (was - Re: what is and isn't the web, was Rise and Fall of the Gopher Protocol)
jklensin at gmail.com
Mon Aug 22 13:03:47 PDT 2016
On Mon, Aug 22, 2016 at 12:35 PM, Noel Chiappa <jnc at mercury.lcs.mit.edu> wrote:
> > From: Dave Crocker
> > On 8/22/2016 8:00 AM, John Day wrote:
> >> Unix is of course a castrated Multics.
> > I think that's actually a counter-productive view and probably just
> > plain wrong.
I wouldn't go nearly as far as John does, although I remember language
like that being used shortly after Unix emerged. I do suggest that
there are differences between the two in which decisions similar to
the Unix ones have been significantly problematic for the Internet (I
won't go as far as "caused by" or "derived from" Unix either, but the
coincidences are striking). Two examples:
* High level: Multics was very security-sensitive from the beginning,
with the assumption that users needed to be protected from both each
other and themselves. Unix had, shall we say, a much more relaxed
attitude. This has been alluded to, in other terms, in other
* Low level (chosen as an example because it has taken up a lot of my
time and a lot of Internet discussion bandwidth in recent months):
The Multics file system supported multiple names per node, with
primitives for adding and deleting names, asking about all of the
names at a particular node, etc. Those names were true synonyms:
anything that could be done with one could be done with any of the
others. Unix, of course, does not -- the only way to simulate a
synonym is with links. There are , of course, good, simplicity of
system design, reasons for the latter However, we ended up with the
same "one name per node" in the DNS. I have no information whether
that was following the Unix model or independent discovery of the
simplicity-related reasons. However, contemporary expectations of
the DNS demand synonyms or tightly-linked aliases that work up and
down the hierarchy, not merely on single nodes single subtrees. That
can't be done (no matter how many times people chant the word
"variant", but that is another matter) with the DNS- (and Unix-) style
tree structure and attempts to simulate it lead to assorted messes.
> Sadly, though, a lot of Ken and DMR's criticisms of Multics are just plain
> wrong - like a lot of the other contemporary opinions of it. (Which is not to
> say that it didn't make mistakes - they just aren't the ones you usually
> > Multics was a classic "big system" design approach. Unix was a classic
> > "minimal system" design approach.
I would have said that Multics was designed as a computer utility (a
term that was used a lot at the time) with a requirement to support a
diverse collection of users and applications who didn't have any good
basis for mutual trust and who had very diverse needs and skills.
Unix was designed for a far more homogeneous collection of users and
environment along those dimensions and more. "Big" and "minimal" were
as much consequences of those differences in goals as causes of them.
While I agree with Noel about the high power/complexity ratio of
early Unix, it was a lot bigger and more complex than anything truly
minimal, even (or especially) by the standards of the time or earlier.
> And now, since this is the Internet-History list, not Computer-History, I
> will subside... ;-)
Indeed, although the comparison above might be relevant.
More information about the Internet-history