[comp.arch] NeXT and Multics-bashing

mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) (02/08/90)

Anyone who claims that "Multics sucked" probably never used Multics or
only used Multics as a casual user.  If Multics (or, for that matter,
Tenex) cycles had been available to Dennis Ritchie when he asked for
them, he never would have written Unix.

It may be said that Tenex and TOPS-20 are powerful operating systems
hidden behind a powerless environment, whereas Unix is a powerless
operating system hidden behind a powerful environment.  The demise of
the former and success of the latter attests to which is more
important today.  Multics, however, was a powerful operating system
with a powerful environment...and died solely due to marketing
(actually, marketing had a good hand in the death of TOPS-20 but
that's another story...).

This relates to the NeXT.  When comp.sys.next first started half of
the messages were from non-NeXT users bashing the NeXT.  I don't know
why they are getting so emotional about it.  If the NeXT fails, it
fails.  The existing NeXT's out there will still be perfectly good
Unix boxes.  Most of the Unix fanatics here are NeXT users, and not a
few of them switched from SUN, etc. gear to the NeXT.  Most of them
don't care all that much about NeXTStep or NeXT the company.  Right
now, the NeXT is one of the most pleasant Unix boxes to use.

Where NeXT is more likely to lose it is in dumb things like refusing
to come up with a good terminal emulator.  The problem with Communicae
is that it costs money.  It should be bundled with the NeXT.

I'm the most heavily involved with NeXTStep development in my group.
But that is really peripheral to my real work, which is expressed in
totally portable code.  Yes, application startup is a bit slow at
times and I wish printing didn't eat my machine alive.  But virtually
all of the time I am sitting in the editor.  When I compile, it
generally happens fast enough, even with big and complex Objective-C
files, that I don't have enough time to get a cup of coffee before
it's finished.  Most of the time the machine is waiting for me instead
of the other way around.

So the NeXT serves me just fine as a development tool.  Would I buy
one as a home computer?  Probably not.  I would be quite happy to
accept one though.  It's not a machine to get all emotional over, but
it serves.

 _____     ____ ---+---   /-\   Mark Crispin           Atheist & Proud
 _|_|_  _|_ ||  ___|__   /  /   6158 Lariat Loop NE    R90/6 pilot
|_|_|_| /|\-++- |=====| /  /    Bainbridge Island, WA  "Gaijin! Gaijin!"
 --|--   | |||| |_____|   / \   USA  98110-2098        "Gaijin ha doko ka?"
  /|\    | |/\| _______  /   \  +1 (206) 842-2385      "Niichan ha gaijin."
 / | \   | |__| /     \ /     \ mrc@CAC.Washington.EDU "Chigau. Gaijin ja nai.
kisha no kisha ga kisha de kisha-shita                  Omae ha gaijin darou."
sumomo mo momo, momo mo momo, momo ni mo iroiro aru    "Iie, boku ha nihonjin."
uraniwa ni wa niwa, niwa ni wa niwa niwatori ga iru    "Souka. Yappari gaijin!"

henry@utzoo.uucp (Henry Spencer) (02/09/90)

In article <5646@blake.acs.washington.edu> mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) writes:
>Anyone who claims that "Multics sucked" probably never used Multics or
>only used Multics as a casual user.  If Multics (or, for that matter,
>Tenex) cycles had been available to Dennis Ritchie when he asked for
>them, he never would have written Unix.

Two corrections:  (1) Ken Thompson was the primary author of Unix.
(2) At the time when the concept of Unix was first stirring, both had
access to Multics cycles, since they were among the last Bell Labs folks
involved with Multics.  The problem was that those cycles cost far too
much and thus were clearly not going to be available forever.  (Reference:
"The Evolution of the UNIX Time-sharing System", D.M. Ritchie, AT&T Bell
Labs Tech Journal, Oct 1984, page 1577.)
-- 
SVR4:  every feature you ever |     Henry Spencer at U of Toronto Zoology
wanted, and plenty you didn't.| uunet!attcan!utzoo!henry henry@zoo.toronto.edu

csimmons@jewel.oracle.com (Charles Simmons) (02/11/90)

In article <5646@blake.acs.washington.edu>,
mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) writes:
> It may be said that Tenex and TOPS-20 are powerful operating systems
> hidden behind a powerless environment, whereas Unix is a powerless
> operating system hidden behind a powerful environment.  The demise of
> the former and success of the latter attests to which is more
> important today.  Multics, however, was a powerful operating system
> with a powerful environment...and died solely due to marketing
> (actually, marketing had a good hand in the death of TOPS-20 but
> that's another story...).

My personal theory is that Unix was successful in the marketplace
solely because it was written in C, and hence was moderately portable.
Multics was probably written in assembler, and probably depended a lot
on 36-bit integers, and hence probably wasn't very easy to port.

-- Chuck

farber@linc.cis.upenn.edu (David Farber) (02/11/90)

Multics was writen in PL/1 and died mainly due to marketing
and the evolution of its child .. Unix

David Farber; Prof. of CIS and EE, U of Penn, Philadelphia, PA 19104-6389 Tele:
215-898-9508(off); 215-274-8292 (home); FAX: 215-898-0587;  Cellular:  302-740-
1198 "The fundamental principle of science, the definition almost, is this: the
sole test of the validity of any idea is experiment." -- R. P. Feynman

gillies@p.cs.uiuc.edu (02/13/90)

Multics was written in PL/1.

Which is almost as portable as assembly!  hehe....

Why did Multics fail?  My turn to flame.

1.  The kernel was 50,000 lines of code.
2.  Multics wasn't portable because of segmentation.
3.  4 levels of indirection for every memory reference is   kind of   a drag
    (even with caches).
4.  Basing everything on segments (Multics) is marginally  better than
    basing everything on files (Unix)
5.  Unix correctly predicted that byte-oriented machines would prevail.

tbray@watsol.waterloo.edu (Tim Bray) (02/13/90)

mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) writes:
>It may be said that Tenex and TOPS-20 are powerful operating systems
>hidden behind a powerless environment, whereas Unix is a powerless
>operating system hidden behind a powerful environment.

