“This is extraordinary news for all nerds, computer scientists and the Open Source community: 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 [get it here]. Multics was an extremely influential early time-sharing operating system started in 1964 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 name ‘Unix’ is itself a hack on ‘Multics’). The last running Multics installation was shut down on October 31, 2000.”
I hope this will entice more companies to release the source code to their EOL’d products! In practical terms this isnt of much use of course, however it will be fun for OS hobbyists.
Only those who already know, or are willing to learn, PL/1. That’s probably a vanishingly small number of people.
To be fair, he did specify ‘OS hobbyists.’ What an OS hobbyist is willing to do, and will find fun, is not representative of what most people are willing to do…
Edited 2007-11-12 19:12 UTC
It will be a very, very rare person, OS hobbyist or not, who is willing to learn PL/1 just to be able to read the sources for MULTICS.
PL/I is hardly a difficult language to understand. It’s similar to ALGOL in some respects, which eventually led to varieties of Pascal and Modula. Having some knowledge of data languages will help also, but once again, there isn’t a whole lot that shouldn’t be apparently to those who know C and SQL.
MULTICS was an interesting operating system but it always seemed buggy and unstable. Hopefully, the opening of the source code will help others avoid mistakes with a quick history lesson.
Have to agree there, anyone who is even remotely profficient in C should be able to read some PL/1 although it was heading in the Algol direction while C is more transparent to the hardware.
Also before C even arrived on micro computers, Intel had a subset of PM/1 that was probably as close to hardware as C was, it was part of their development systems they sold for 8085 and early 8086 boxes.
The only problem with reading really old software codes esp going way back to 50-60’s codes is that the whole way of thinking about machines was in a different context. They were the first to do something or certain ways of doing things were common knowledge then and now forgotten. One has to set aside much of what one knows today to appreciate what was done then.
It’s a nice idea, but a lot of the time earlier products are used as the basis, at least in part, to build newer products.
I’m sure Microsoft wont release the Windows 3.11 source code because there’s still bits of it in Vista. ๐
I’m sure Microsoft wont release the Windows 3.11 source code because there’s still bits of it in Vista. ๐
Forget that. There is still a crapload of DOS in Vista. Microsoft’s operating systems just collect more cruft as they release newer versions. All because they are bent on supporting legacy software which, oddly enough, doesn’t work very well most of the time.
I can’t tell if you’re being sarcastic for humorous effect, or if you actually believe that…
He’s serious!
Come on!!! it’s no secret that Microsoft goes a long way (or so they say) to make sure that legacy applications run on Windows… I’d day MS programmers have to support APIs going back to MS-DOS 3.0… and we all know how good Microsoft Software is in general… so no wonder things fail anyway.
Judging from Vista, I would say DOS support is not even close to their priority these days. QEMU + FreeDOS will have to suffice (probably well beyond SP1).
Edited 2007-11-12 23:07
Well, they do that via a virtual machine environment which runs on top of the Win32 subsystem. So I wouldn’t say that DOS is a critical or core component of Windows, by far. The NT kernel, in fact, has very little in common with DOS. The old-style APIs are only on the very surface of Win32 (the APIs exported by the core DLLs: kernel32.dll, gdi32.dll and user32.dll). All the other Windows APIs, such as those exported by ntdll.dll, the kernel and other newer components have very little win3.1 or DOS in them. Heck, even the old style Windows API calls aren’t very DOS-y at all.
I can’t tell if you’re being sarcastic for humorous effect, or if you actually believe that…
Believe what? It’s all true. Almost the entire DOS operating system is still in Vista. Look for yourself. You can still run “edit” and execute 16-bit executables. As far as compatiblity goes it’s a nightmare for Vista. Financial software, antivirus programs, pre-2003 Office, various games, etc that have been designed for XP no longer work on Vista.
Edited 2007-11-13 22:53
Um, DOS compatibility ain’t too great in Vista 32-bit, considering you can’t run full-screen plus there’s a 32 MB limit on DPMI. And there are other minor issues too. No, I don’t know why it’s so hard to keep everything that worked in XP functioning okay, but apparently, they broke it. And you can’t even install VPC2007 on Vista Home (for whatever strange reason). No, Vista (although bloated) ain’t complete crap, but it still needs a bit of work. Those of us who have it will just have to wait for SP1.
Edited 2007-11-14 05:26
My comp sci professors are going to flip, I know — we’ve had to study it before. (EDIT: Especially the two professors who still know PL/1.)
They have a license (MIT-style, natch), but I think it’s best to consider it shared source, not open source, as a curtosy for donating this for history.
I wonder how long it’ll be before we can run this on an emulator of some sort…?
Edited 2007-11-12 17:36 UTC
Since the last time I read “MULTICS” written somewhere. It was in a book during my undergrad formation at the beginning of the 90’s.
Nice move anyways, it will keep alive the memory of one of the grand daddies of the exiting OS
Can it be long before some IP firm sues MIT for infringing their 1983 patent on something?
We all know SCO invented MULTICS, and owns all patents on anything ever done with it.
… This brings up interesting question. The patents would, of course, be long since dead, but can you sue for infringement on your work for *past* infringement, even if it wouldn’t be infringement *now*?
Edited 2007-11-12 19:27 UTC
Just hire lawyers like Civiletti, Miller, Sielbersky and soon you will have a case. You might not win but there is a possibillity. Those guys has pulled off the impossible before.
being as much of MULTICS is from BEFORE software patents were even allowed by the patent office, opening it up would be the prior art doom for a good chunk of the software industry. Many companies like IBM only started collecting patents in the 70’s and 80’s in earnest.. the original good stuff was long in public domain, but kept private because nobody release the source. A release like this would show how big a sham software patents really are.
Good point!
It may be that if some software developer is attacked by Microsoft or others for infringing a software patent, the developer may now be able to dig through the Multics code and prove that the technique or algorithm was in regular use BEFORE the patent was issued. This release may well protect some innocent people.
First one to port gets a tootsie pop.
‘tootsie pop’
— is that a euphemism for something? Really, I have no idea what that’s supposed to mean
Nope, it’s a type of candy:
http://en.wikipedia.org/wiki/Tootsie_Pop
Specially if more code from other dead projects get published, classified and cataloged. Why? Prior art source to block IP trolls!
Hope more and more comes along.
Good thinking right there….
Well RMS must have finally persuaded them to do it after over 30 years of trying.
Well, then shouldn’t that be GNU/Multics? ๐
Seriously, though, hot plug and hot *unplug* memory in the 60’s was a way cool feature that we are just catching up to today.
Yeah, I attempted to hotplug some DDR2-667 last week. The smoke effect from the motherboard was most realistic.
“””
“””
LOL ๐
The old Multics machines didn’t use memory sticks, of course. One could add and remove memory *cabinets*. One imagines that when that didn’t work right, the firemen, fire trucks, and water spray might have been quite realistic. ๐
Edited 2007-11-12 22:45
“Yeah, I attempted to hotplug some DDR2-667 last week. The smoke effect from the motherboard was most realistic.”
/dev/mem: Device disappeared
All processes exited on signal 11: Out of memory
Page fault, reload OC/EC
๐
As a side note I, by no mean, had the intention to dwarf the awesome achievements of Multics or its influence on the development of other OS, specially Unix, implying that it is good only to restrain IP trolls. It actually was, in many aspects, way ahead of its time. Some of things it pioneered or greatly improved (the understand of):
– hierarchal file system;
– ACL and MAC;
– system backup policies;
– rings and memory protection;
– symmetric multiprocessing;
– paging and memory management;
– dynamic linking;
– a full character set.
Truly awesome for such a that old system. Perhaps, because of its high target, and the low power of that time hardware, it could not experience a bigger success.
Anyway, it will live as much as the History of Operating System will, being a sound milestone on OS development.
No – its demise was caused by the direct and concerted effort of Honeywell (who had acquired GE’s computer business) to kill it because it was seen as a competitor of its own GCOS (GECOS back in the GE days) mainframe OS. GE, and later Honeywell, had built 600/6000 series mainframes with special hardware modifications specifically designed to support MULTICS.
Particularly in the Government space, MULTICS was very highly regarded and was the OS preferred by many. Honeywell almost lost a very large Government contract because they tried to push GCOS down a customer’s throat when they really wanted and insisted on MULTICS.
As for performance, I never heard of any complaints regarding how MULTICS ran on the 6000 series mainframes – only kudos.
MULTICS was a true time-sharing OS. GCOS was a batch oriented OS with a timesharing subsystem (TSS) tacked on later and which became the rationalization used by Honeywell as to why MULTICS was no longer needed. Many, many customers mourned the demise of MULTICS, and Honeywell lost many customers when it died.
By the way, those who worked on MULTICS at Honeywell referred to themselves, and were referred to by others as Multicians. It is rumored that a number of these Multicians’ feet did not touch the ground when they walked.
Edited 2007-11-12 22:18
When reading through the website it gets frighteningly clear how close a shave it was: but for the actions of one man, Multics would have been lost for ever.
It’s nice for historical purposes, the same way looking at a centuries old earthenware jug is nice. After looking at it and the nice feelings have ebbed we put it back on the shelf and not look at it again for another 10 50 years and THEN we look at it again and it would be even nicer !
You can’t run it on any hardware, uses a language many of us are unfamiliar – of what present day value it can contribute to computer research I am waiting for someone to tell me. It’s something that you put on display in a museum, as a computer scientist, nerd and enthusiasts forgive me for not jumping up and down with joy and being overtly excited.
p.s oh and I forgot to thank M.I.T for their contribution to computer history. ( in all serious though ๐ , i don’t want to sound ungrateful..
Without history mankind is next to nothing.
The source code is hard to navigate, It would have been nice if they produced a tar archive of everything.
What language was Multics written in? I’m guessing it’s mostly assembly code for some old architecture.
It’s still cool to have it out in the open…
yeah, a tar ball would have been nice.
as for the language, it is written in PL/I. It is one of the first OS’s written in a high level language, instead of assembly.
I’m doing a mirror right now and prepare to do a tarball + torrent
if you have GE or Honeywell mainframe from the 70’s! Ha!
i wonder what those go for on ebay these days
IIRC, GCC can compile PL/1 code. Might give it a bash at the weekend, as long there’s driver support for my Envy24 HT soundcard.
GCC can compile PL/1 code
I thought that was a joke, but to my surprise it’s true: http://pl1gcc.sourceforge.net/
Comment was misplaced. Nevermind.
Edited 2007-11-12 22:22
system requirement of that beast ?
possible cpu ? (hmm was it even called cpu at that time )
RAM ?
Wondering if it’s portable to more common hardware (it seems to require specific behaviour from the system), were rings backed by hw or software only ?
For all your information about Multics:
http://www.multicians.org/
In particular:
Multics ran on specialized expensive CPU hardware that provided a segmented, paged, ring-structured virtual memory. The system is a symmetric multiprocessor with shared physical and virtual memory. Standard Honeywell mainframe peripherals and memory were used.
(http://www.multicians.org/general.html)
Also: http://www.multicians.org/fjcc1.html
I remember reading once that a few megabytes (of 8-bit bytes) is enough, so most of the problems in emulating the hardware will be the CPU and MMU.
This is cool
Maybe soon people will release the source code for other dead operating systems-like Vista
๐
“””
“””
Ye Gads! At least have the *decency* to wait for the body to get cold. ๐
Nice, but about 30 years too late …
BTW, does it run compiz? anybody? :p
PL/1 is hardly a lost skill… I worked with a bunch of PL/1 programmers in 2000/2001. A lot of IBM hardware still uses it. In fact, the guys I was working with were even writing stored procedures for DB/2 in PL/1. lol..
Wonder if there is useful stuff in MULTICS that the Linux community will look at and try to port into their OS..?!
Apparently someone has worked on GE-635 emulator to run Multics, much before this source release.
http://orangesquid.net/projects/ge635/
…if some more of the concepts from Multics end up being in Linux or other decent contemporary operating systems.