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."
til I can run this under mame?
Do you have ESP?
Anyone know what makes the OS too complicated to run on today's most sophisticated hardware?
Part of the hardcore faithful who believed in Apple long before it was cool again to do so
Well, one thing I wonder if there is useful stuff that is in MULTICS that the Linux community will look at and try to port into their OS..?! Hell, I wouldn't be surprised if other OS companies -- OSS or CSS -- will be looking at the source code to see what may be portable as we speak.
Michael
http://s1.sfgame.us/index.php?rec=58163
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.
Any chance of an emulator being developed that can run this? Are the hardware specs open?
This guy's the limit!
I, for one, welcome our Ancient MULTICS, Father of UNIX, Overlord. :)
"Time is nothing; timing is everything."
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.
...I fail to see the value in this aside from the rare enthusiast's curiosity or perhaps an academic archive. Am I missing something?
Let us not become the evil that we deplore.
Now we can comb the source to find all the places where Linux has stolen from MULTICS too. Give SCO a call, they can help out.
My grandmother used anecdotal evidence all the time, and she lived to be 120 years old.
While the source code of MULTICS hasn't been Free until now, the internals of the system were well-known. MIT even published a technical introduction. The Free Software community has already realized all of what made MULTICS useful in its own projects, and this opening up of the code, far from revealing something useful to today's hobbyists, is really just for historical study.
A beowulf cluster of these bad boys running on emulated hardware running COBOL.NET applications under Mono!
"It is not yet known if it will be possible to emulate the required hardware to run the OS"
Currently taking bids on how long it will take.
If you can read this, I forgot to post anonymously.
Btw, it's "Multics" not "MULTICS".
Probably the best source for Multics-related information is this site.
you had me at #!
I thought they'd released the source code for Ken Thompson. Neat trick.
I like music
Now all we need is some hardware...
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
If this is the father of Unix, who is the mother?
Even though 99% of Unix geeks are men, it is still biologically incorrect to call it 'father'.
How can MULTICS be called the Father Of Unix? Sure, Multics brought some interesting ideas to the party and qualifies for "Unix's Crazy Uncle MULTICS", but a close genetic connection is hard to see.
Engineering is the art of compromise.
It released its open-source Flickr application (Thalia) and it's actively working on open sourcing other projects that it's working on. Now if we could just get the corporate world to be as liberal/free with its code as the academics....
I've never messed with a Multics system, but reading the code is facinating for me. Finding out about a dynamically changeable system, where you could plug in drives, CPU"s, and even RAM on the fly, amaazing stuff. In many ways, the design was more innovative than what we have today.
Karma Whoring for Fun and Profit.
How about "parent process" of UNIX?
It might be interesting to see how many of Microsoft's 235 patents are in there as prior art - that is, if they'd tell us which 235 patents they mean.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
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 miss emacs on Multics. My first word processor, I wrote a lot of papers using it. Even today I catch myself typing emacs commands that only existed on Multics emacs.
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."
The fact is, Unix was a fresh start, and a damned important one. Unix's creators' biggest accomplishment was clearing out all the feature crud and creating a simple model that has influenced computer science on many levels.
MULTICS, by contrast, was doomed by its own complexity. The fact that Unix was created from the ashes of Bell Labs' participation in the MULTICS project is just a historical accident.
(it's the complete MR12.5 source dumped at CGI in Calgary in 2000, including the PL/1 compiler)
Looking at random files, I see copyright notices dated 2006, so how can this be a dump from 2000?
See the bottom of http://web.mit.edu/multics-history/source/Multics/tools/install_volume_backup.ec for example.
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
It's MESS you're thinking of, not MAME.
Weaselmancer
rediculous.
It ran on GE Model 645 hardware, a not particularly complex nor fast CPU. Maybe someone will whip up a bunch of macros to convert that language to X86 or even C. Shouldnt take more than a couple of weeks of hacking.
It's called Linux. :-O
Karma whoring, indeed ...
Had you compiled Linux in the past 5 years, you might have noticed that it can do just that on suitable hardware.
"there's no operational computer system today that could run this OS"
emulation, baby!
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
interesting that Multics was presented in 1965 and that the last active installation was pulled in 2000...
Linux-based OSs are nearly halfway there... how long will Linux be in use?
what is it, some sort of fairy computer that runs on whipporwills?
Calling Unix a "simplified" version of Multics ignores one of the greatest puns in computer history. The name Unix was chosen because it's a castrated version of Multics.
It would be nice to have a tar of the whole lot, theres a LOT of files in there
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
Ken: Oh Crap. We wasted all that time rewriting it.
Dennis: Yea, I know. How about we get that ole PDP-7 out of the closit again,
Ken: Yea?
Dennis: and we can port Multics, and emulate the special hardware!
Ken: Yea?
Dennis: and have Multiple Multiple Multics!
Ken: Yea?
Dennis: And we can Profit!
Ken: Thats Silly, you've been reading slashdot again havent you.
To see the wisdom of ancient masters...
For those of you who missed the reference, ding!
To make laws that man cannot, and will not obey, serves to bring all law into contempt.
--E.C. Stanton
Would they consider it cheating unless they use something more complex than a 2,3 Turing Machine?
-Dave
Nice job spamming the URL to your offtopic blog posting.
Read radical news here
There are two hard parts
Adresses and ints were 36 bits, longs were 72, and people used the 8th and 9th bits in in bytes for control and meta bits when manipulating raw terminal input.
Expect most of your problems will be with porting things like bit_offset_ entry (ptr) returns(fixed bin(24)) reducible
--dave (DRBrown.TSDC@HI-Multics.ARPA) c-b
davecb@spamcop.net
I started college at the University of Birmingham in Edgbaston (near Birmingham), England in 1986. They had a MULTICS installation and on my registration day the university computer club took those of us interested in it to a terminal room to show us the ropes.
The guy hit a key to get a login prompt. During the half-hour we were there the system did not manage to cough up even the prompt, so we got no demo. I never tried again.
Instead I got involved in the local programming going on in my department (Mechanical Engineering) and hence learned about Turbo Pascal on PCs and then Apollo workstations running their unix-like Domain OS - much better.
My final year project was an emulation of part of a mainframe/multics graphics library to the Apollo workstations so that the large deformation finite element analysis software they were developing could work entirely on the workstations, bypassing the central computing facilities entirely. They were already able to split jobs up and run work packets across multiple CPUs on the network. The combined computation performed by their workstation network was already outperforming their slice of the central mainframe. Before my project however they still had to transfer the output files over to the multics system so they could use the nice high speed plotters that the computer center had. With my project they could finally get nice large engineeering plots made locally.
If I recall correctly I provided a "GINO" emulation library that output large F/E plots as CAD symbol files which could be read by the "DOGS" CAD system they had. My memory is rusty on any more details than that. It was very cool to be involved in that, even if it was all in FORTRAN 77.
So I like to think I helped kill off Multics (if only infinitesimally).
emulated..."
Hmm. Let me see. The Multics system, ran on GE mainframes. So old, they predate a PDP-7.
I believe it ran on a GE-465. VERY WEIRD hardware. 36 bit. Seemed to have some thing about varible sized bytes of 6-bits for compatibility, and 9-bit bytes for emulation and a whole lotta weird stuff. VERY SECURE. And the box had a slit down the middle and could be opened up like a fridge...
( Im going to post this Anonymously so I dont show my age...:(
OPPS. Some was working on emulation:
http://stinet.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=AD0787218
So is this:
http://os.1.vg/projects/ge635/
Hercules shows that it's possible to emulate hardware that's quite different from the usual PC on a PC-class machine and get reasonable performance out of it. Assuming that the source on the MIT page is complete, it should be possible to work from there, along with whatever hardware docs are available, to emulate enough of the machine to get MULTICS running.
You don't have to emulate the entire machine in every last detail. You only have to emulate those pieces of it that the OS talks to. You can also get away with not emulating the error detection and reporting features of the architecture any more than is required to deal with normal operation; the emulator will not encounter a failing instruction, for example.
The biggest problem in getting it running is much more likely to be getting the software into a form the emulator can execute. There are binary images on the site; if those are enough to bootstrap your way into a running system, then the problem is manageable - you only have to create an emulated disk image that contains the files in the form that MULTICS expects to see. If you have to recreate things from source, you wind up having to build a cross-compiler - a much harder task.
I'd love to see it running. It's possible, but a lot of work. There does seem to be a dedicated MULTICS crowd on the net, and I won't be at all surprised to see them take on the job.
Disinfect the GNU General Public Virus!
or at least when a Real Programmer (http://www.sorehands.com/humor/real1.htm) says it. Real Programmers speak in uppercase.
Fight Spammers!
They talked them into releasing it so it would distract us from Linux. Don't fall for it! Don't spend time porting it! Don't even read the code because they probably planted bugs that are so advanced that just 'more sourcefile.c' would infect you and overwrite your bios and install Anna K pr0n!!!
Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
In the "Dunnet" adventure game built-in to GNU Emacs there is a VAX cabinet. If you find the CPU board and plug it in the thing runs and you can logon to the system and even execute commands. So I think someone skilled in Emacs Lisp (certainly not me) should implement a MULTICS system inside this game also. Given the birthplace of the original Emacs, this would be somewhat ironic.
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.
... Google announces that MULTICS code will be incorporated into Android.
In the course of every project, it will become necessary to shoot the scientists and begin production.
IANAL but even if I was, it'd probably take a judge to say that with any certainty anyway. Legalese is fuck-ugly to read and combined with code in assembler that is also fuck-ugly to read, the probability it's that clear is slim. Which is why they haven't said anything what the alleged patents are, nor where the alledged infringements are. Eventually people will see that it's nothing but empty threats. Or rather some won't, but they'll be squeezed from the market because of higher operating costs. It's a little bit of "You can't teach an old dog new tricks - but they do die eventually."
Live today, because you never know what tomorrow brings
This should be helpful to whoever (and surely someone will) wants to build an emulator. This is a PDF of the processor manual from 1985. The processor features sounds awfully advanced for 1985. Pipelining (they call it overlapping instruction execution), instruction caching, memory protection... Sweet! I want one...
And Alan Turing rolls over in his grave....
--Sam
How long before Sco claims they own this as well?
--Kimball
http://www.kimballlarsen.com/
Many Unnecessarily Large Tables In Core Simultaneously.
I think we know what Linux stole from MULTICS!
Geeky modern art T-shirts
Netcraft confirms it: MULTICS is dying
Hell, there are several OS text books the examine Multics. I think I left my Pascal algorithm book.
Fight Spammers!
I understand that MULTICS is the father of Primos/VMS and the Grandfather of Windows/NT (If you believe the rumors). Unix was designed to be an O/S where all the bells and whistles were removed. If you imagine an emasculated MULTICS, well that's unix. I remember an urban myth that UNIX was called EUNICH (supporting the above statement), but as that name could never be sold to a male dominated IT environment....unix, which sounds like eunich, was introduced. Ray D
That's great news; I think there's a lot of prior art in there for supposedly modern inventions.
Getting this up and running shouldn't be all that hard; people have written emulators for all sorts of older architectures. Given the speed and memory of modern hardware, you can, for example, just emulate the 36 bit words using 64 bit words and not worry about the wasted 30 bits.
A butterfly flaps its wings...and takes out Multics.
My OS professor "The designers of Multics took the principle 'All problems in computer science can be solved by adding a level of indirection' to extremes."
(Or maybe that was Hydra...)
Ceci n'est pas une signature.
and on 360 class big iron.
AND there is even one dialect ( http://pl1gcc.sourceforge.net/ ) for the GCC.
Porting Multics may not be that big a job IF you have the source code.
The power of Multics lies in the ideas it implemented, not it whatever hardware it ran on.
(Even though the hardware was rather special it is well enough documented to be reducible to an implementation on a Turing machine.)
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
Has anyone found a single downloadable file for the Multics gizmo yet? If not has someone made one that contains ALL the files and docs? If so please link us to it. Thanks very much.
I prefer to have a copy on my computer naturally where, gasp, I can study it off line. Shivers... off line...
Am I just being paranoid, or is everything a swipe against Microsoft?
I use to be an OS collector, and I remember trying to get info on this years ago. All roads I came too said that the original tapes had disintegrated and the only remaining source code was a print out a guy at the uni had found and OCR'd. So curious what happened along those years. Someone find a backup?
That serial port can interface storage through , thereby expanding the virtual address space of the emulator to an arbitrary size.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
BULL sells a machine today that runs GCOS8 on an emulated platform .
They use an Itanium platform and it runs at least as fast as the native platform .
Go to BULL-s homepage and search for HELIOS , GCOS system used to run on
GE6000 machines very similiar to the Multics machines only the virtual unit
was different . I think GCOS ran on GE635 and Multics used GE645 or GE655? .
Rather amusing, the last Multics in use was with the Canadian military. See here.
If they want some usefull stuff they might as well get them from Plan 9. The "successor of Unix." It has been open source since 2000 AFAIK.
I used Multics for a while at MIT, and even wrote some user documentation for it.
From that point of view, it sure looked like a research OS. They were tinkering with the damn thing all the time, and it would have interesting new flaws and idiosyncrasies regularly, as well as be out of service at random intervals while they upgraded from version 35.6a to 35.6ab. If you wanted stability and reliability, you were expected to use the IBM CMS system.
I don't say that Honeywell didn't try to sell it as a regular system -- I vaguely recall Ford used it at one point -- but that may have been more of a bread on the waters, what the heck kind of thing to try to recoup some of their investments costs. My impression is that the people actually working on the system at MIT, at least, did not regard keeping the thing running and reliable as their top priority. If they thought of something new and nifty to try, they would.
what is all that idiocy with pressing 'back' in internet
explorer and wordpad ?
is there any link where to actually DOWNLOAD an archive or
a tape/disk image ?
I'd like to announce the new MnM/Amil operating system: Its "MNM's Not Multics" running on the "Amalgamation of Multics Impersonating Lemmings!" Its also licensed by the new MnM Candy Coated License (MnM CCL) which is will never leave your hands dirty! Yummy!
Clickety Click
As other have pointed out, UNIX was considered to be less secure than Multics, though I suspect that work on things like ACL's and OpenBSD's bug stomping crusades may make a modern Unix more secure than Multics. Multics may be in theory a more secure design, but that may not carry over in practice. OTOH, it wouldn't surprise me if being written in PL/1 is a good part of the inherent security as it is way too easy to write insecure software in C.
Another factoid that I ran across ca 1972 was that OS/360 required 1,200 man-years of work while Multics only required 50 man-years, the difference attributed to Multics being programmed in a high level language while OS/260 was largely done in assembler.
A Shadeless room is a brighter room.
I think Multics would more appropriately be described as the abusive, overweight, unemployed step-father of Unix.
Yes, I worked at Pr1me (in R&D) starting in early 1978, and during my interviews it was made quite clear they were designing PRIMOS to become "Multics in a (super-)minicomputer".
I think they already had ("real", not Unix-y) dynamic linking at that point, but only into PRIMOS itself. The ability to create dynamically linked libraries came with the introduction of the Executable Program Format (EPF, a bit like Unix's ELF I assume) in PRIMOS version 19.4, circa 1984.
Other cool things included full-featured signaling/exceptions — full-featured in the sense that a signal handler could re-signal the signal and then pass that new signal "up" the stack to earlier invocations to handle, which was helpful for handling interrupt (^P, akin to Unix ^C) and similar conditions; and recursive "shells", programmed in CPL, which I think stood for Command Procedure Language, which were to PL/1 as Bourne shell and its language was to C in the Unix world in terms of what they were trying to provide.
Oh, and a "transparent" network filesystem was both a blessing (when you really didn't care that the files and directories were remote) and a curse (when you actually did care but couldn't reliably figure it out), implemented initially via a client/server model using the underlying network protocols directly from within the kernel's filesystem and, later, via a Remote Procedure Call (RPC) mechanism the kernel offered to itself and to users.
(One of my own little hacks, which became reasonably popular in the R&D data center at least, was to write a SETIME utility that could be run on system startup, and which would query designated remote systems via RPC for their date/time in order to set the local system's date and time, as the hardware back then didn't have its own CMOS-ish clock and the OS wasn't really usable until the local date and time were set.)
I'm not so sure the transparent FS was Multics-inspired, but the folks doing much of the OS design (including CPL, EPF, and so on) definitely included many ex-Multicians who were enthusiastic (to say the least) about recreating their favorite OS features on a system that was selling like hotcakes.
Then there was the guy in Tech Pubs who kept going on about a completely different OS with a wacky name that ran on DEC equipment, had a "shell" (with a "case" statement that he tried to explain to me once), let users connect programs together with "pipes" and, for some weird reason, had all its program names and commands in lower case!! (Wonder whatever happened to that OS...? ;-)
Practice random senselessness and act kind of beautiful.
> ...I fail to see the value in this aside from the rare enthusiast's curiosity or perhaps an
> academic archive.
Isn't that enough?
--I'm so big, my sig has its own sig.
-- See?
Finally, a keyboard designed for Emacs!
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Great! Now let us wait for last machine with Windows 3.1 ...
I just had a look at the source and found (in http://web.mit.edu/multics-history/source/ldd_listings/sss/adjust_cutoff_.list ):
/* This date is 12/31/99 2359. */ /* .. if Multics last this long we will have to fix */
43 dcl NEVER fixed bin (71) int static options (constant) init
44 (1011000110010110011001001110100110111010100100000000b);
Still, Multics was running till the end of October 2000. Are there any updates to the source?
Often, we talk about wanting to create a more advanced filesystem -- based on a database, for instance. Often, we find ourselves re-integrating some of these things -- the OS absolutely should handle indices, at least of our byte streams.
I do think Unix was an important fresh start. I also think that it didn't have to be as simple as it did.
One simple example: The POSIX filesystem API is broken. Biggest problem: lack of transactions; for example, either FS operations are ordered or they aren't. If they're ordered, you lose performance because the FS can't make intelligent decisions about what order to write to the disk -- and the application can't do that either, being at the wrong level. If they're unordered, you lose reliability, because you can't guarantee when anything hits disk -- or you lose performance, because you're doing a sync when you really don't need to.
Even simpler example: Lack of a 'copy' filesystem call, or anything like it, basically kills any standard copy-on-write support. Without standard copy-on-write, you can do hardlink farms, but that's at file-level granularity, not block-level granularity. Time Machine is a perfect example of why copy-on-write at the block (or extent, maybe) level is kind of needed.
Don't thank God, thank a doctor!
ian
Indeed. Perhaps I should have asked, "Is there value in this beyond the rare enthusiast's curiosity or perhaps an academic archive?" Your point is well taken.
Let us not become the evil that we deplore.