Gimme a break.  Unix earned its stripes running on PDP 11/34's, at a
time whine Tenex and Tops were running on humungous (for the time)
36-bit mainframes.  Yes, they had some neat stuff; but when I first
worked on Unix at the relatively late date of 1978 it was *far* from
powerless.

Cheers, Tim Bray, Open Text Systems

pcg@rupert.cs.aber.ac.uk (Piercarlo Grandi) (02/13/90)

In article <76700135@p.cs.uiuc.edu> gillies@p.cs.uiuc.edu writes:

   Multics was written in PL/1.
   Which is almost as portable as assembly!  hehe....

Well, if you want, C itself is almost as portable as assembly, if
you are not careful enough. Admittedly Multics was coded in
places in a not very portable way (somebody has already observed
about the bin(17) and bin(35) liberally scattered across the
code). I reckon that Multics is much more portable than commonly
thought of.

   Why did Multics fail?  My turn to flame.

   1.  The kernel was 50,000 lines of code.

By today's standards a pittance. Moreover what is called the
Multics kernel includes a lot of things that are separate trusted
programs in other places, i.e. the linker. The Multics kernelization
project aimed at putting in ring 0 only what really needed to be there,
and it was much less than 50,000 lines.

   2.  Multics wasn't portable because of segmentation.

Bah! So SunOS is not not portable either... Well, it is not too difficult
to have applications that are parametric in the segment size. Another OS
with memory mapped files etc..., MUSS, was very portable, and its applications
as well, on machines with wildly different segment sizes.

   3.  4 levels of indirection for every memory reference is   kind of   a drag
       (even with caches).

Most current machines have something similar. Look at the 386. There are
ways around this, of course.

   4.  Basing everything on segments (Multics) is marginally  better than
       basing everything on files (Unix)

Yes, if you only do sequential accesses to ascii files. No, if you do
databases, etc...

   5.  Unix correctly predicted that byte-oriented machines would prevail.

Well, I don't think that Multics depended that much on running on a word
oriented system, as TENEX did no as well.

Let me add:

   6.  Multics lost the politics war within Honeywell Information Systems,
       just like the minicomputer people did. If the two had got on toegether,
       maybe the two strands would have been merged (and we would not have
       had the Level 6 and GCOS 6, which are poor relations of Multics).
--
Piercarlo "Peter" Grandi           | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk

mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) (02/14/90)

In article <20799@watdragon.waterloo.edu> tbray@watsol.waterloo.edu (Tim Bray) writes:
>mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) writes:
>>It may be said that Tenex and TOPS-20 are powerful operating systems
>>hidden behind a powerless environment, whereas Unix is a powerless
>>operating system hidden behind a powerful environment.
>
>Gimme a break.  Unix earned its stripes running on PDP 11/34's, at a
>time whine Tenex and Tops were running on humungous (for the time)
>36-bit mainframes.  Yes, they had some neat stuff; but when I first
>worked on Unix at the relatively late date of 1978 it was *far* from
>powerless.

Yes, I meant powerless.  The Unix operating system -- the kernel --
was, and still is, relatively powerless.  For proof, review section 2
of the manual and the number of programs that must run setuid.  The
power that Unix has is in the various shells and tools that run on top
of Unix.

The lesson learned for future operating system design is that design
efforts should be for power in the environment, not in the kernel.

 _____     ____ ---+---   /-\   Mark Crispin           Atheist & Proud
 _|_|_  _|_ ||  ___|__   /  /   6158 Lariat Loop NE    R90/6 pilot
|_|_|_| /|\-++- |=====| /  /    Bainbridge Island, WA  "Gaijin! Gaijin!"
 --|--   | |||| |_____|   / \   USA  98110-2098        "Gaijin ha doko ka?"
  /|\    | |/\| _______  /   \  +1 (206) 842-2385      "Niichan ha gaijin."
 / | \   | |__| /     \ /     \ mrc@CAC.Washington.EDU "Chigau. Gaijin ja nai.
kisha no kisha ga kisha de kisha-shita                  Omae ha gaijin darou."
sumomo mo momo, momo mo momo, momo ni mo iroiro aru    "Iie, boku ha nihonjin."
uraniwa ni wa niwa, niwa ni wa niwa niwatori ga iru    "Souka. Yappari gaijin!"