40 Years of Multics, 1969-2009 138
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 wish it never died! (Score:5, Interesting)
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.
40 Years of Multics, 1969-2009 (Score:5, Interesting)
Security in hardware (Score:3, Interesting)
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.
Re:I wish it never died! (Score:3, Interesting)
My recollection from the early 80s is that it had fantastic language interoperability, especially compared to other systems at the time.
On Multics you could pass variables from one language to another using full declarators allowing each language to inspect the value and type and more of each incoming variable, and act accordingly, and most of the Multics languages supported that in the compiler.
So PL/I could call into FORTRAN and on and on.
It's been a long time, I could easily be wrong about this, but that's what I remember.
If it was so good (Score:3, Interesting)
If it was so good, then why aren't there any emulators for it? Nearly every other old system has emulators, but not Multics.
First introduction to viruses (Score:5, Interesting)
I have a feeling that this "feature" got removed very soon after it snarfed the Computer Unit Director's screen.
Re:If it was so good (Score:3, Interesting)
A few people are trying to get emulators going, the biggest problem is the lack of documentation of the peripheral hardware interfaces used on Multics capable systems. Check out the archives of the alt.os.multics news group.
I was a Multics user and code developer (Score:4, Interesting)
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.
Re:If it was so good (Score:4, Interesting)
There are a few defunct projects on sourceforge and, I think, one live effort. I'm writing an emulator, but I haven't released any code yet.
CPUs are trivial. Systems can be hard.
Writing an emulator probably wasn't feasible before the sources were released two years ago. A few people started prior to that, but I can't imagine how.
Multics ran on somewhat complex hardware. In addition to the CPU, there were several other complex components including the system controllers, I/O multiplexors, and front end processors. Some of these were programmable or semi-programmable devices and much of the documentation is missing.
Now that we have compiler listings, assembly listings, a few documents, and a boot tape, the task seems feasible. Digging through the machine code on the boot tape and in the assembly listings partially makes up for the lack of decent documentation on some of the components.
My emulator is far from complete -- and it's almost 18K lines of code. It does read the boot tape and run about 2 million instructions, but crashes before finishing the boot process. The emulator doesn't yet know about disks or support instruction restart etc. There's a lot of work left to do.
I plan on cleaning up a few things and releasing it real soon now.
Re:I wish it never died! (Score:3, Interesting)
Stupid Comment (Score:4, Interesting)
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
Re:Um, wasn't bloated Multics the reason *WHY* . . (Score:3, Interesting)
"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.