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."
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.
Btw, it's "Multics" not "MULTICS".
Probably the best source for Multics-related information is this site.
you had me at #!
Pretty much the same thing that makes ZX Spectrum software "too complicatded" to run under today's most sophisticated hardware. i.e. it's not meant for that hardware and therefore won't run. Unless you write an emulator first (like one was written for the Spectrum) and run a binary image of the software on that.
:)
But then we need to find a binary image of the software and we only have the source. Is this a chicken and egg problem ?
May contain traces of nut.
Made from the freshest electrons.
I imaginet one of the machines in the simh simulator can run this...
If they're a government contractor, I'm sure they're anything but poor...
It's MESS you're thinking of, not MAME.
Weaselmancer
rediculous.
It sounds like it was written for the hardware of a particular series of mainframes and will not compile on anything else. The further back you go, the less abstraction there was, and the more code was written "to the bare metal" so to speak. Give it a week, then there will be a Slashdot article: "Multics ported to i386". There is NO reason that it can't be ported to any architecture, given enough interest. Someone will port it, just because they can.
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
Can I have the $1,000,000 if I simply show you I can without doing it? http://en.wikipedia.org/wiki/Universal_Turing_machine I prefer check, but I'll also take cash or wire-transfer.
Can I assume an arbitrary amount of storage? If so, Alan Turing would take that bet.
Give me Classic Slashdot or give me death!
It's PL/I, which is actually a fairly established, if old, language. Ye olde CP/M (including Atari's TOS and DR's GEM windowing system) is written in a subset called PL/M. I seriously doubt there'll be a problem finding a PL/I compiler.
You are not alone. This is not normal. None of this is normal.
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
Ken Thompson & Dennis Richie worked on MULTICS (MIT and Bell Labs were both involved in the project). After Bell Labs dropped out of the project, Ken & Dennis created Unix partly as an effort to reproduce the good stuff they were missing. /etc/passwd was to support a batch job submission subsystem. This field connected your Unix account and your GCOS account.
MULTICS and GCOS both ran on variations of the same hardware (The G in GCOS used to be GE as in General Electric -- Honeywell kept the acronym when they bought GE's computer operation).
The GCOS field in
The MULTICS is not an acronym but the gag acronym I heard was Many Unbelievably Large Tables In Core Simultaneously (that's what I heard -- http://www.multicians.org/multics-humor.html has it as Many Unnecessary Long Tables In Core Simultaneously).
There's even someone working on a GNU Compiler Collection (GCC) frontend for PL/1. http://pl1gcc.sourceforge.net/
Have a look at http://www.multicians.org/myths.html
To make it even more amusing, meditate on the fact that most of what was chopped out of MULTICS to make UNIX was....the security related stuff!
Yes, UNIX is actually a secure operating system with the security removed.
Vintage computer games and RPG books available. Email me if you're interested.
Nope. The I/O hardware that the Level/68 system used was an extremely complex independent beast. (Think of SCSI (small computer systems interconnect) on steroids... since, uhh, Multics wasn't a "small computer system," but quite the opposite.) The documentation that survives is widely scattered; the few (insufficient) pieces that have been scanned and can be found on the web are at bitsavers. Much will likely have to be reverse-engineered.
I've been working on an emulator for a number of years. This article very good news, because it will make it easier for other people to get involved. (Note: don't bother trying to play with the emulator, because it is very... non-functional thus far. If you're interested in helping out, please do read everything at multicians.org, start following alt.os.multics, skim through everything on bitsavers, and then drop me a line *grin*).
--TheOrangeSquid Is it any wonder things seem so awry? We swim in a sea of confusion and don't have to think to survive
Actually, the Compatible Time Sharing System (Corbato, et al, 1962 or so) is a better candidate for the father of all modern operating systems. CTSS, for example, continued to provide reasonable response to the other users even when a process went spinning in a tight loop. This is something that Windows still hasn't solved.
You can achieve the same functionality by using shared memory, but then Process A's code could access Process B's data, which is quite different in security point of view. It is a bit like a system call, but instead of calling the kernel, you are calling another process.
You're right, it's almost all in PL/1, with very approximatly the same amount of assembler as Unix. --dave
davecb@spamcop.net
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.
Of course it is. If you've got enough swap. Which you can plug into the Palm's USB connector.
There's a modern PL/I compiler (kednos) that works on VMS.
I've played with it on vms/vax (on simh), but it probably works on VMS on alpha and Itanium, too.
What is funny is how small and fast is when compared to gcc, given all the stories about PL/I being a 'big' language, that needs a compiler 100 times more complex than a C one.
MULTICS era machines did not have many Mb
Indeed. We had a Honeywell Multics system at Bristol University, UK when I was there from '79-'82. The thing was impressively fast (it would compile small FORTRAN programs in no noticble time - type compile command, hit enter, and you got your prompt back), but nonetheless I recall Bristol getting a free HALF A MEGABYTE (a big deal at the time) memory upgrade from Honeywell to address performance issues.
Still actively maintaining PL/I code on z/OS mainframes! :)
The compiler is still actively supported by IBM too, though not quite as much as COBOL compilers. Not much new code is written in PL/I in my workplaces, but it still happens on occassion. Either way PL/I is a pretty easy language to learn, easier than COBOL IMHO. Any C programmer should be able to write basic PL/I in a week.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
As I recall: Multics ran on a mainframe system with 36 bit words (yep, 36 bits) giving you a choice of 6 bit BCD or 9 bit ASCII++ characters, 18 bit half-words used for indexing arrays, etc. 80 bit floating point arithmetic sharing the same general purpose registers as the 36 bit integer registers (2x36 bit registers holding the mantissa + and 8 bit "extension register" used to hold the exponent.) and a powerful but quite different memory map/virtual memory/ring of protection memory architecture. It had a single I/O instruction: CIOC (meaning connect to I/O controller) All that did was wake up the attached I/O coprocessor (the IOC) which executed IO Control programs (a unique language) that you left in main memory. The IOC, by the way also participated in the memory management and ring of protection scheme. Altogether a *different* beast from anything being built today. Portable code? We don't do portable code, Were MULTICS! Sure you could write an emulator -- using a x86, or a Turing machine if you want to. At least you could *START* writing an emulator, but I'll cover any bet you want to make that you never FINISH writing an emulator. -- What happens if I don't have a SIG?