Article View: comp.arch
Article #22453Re: NeXT and Multics-bashing
From: Piercarlo Grandi
Date: Tue, 13 Feb 1990 14:42
Date: Tue, 13 Feb 1990 14:42
56 lines
2894 bytes
2894 bytes
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
Technical Details
Message-ID:
<PCG.90Feb13144220@rupert.cs.aber.ac.uk>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!mcsun!ukc!dcl-cs!aber-cs!rupert!pcgReferences:
<5646@blake.acs.washington.edu> <76700135@p.cs.uiuc.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!mcsun!ukc!dcl-cs!aber-cs!rupert!pcg From: pcg@rupert.cs.aber.ac.uk (Piercarlo Grandi) Newsgroups: comp.arch Subject: Re: NeXT and Multics-bashing Message-ID: <PCG.90Feb13144220@rupert.cs.aber.ac.uk> Date: 13 Feb 90 14:42:20 GMT References: <5646@blake.acs.washington.edu> <76700135@p.cs.uiuc.edu> Sender: pcg@aber-cs.UUCP Organization: Coleg Prifysgol Cymru Lines: 56 In-reply-to: gillies@p.cs.uiuc.edu's message of 12 Feb 90 17:39:48 GMT