If you have ever read anything about the history of UNIX, you may remember that its early development was influenced by an older operating system. MULTICS was developed in the 1960s by MIT and General Electric as a commercial operating system, and had been the system which UNIX writers [Thompson] and [Ritchie] had used. It became a Honeywell product, and the source code for its final commercial version was eventually released to the public. Has it become a dusty relic of interest only to historians? Seemingly not, because a new version has been released. It’s intended for us on the dps8m Honeywell mainframe simulator rather than physical hardware, so perhaps while it’s not such a dusty relic it remains something only for the enthusiast.
We won’t pretend to be experts on the architectures of 1960s mainframe operating systems, but it’s interesting to read for a moment about what it was in MULTICS that caused UNIX to be written. For something described by [Ken Thompson] as “Close to unusable”, with a fresh release in its 52nd year it isn’t doing badly.
We’ve traced the UNIX story in the past, without realising that MULTICS never entirely went away. Shame on us for the omission!
[Via Hacker News]
Site died. GJ.
Back up now! Docker restarted and killed containers.
My father worked for GE and then Honeywell from the 60s through the 80s and as a kid he brought home a thermal paper terminal to dial into the Multics system at work.
Later he built-up a SYM-1 single board and later added a memory expansion (it was the size of the SYM-1), the KIM keyboard, and 80 column display and a 110 baud modem. I used it late at night to dial-up the Multics (but never knew it was the name of the operating system until much later) and play Crystal Cave and Star Trek.
Just because its carcass is still around after 52 years doesn’t say it isn’t doing badly. It only exists as a curiosity (like smallpox virus in some lab freezer) and nobody is actually using it for anything other than a curiosity or a “ship in a bottle” exhibit.
Anything not infected with systemd is more than just a “curiosity” – It represents hope for a betterfuture!
I second this
I agree, but http://devuan.org/
I’m working on a port to Multics as we speak.
Don’t worry: in a couple of weeks, systemd will absorb multics too :-D
Slackware
SInce this is an appropriate place for computer trivia:
Back in the late 70’s I did some projects for Rockefeller University,
and I came across this piece of doggerel in the computer center:
[As best as I remember it]
From the project mac-multics poetry file:
“The Last Bug”
But what does it matter,
they said with a shrug –
the customers happy,
what’s one little bug?
But he was determined,
the others went home,
surrounded by core dumps,
he worked on, alone.
“I’ve found it”, he cried,
“a simple deduction,
in order to to fix it,
just change one instruction.”
As month followed month,
and year followed year,
Strangers would query:
“Is that nut still here?”
They found him one day,
dead of hunger and thirst,
and buried him next day:
face down, nine edge first.
The last bug in sight,
one lone ant walking by,
saluted his grave,
and whispered “Nice try.”
—-
[ For those who grew up without ever working with punch cards,
they are read by a card reader after being placed in the read
hopper “face down, 9 {bottom} edge first.” ]
Your memory is amazing if you can still recall poetry from the 70s, cherish it while it lasts :-)
I found a slightly different version on the gnu.org website, with attribution: THE LAST BUG by Lou Ellen Davis – https://www.gnu.org/fun/jokes/last.bug.txt
Thanks for sharing in any case!
Thank you for finding the original version of the poem.
I’m gratified that I didn’t ‘drop too many bits’ in my memory
of a poem I read only once some 45+ years ago.
It’s one of the few items other than too many dirty limericks that stick in my mind.
For as T.S. Elliot wrote in “The Love Song of J. Alfred Prufrock”:
” I grow old … I grow old …
I shall wear the bottoms of my trousers rolled .”
+1!
When Ken Thompson first experienced Multics it might well have been “close to unusable”. But that’s because it had been written all along with security in mind, including the ability to run code at various levels of privilege known as protection rings. But the first mainframe that ran it, the GE 645, lacked hardware support for that feature so it had to be emulated in software, which had a substantial impact on performance. (The 645 was a modified 635 with additional memory management features for Multics, but it didn’t have security support.) And MULTICS was an ambitious system all around that needed a lot of computing power and memory by the standards of the day, and that first system really wasn’t adequate. Thompson probably first encountered MULTICS while Bell Labs was still participating in the project; they exited in 1969.
The first system that actually had adequate power for MULTICS was the Honeywell 6180, which first became available in 1973. (Honeywell bought GE’s computer division in 1970.) In addition to hardware security support, it was more powerful all around with a faster processor, more memory, and more disk capacity. Using MULTICS on the 6180 was a pleasant experience; by then the software was more mature so everything worked, and the new computer had enough power to run it well. That system got a series of incremental improvements, with the last being the Honeywell-Bull DPS-8/M. (By then Honeywell’s computer division was a joint venture with Bull; the latter took over completely in 1989.)
But MULTICS was a big operating system. It was never going to run well on the small systems that UNIX was originally developed for. Nowadays MULTICS could run easily on a modern personal computer, even natively if it were ported to a currently available architecture such as x86-64 or ARMv8.
MULTICS pioneered a number of OS features that have since become standard. One is that use of rings of protection, though subsequent systems have not taken advantage of it as fully as MULTICS did. (Modern CPUs, including the ubiquitous x86 series starting with the 80286, have hardware support for multiple levels of privilege.) MULTICS was the first major use of dynamic linking, where programs and libraries were not united until needed at runtime and libraries could be shared. It was the first OS with a hierarchical file system, something that was adopted by UNIX and has since become universal.
One other innovation has not be as widely copied, which was doing all I/O by mapping things into the address space of the program. ALL I/O on MULTICS was done that way, though a library layer that emulated UNIX-like streams was also available. Many CPUs do memory-mapped I/O at the system level but the devices are usually handled by system-level drivers rather than exposing the registers to user programs. x86 has special I/O instructions but a lot of I/O on PCs is memory mapped. The 68000 and ARM have no special I/O instructions, so I/O registers are always treated like memory. Typically they need to be declared volatile (in C/C++ terms) or whatever similar declaration exists in other languages so compilers will not attempt to optimize references to them.
There is no download for Raspberry Pi? I’m disappointed.
It will build and run on a Pi. https://photos.app.goo.gl/Dsp8Bb6tXcvRNeXE7
Now you can get back on cloud 9! Simulator : https://www.multicians.org/sim-inst-rpi.html
Thanks for the article. You don’t hear much about MULTICS. Thanks for the history lesson (article and comments)!
Not to disappointed I hope! You can simulate it on the PI here : https://www.multicians.org/sim-inst-rpi.html
Sorry for the double post …. First one didn’t show until I posted this one :rolleyes: .
I’ve met the man, Ken Thompson that is, and was the keynote speaker, at the VCF East event some years back, (being interviewed by Brian K he was.) And both, I, myself, and one other chap had a good time discussing everything with him before the events got started. Oh and I know that bit of history. But it is good to know that we can again experience Multics.
I’m going to be “that guy”.
” It’s intended for us on the dps8m Honeywell mainframe simulator rather than physical hardware”
Intended for use perhaps?
For us that use the simulator
But will it run X11?
I thought I read somewhere that the Windows NT kernel was a continuation of Multics. That was someone’s answer to the claim that Linux was out of date compared to Windows b/c it was a clone of Unix which is so old. Windows being based on Multics is even older.
Was this not true?
NT was architected by Dave Cutler who wrote VMS (so DEC). He’s a cool dude. Check out the book “Showstopper!”.
Our Supervisor, Who art in Ring 0,
Multics be thy name,
Thy booting come; thy commands be done,
In absentee as it is in interactive.
Give us this day our daily quota,
And forgive us all our ring violations,
as we forgive those who bump us.
And lead us not into ring 7,
But deliver us from GCOS.
For Thine is the root and the MIP rate and the hierarchy
Forever and ever (or until the next release).
Foo.