MIT Releases the Source of MULTICS, Father of UNIX
mlauzon writes "Extraordinary news for computer scientists and the Open Source community was announced over the weekend, as the source code of the MULTICS operating system (Multiplexed Information and Computing Service), the father of UNIX and all modern OSes, has finally been opened. Multics was an extremely influential early time-sharing operating system and introduced a large number of new concepts, including dynamic linking and a hierarchical file system. It was extremely powerful, and UNIX can in fact be considered to be a 'simplified' successor to MULTICS. The last running Multics installation was shut down on October 31, 2000. From now on, MULTICS can be downloaded from an official MIT site (it's the complete MR12.5 source dumped at CGI in Calgary in 2000, including the PL/1 compiler). Unfortunately you can't install this on any PC, as MULTICS requires dedicated hardware, and there's no operational computer system today that could run this OS. Nevertheless the software should be considered to be an outstanding source for computer research and scientists. It is not yet known if it will be possible to emulate the required hardware to run the OS."
Surely it's possible, it just may not be much fun or very practical. Unless perhaps that old hardware has some black boxes that talk to spirits or do other magic things.
It seems something to do with the way they implemented dynamic linking. Each executable/data page could be shared between multiple processes, with each process having a different set of permissions on that page. On current systems, the permission codes would be associated with that executable/data page, not the process itself.
Multics - Novel Ideas
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
http://en.wikipedia.org/wiki/GE-600_series
...
The wiki article has links to the programmer's reference manual and the instruction timings. Another issue is the care and feeding of the peripherals. Even so, given the reference manuals, it is hard to see why it is difficult to build an emulator.
The entire computer industry learned how to build PCs from the IBM technical reference. It looks to me like the same kind of information is available for the GE-600. So
I can't tell if you were being sarcastic, or if that was a call for gender-neutral dialogue, but just in case: Women already have "Motherboard", "Mothership", "Daughter Cells", and personifications of cruise vessels; let the men have this one.
Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
Yes you are missing something. The 'value' you put in something is pretty meaningless to everyone else and historical interest is a value if you are interested.
"I use a Mac because I'm just better than you are."
Nothing is impossible, but little things like 36bit words (not 32bit) are going to slow you down.
I beg to differ.
At the time of Multics people were just figuring out what a computer should do in an interactive time-sharing environment. People had lots of ideas, and since Multics was, fundamentally, a research OS, they threw them in. Only with experience could they decide which were the good ideas and which were the bad ones. They couldn't know, in advance, which were the winners. They had to try them and see. That is the legacy of Multics.
...laura
> It is not yet known if it will be possible to emulate the required hardware to run the OS.
Turing disagrees.
- For the complete works of Shakespeare: cat
But what does the compiler run on? It's still a bootstrapping problem unless the PL1 compiler runs on an available architecture.
My blog. Good stuff (when I remember to update it). Read it.
Presumably if someone knew enough about the hardware to write an emulator, they could easily write a modern compiler for whatever language the source is in..
That block comment appears in virtually every source file. It appears to have been added just for this release.
Dr Superlove 300ml. I use my powers for awesome
I would say, instead, that we take it for granted that the OS should provide access to a disk file as a simple byte stream. I don't think there is consensus at all that there is one true way to implement a disk file, or whether that is even necessarily the job of the OS, as such, rather than replaceable modules, different sets of which may be found in use with any particular instance of the same OS.
Its not an issue, modern hardware is so much faster than the hardware of the MULTICS era an interpreter can emulate the processor and the memory management in one go.
A bigger issue would probably be the 36 bit word but even that is just an efficiency issue. Memory is cheap and MULTICS era machines did not have many Mb.
The bigger question is why go to the trouble. The answer is prior art. MULTICS has been mined as prior art in patent disputes for decades. If its in MULTICS its out of patent.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
Since MULTICS is the father of ALL modern OSes (which would include that trash heap, Windblows) it should provide a multitude of algorithms and processes that people are now trying to Patent and pass off as an Original Invention. This is a very good piece of history. Some people would rather you forget where you came from so they can take advantage of you in the marketplace.
I'm fairly certain that IBM has a PL/1 compiler that will still run on its big iron systems, at least in compatibility mode.
You might run into issues between IBM's dialect of PL/1 and whatever dialect MULTICS is written in (there were at one point a bunch of incompatible versions), but compilers still exist.
Some of the big IBM machines can still run really crusty software in various binary-emulation modes; you might be able to dig up an ancient IBM PL/1 compiler and get it to run, if 'modern' compilers have lost backwards compatibility.
What I think is sad is that the hardware apparently wasn't preserved when the last system was taken down; I'd have thought there'd be lots of people at MIT, or computer-history groups, that would have taken it over and carefully carted it away in a fashion that would have at least preserved it for analysis, if not actual operation.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Let's consider the first moment in history where a physicist convinced himself (after many years of effort and for mostly the right reasons) that a classical description of light could not possibly work. Hardly a ringing endorsement of his work so far. What an abject failure. Now he'll never get promoted to middle management after making such an enormous career blunder. A negative result. Not even worth writing a paper.
Except that call gates don't call into another address space, they call into another segment. And only one modern compiler for a modern language (Watcom C, IIRC) emits code for a properly segmented memory model instead of the flat-memory-on-segments model normally used.
do you really think that RAM is irrelevant to emulation?
Well, yeah, of course it is. We are talking about emulating architectures, and the OP was saying that any general purpose architecture can emulate any other.
Whether or not any specific device will have the resources to run software targeted at any other specific device is, in fact, entirely irrelevant.
sic transit gloria mundi