History as seen not from Ma Bell’s view point.
“Multics did not fail, It just ran on a bigger machine than
Bell labs had around.” Ben’s quote.
History as seen not from Ma Bell’s view point.
Not me but my university supervisor did. At least I think he was talking about Multics when he told a story about the “single level store” concept. There wasn’t a distinction of a file being in-memory, on disk or on tape. Conceptually elegant but sometimes you might have to wait for a good bit while a file was pulled in from secondary or tertiary or n-ary storage. As a consequence all the professors had a habit of going to their office first thing in the morning, fire off a script that referenced all their files and went to have a coffee while Multics pulled everything in to immediate store.
The moral of the story being “elegance isn’t worth much if it doesn’t hide reality”. Or maybe it was just a story without judgement.
Interesting note in History of Multics that Apollo’s Domain/OS (aka Aegis?) bears a family resemblance:
Bill Poduska went on from Prime to help found Apollo, and Domain was known as “Multics in a Matchbox.” Apollo’s OS shows strong Multics influence. For instance, the basic access to stuff on disk is via a single-level store directly based on Multics. Supposedly some of the motivation for the object-store style of file system came from Multics too.
In addition, it uses a shared memory model, despite being distributed across a network. If that isn’t Multics influence, I don’t know what is.
Also nice to see the link made to Ferranti’s Atlas, often described as pioneering the single level store (although possibly the meaning of that is slightly different in Multics):
Multics uses paged memory in the manner pioneered by the Atlas system. Addresses generated by the CPU are translated by hardware from a virtual address to a real address.
Methinks that is a good assessment. The hardware was very expensive and much more sophisticated than anything DEC would ever produce.
Unix was truly an emasculated Multics and was far superior to any Unix for quite some time. Indeed the elegance of the multics segmentation and protection mechanisms have yet to be rivaled - and have been, sadly, largely forgotten.
The feel of multics, for those experienced with Unix, is strangely familiar yet different and more polished. It’s quite eye-opening when one realizes that Unix was nothing new at all but just a hacked up Multics.
If anybody would like to experience Multics firsthand go to “Multics reborn.” http://ringzero.wikidot.com where you can download the source for dms8m and install/run real Multics.
As Fernando Corbato described it in his Turing Award lecture (https://fermatslibrary.com/s/on-building-systems-that-will-fail) the real challenge of Multics was building an entirely new, complex system from the ground up without any intermediary steps of incremental design. According to him, Unix is pretty much an expression of this frustration, going back to a simple modular design, which could be developed incrementally. I guess, this dichotomy in system design will stick with us for some time.
(In my experience, when it comes to the foundations of a system, there’s a step in complexity, where an incremental approach won’t do. While this initial complexity is beneficial, even crucial to some ambitious projects, it’s probably a rare case, where this is actually required. Going for the overly complex approach is also known as the second system syndrome. Maybe, Unix is the epitome of a third system.)
That brings back memories. My first office/job had dialup to MIT-Multics on acoustic modems. I miss the ACL entries where login mode (interactive, batch), project ID and individual ID all worked together to determine access. Not so sure I miss the segmentation, but the rings were useful. … And I remember using EMACS (lisp) as a windowing command line environment to make system calls and capture the results from the terminal.
There’s a new (as of Dec 28, 2019) Hacker News front page discussion on the subject of Multics and a link to Multicians site:
Yes. I started computing as an Engineering student in the late '70s on CDC Cyber machines with punch cards etc. In the very late 70’s the university switched to a Honeywell Multics system. My summer job was translating FORTRAN programs from the CDC cyber to the Multics system.
It was a nightmare, simply because the math solver routines were designed around the huge floating point precision of the CDC and Multics was significantly smaller (sorry about the pun). Eventually with much work we got everything running, but it was a challenge.
After graduation I came back to a research center near the University and we did most of our computing on the same Multics system. Again, the lack of floating-point precision compared to say the CDC machine was a huge issue.