40 Years of Multics, 1969-2009
gribll writes "October 2009 marked an important milestone in the history of computing. It was exactly 40 years since the first Multics computer system was used at MIT. The interview is with Multics co-developer, MIT Professor and Turing Award winner Fernando J. Corbato. Multics (Multiplexed Information and Computing Service) is regarded as the foundation of modern time-sharing systems. Multics was the catalyst for the development of Unix and has been used as a model of operating system design since its release four decades ago. There is also a picture gallery of Multics history."
I had to use it at a large energy company in Europe in the 1980s. It was actually a fantastic system.
Unlike VMS and IBM's mainframe OSes, it was actually pretty friendly to use. This attribute has clearly rubbed off on UNIX. While we'd spend months teaching some users how to use VMS, they'd get Multics within a few days.
The programming environment was also fantastic. It didn't support as many languages as VMS, nor did it have language interoperability that was as good, but it still supported more languages than you'd fine on typical UNIX systems of that era.
That said, it still was a beast compared to UNIX. UNIX was sly and sleek, and thus supported lower-end hardware better than Multics could. And UNIX was more portable, which eventually made it more widely available.
Still, I look upon my Multics days with a fondness I didn't find again until the early 2000s, when I was able to get a position administering a network of FreeBSD servers.
Multics was very influential, it provided Ken Thompson an example of what not to do. In other words, stick closely to the KISS (Keep It Simple) principle.
When I worked at the Pentagon (HQAF DSC) one of the machines I developed on was a Multics machine. The really interesting part of the architecture to me was that it had, if I recall correctly, seven permission rings from ring 6 to ring 0 and each were implemented in hardware. The OS ran on a separate processor cluster for each ring, and system level work (kernel mode) was done all in ring 0.
I enjoyed learning PL1, and found it to be an easy transition to go to Unix/C. The multics box was a beast, and stuff ran like greased lightning.
If it was so good, then why aren't there any emulators for it? Nearly every other old system has emulators, but not Multics.
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
I have a feeling that this "feature" got removed very soon after it snarfed the Computer Unit Director's screen.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I still miss the clean user interface (all command-line arguments meant the same thing, no matter which command was being executed) and fine documentation. But the GE645 / Honeywell 6800 architecture was never well-enough documented to make emulation feasible. And the descendants of Multics have implemented most of the features more-or-less. The world has moved on.
I've moved on, too. In 1978 I taught myself C; I've since learned and continue to program in C++, Java and Python, having discarded along the way Lisp, Pascal and Delphi.
And I use Windows mostly now. But my memory tells me that Multics was often faster for routine things like searching the file system. (Though the filesystem back then was only a few hundred MB.) And the processor back then was good for about 1 MIPS. Forget about color graphics. Animation? That was for cartoonists.
Anyway, this old-timer got a chuckle out of the article; thanks for posting the heads-up.
Corbato designed and taught the Architecture that underpinned the UNIX developers and Martin Richards (of Cambridge UK) later, in 1970, brought BCPL, evolving into B, C, ... (_but_ definitely not C++)
Professor Corbato got so many things right on the GE645 that he, Gordon Bell, Maurice Wilks and Tom Kilburn were the generation of _REAL_ uber-architects in the 60/70 s; with Gene Ahmdahl and Fred Brooks doing the engineering heavy lifting, Chris Streachy and and the MIT school (Marvin Minsky and many others) did the philosophy.
Without their contributions the Computer Industry would never have started
"It's amazing the number of times in computing where something, while inferior, was good enough for a lot of things and ended up dominating..."
And it's also amazing the number of times that "inferior but good enough" product, after dominating the low-end field due to its small and lightweight design, then has to scale up by painfully and clumsily reintroducing all the "bloated" features of the higher quality and better-designed product. And then of course, makes the better product extinct not on its own merits, but because it's dragged a social and aftermarket ecosystem (often one designed purely to patch its flaws) up with it.
Case in point: virtualization. In the 1970s, IBM mainframes had VM. The PCs laughed at the mainframes and slowly took over. Now, we're reinventing all that mainframe virtualization tech... and putting it over the top of Windows, which is still DOS- and 80x86 compatible. Meanwhile, even the IBM 360 had invented fully virtualized, hardware-independent instruction sets... but in the bold new Wintel data centre world, we have emulated x86, an instruction set not at all designed for portability.
It was probably IBM's fault for being so tightly protective of their IP and not realising that they could possibly be out-competed by the descendants of the micros - but we haven't necessarily ended up with a better solution, in the long run, by reinventing the mainframe the long and hard and clumsy way.
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC