Path: 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: 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 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