Slashdot Mirror


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."

83 of 276 comments (clear)

  1. how long by Trailer+Trash · · Score: 3, Funny

    til I can run this under mame?

  2. emulators? by gEvil+(beta) · · Score: 2, Interesting

    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!
    1. Re:emulators? by Hatta · · Score: 2, Informative

      Can I assume an arbitrary amount of storage? If so, Alan Turing would take that bet.

      --
      Give me Classic Slashdot or give me death!
    2. Re:emulators? by orangesquid · · Score: 5, Informative

      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
    3. Re:emulators? by Gordonjcp · · Score: 3, Funny

      So when are you ponying up the million dollars? That's nearly 20 quid you know. You could buy a nice lunch for that.

    4. Re:emulators? by david.given · · Score: 2, Informative

      Are you just pretending that you forgot about the GB of RAM that comes as standard on on MacBook Pros, or do you really think that RAM is irrelevant to emulation?

      Of course it is. If you've got enough swap. Which you can plug into the Palm's USB connector.

    5. Re:emulators? by exp(pi*sqrt(163)) · · Score: 4, Funny

      You can't buy a nice lunch for 20 quid. In fact, it's completely impossible to buy any food even remotely close to 'nice' in any country that uses 'quid'.

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    6. Re:emulators? by jra · · Score: 2, Interesting

      The stock distribution ot Multics depends intimately on the memory segmentation and protection hardware of the Level/68 architecture.

      So no, it's not possible to run Multics on any current hardware.

      Is there a lot of good skullsweat in there nonetheless? Yes.

      How long will those ideas take to get into Linux and *BSD?

      I'm betting... about 3 months.

      Kudos to the Groupe Bull people who got this done; I gather it took *most* of the last 7 years to clear it all.

    7. Re:emulators? by glwtta · · Score: 2, Insightful

      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
  3. Emulating the Hardware by Unoti · · Score: 4, Insightful
    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.

    1. Re:Emulating the Hardware by orclevegam · · Score: 4, Funny

      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.

      Maybe it had a more magic switch?

      --
      Curiosity was framed, Ignorance killed the cat.
    2. Re:Emulating the Hardware by Cheesey · · Score: 5, Insightful

      It is not yet known if it will be possible to emulate the required hardware to run the OS.

      Run away! They're using reverse psychology!

      "Let's tell the nerds that they can't run MULTICS on simulated hardware, and see how long it takes them to do it!"

      --
      >north
      You're an immobile computer, remember?
  4. oh good by colourmyeyes · · Score: 5, Funny

    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.
    1. Re:oh good by Etrias · · Score: 3, Funny

      Que the Empire references.

      "No Darl, (MULTICS breathing) I am your father."

      "No...that's not true. That's impossible!"

      "Search your feelings. You know it to be true."

      "Noooooooooooooooooooooooooo!"

  5. Re:Will the OSS & CSS Community Borrow More Fr by CRCulver · · Score: 4, Informative

    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

    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.

  6. Imagine... by Unoti · · Score: 5, Funny

    A beowulf cluster of these bad boys running on emulated hardware running COBOL.NET applications under Mono!

    1. Re:Imagine... by BobNET · · Score: 2, Informative

      Already some poor government contractor is being asked to implement just that very system.

      If they're a government contractor, I'm sure they're anything but poor...

    2. Re:Imagine... by Constantine+XVI · · Score: 2, Funny

      You forgot to have Mono running in BeOS on a PPC built in a FPGA

      --
      "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
  7. Hey Microsoft! Read the source and weep... by toby · · Score: 5, Informative


    Btw, it's "Multics" not "MULTICS".

    Probably the best source for Multics-related information is this site.

    --
    you had me at #!
    1. Re:Hey Microsoft! Read the source and weep... by ElephanTS · · Score: 2, Funny

      And it's Multivac not MULTIVAC!

      http://www.scribd.com/doc/3407/The-Last-Question

      --
      spoonerize "magic trackpad"
    2. Re:Hey Microsoft! Read the source and weep... by Bill,+Shooter+of+Bul · · Score: 4, Funny

      Ok... So BSD is what .. a fried egg sandwich? If they had to weep every time they discovered something that ran better than windows on a specialized hardware platform, they would die of dehydration.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
  8. quickly reading the headline by xrayspx · · Score: 4, Funny

    I thought they'd released the source code for Ken Thompson. Neat trick.

    1. Re:quickly reading the headline by xrayspx · · Score: 4, Funny

      They got MD5Sums with that? I don't want to spend 20 years compiling just to end up building and executing some virus.

  9. Re:Too Complicated to Run? by mikael · · Score: 4, Insightful

    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
  10. Re:Too Complicated to Run? by Fred_A · · Score: 4, Informative

    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.
  11. Father of Unix? by EmbeddedJanitor · · Score: 4, Funny

    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.
    1. Re:Father of Unix? by steve54 · · Score: 3, Informative

      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.
      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 /etc/passwd was to support a batch job submission subsystem. This field connected your Unix account and your GCOS account.
      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).

    2. Re:Father of Unix? by jefu · · Score: 4, Funny

      Puns count, but eunuchs don't tend to contribute lots of genetic material themselves.

  12. you can't run it by meta+coder · · Score: 5, Funny

    Unfortunately you can't install this on any PC it's seem like windows vista
  13. Re:Mother of Unix? by nuzak · · Score: 2, Funny

    Ken Thompson, of course. Multics impregnated him with the ideas, he carried 'em to term and birthed 'em on a PDP-7.

    Okay, I really don't want to continue this analogy.

    --
    Done with slashdot, done with nerds, getting a life.
  14. innovation and performance by downix · · Score: 4, Interesting

    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.
  15. Re:I'm always happy to see something opened, but.. by $RANDOMLUSER · · Score: 4, Funny

    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
  16. Multics ran on the GE-600 series by Anonymous Coward · · Score: 2, Insightful

    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 ...

  17. Re:Mother of Unix? by Workaphobia · · Score: 2, Insightful

    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.
  18. emacs by FranTaylor · · Score: 3, Interesting

    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.

    1. Re:emacs by The_Dougster · · Score: 2, Interesting

      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.

      Did you perchance happen to be using a MIT Space Cadet Keyboard with that Multics system, or did you just enter your papers in using punch cards?

      --
      Clickety Click ...
  19. Re:I'm always happy to see something opened, but.. by 0racle · · Score: 2, Insightful

    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."
  20. KISS by fm6 · · Score: 5, Interesting

    UNIX can in fact be considered to be a 'simplified' successor to MULTICS.
    Which is precisely why Unix matters and MULTICS doesn't. The simplifications in Unix are its most important contribution to the art of OS design. For example, we now take it for granted that the OS should implement a disk file as a simple byte stream, with bigger structures, such as records or indexes, being implemented on the application level. But when Unix appeared, that idea was novel and controversial.

    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.

    1. Re:KISS by DragonWriter · · Score: 2, Insightful

      For example, we now take it for granted that the OS should implement a disk file as a simple byte stream


      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.
    2. Re:KISS by fm6 · · Score: 2, Interesting

      I don't agree that without Multics, Unix wouldn't exist. And come to think of it, I don't agree that it was an influential negative example. Its main influence at Bell Labs was its failure to go gold soon enough for Bell Labs to adopt it for internal use. This left Thompson and Ritchie without an OS to work with and motivated them to write their own. They weren't looking for a way to squeeze Multics into their tiny PDP-8, they were doing original work, with their creativity energized by the very limitations of their working environment. Things like byte streams, pipelines, and device files aren't adaptations of Multics concepts, they're completely new inventions.

      Actually, Multics might well have killed Unix in its infancy. If the project had gone a little faster, Bell Labs might have stuck with it, and had no incentive to develop its own OS.

      There's a lot of mythology about Multics, and you seem to have bought into a lot of it. Check out multicians.org for corrective details.

      When I say "Multics doesn't matter" I mean it didn't have any accomplishments we should care about. You can read "doesn't matter" any number of ways, but I think it's pretty clear from context which way I meant it to be read.

    3. Re:KISS by epine · · Score: 2, Insightful

      So basically you're saying that Multics's biggest accomplishments were all instructive mistakes? Not a ringing endorsement. That is so middle-management brain, I'm almost speechless. From the perspective of career-advancement creditology, management oversight of the Multics project might not have been a double plus good on the resume. From the point of view of the technical people wrestling to reduce what was formerly impossible to annoyingly difficult, Multics might have produced some great moments of clarity on which forms of complexity to accept and which forms of complexity to reject and eliminate. Far too many projects fail without having confronted the right question in the first place.

      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.

  21. Re:Too Complicated to Run? by Anonymous Coward · · Score: 3, Insightful

    Nothing is impossible, but little things like 36bit words (not 32bit) are going to slow you down.

  22. Source? by SnarfQuest · · Score: 2, Interesting

    (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.
  23. Re:Too Complicated to Run? by EvanED · · Score: 2, Interesting

    What? That's not my understanding of how things work. Each process gets its own page table, which means separate permissions, no?

  24. MESS by Weaselmancer · · Score: 4, Informative

    It's MESS you're thinking of, not MAME.

    --
    Weaselmancer
    rediculous.
  25. The real legacy of Multics by spaceyhackerlady · · Score: 5, Insightful

    Which is precisely why Unix matters and MULTICS doesn't. The simplifications in Unix are its most important contribution to the art of OS design. For example, we now take it for granted that the OS should implement a disk file as a simple byte stream, with bigger structures, such as records or indexes, being implemented on the application level. But when Unix appeared, that idea was novel and controversial.

    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.

    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

    1. Re:The real legacy of Multics by suitti · · Score: 2, Interesting

      If Unix gave us just what we need in an OS, then Version 7 Unix gave us an OS written in a way to ease porting to new hardware. We even booted Unix on Pr1me hardware. The bit that makes a pointer point to an even or odd byte is not the least significant bit in a Pr1me address.

      Yeah, yeah, i know, other OS's have been ported. Windows and VMS on Alpha. CP/M on the 8086 and 680000. Mac OS on PPC. But Unix variants are everywhere.

      --
      -- Stephen.
    2. Re:The real legacy of Multics by fm6 · · Score: 4, Informative

      Multics was, fundamentally, a research OS
      Not true. Two of the three partners in the project were Bell Labs and GE. Bell Labs wanted an OS their researchers could actually use, and pulled out when they decided that the project wasn't going to come together in a useful time frame. GE's mainframe division wanted a new OS to differentiate their products from other mainframes, and went on to sell a small number of MULTICS-based systems. Or to be precise, Honeywell, Groupe Bull, and NEC, who owned the former GE mainframe division in turn, sold them. The last MULTICS-based commercial system was discontinued in 1987. Doesn't sound like a "research OS" to me.

      Have a look at http://www.multicians.org/myths.html
  26. From the supernatural hardware dept. by hoggoth · · Score: 5, Insightful

    > 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 /dev/random (may take some time)
  27. Re:Too Complicated to Run? by PitaBred · · Score: 4, Insightful

    But what does the compiler run on? It's still a bootstrapping problem unless the PL1 compiler runs on an available architecture.

  28. Re:Too Complicated to Run? by Brian+Gordon · · Score: 2, Insightful

    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..

  29. Not "simplified" by Blackeagle_Falcon · · Score: 4, Funny

    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.

    1. Re:Not "simplified" by SuiteSisterMary · · Score: 3, Informative

      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.
  30. Re:Too Complicated to Run? by suitti · · Score: 4, Interesting

    Multics requires hardware support for it's security model, probably the dynamic linking, etc.

    Certainly, a Multics machine emulator could be written. Such an emulator would run circles around the original hardware. Multics was not written in an era of gigabytes of RAM. So, a Multics emulator could keep an entire emulated machine in RAM on a pocket computer today, like a $99 Palm. Such an emulator might not be hard to write.

    --
    -- Stephen.
  31. Mass commenting by Z-MaxX · · Score: 4, Insightful

    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
  32. Re:I'm always happy to see something opened, but.. by justkeeper · · Score: 2, Funny

    To see the wisdom of ancient masters...

  33. Mod parent up by Raul654 · · Score: 4, Informative

    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
  34. Re:Too Complicated to Run? by squiggleslash · · Score: 2, Informative

    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.
  35. The special hardware exists on 386s and later by davecb · · Score: 5, Informative

    There are two hard parts

    1. Rings and ring-crossings, which are supported in intel hardware since the 286/386 era, and
    2. Long words, longer than 32 bits.

    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
    1. Re:The special hardware exists on 386s and later by SnarfQuest · · Score: 2, Interesting

      simh already handles 36 bit emulation for the PDP10. There is one eample to use if nothing else.

      --
      Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
  36. My MULTICS experience by mihalis · · Score: 3, Interesting
    (when I last saw the word MULTICS in a computer room, it was definitely spelt that way - maybe they were wrong then).

    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).

  37. An emulator should be feasible by Jay+Maynard · · Score: 2, Interesting

    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!
  38. Re:Too Complicated to Run? by Anonymous Coward · · Score: 2, Informative

    There's even someone working on a GNU Compiler Collection (GCC) frontend for PL/1. http://pl1gcc.sourceforge.net/

  39. Re:Too Complicated to Run? by Zeinfeld · · Score: 5, Insightful
    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.

    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/
  40. Microsoft did this!! by alta · · Score: 2, Funny

    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.
  41. The perfect emulator by mihalis · · Score: 3, Funny

    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.

  42. A good source of Prior Art by AppleTwoGuru · · Score: 5, Insightful

    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.

    1. Re:A good source of Prior Art by Bozdune · · Score: 3, Informative

      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.

  43. Re:Too Complicated to Run? by AKAImBatman · · Score: 4, Interesting

    I'm sure if you stubbed out the parts requiring the special hardware and replaced them with software implementations you could probably get it to work, but that would require some effort in essentially updating the OS.

    =OR= we could get someone to develop an FPGA version of the MULTICS system. The machine was big, but today's FPGAs should be able to encapsulate all the hardware services originally available to the system. Certainly there's enough room for the CPU, a controller for a 2MB stick of RAM (though it might need to be larger to support 36-bit words if the chosen RAM is only byte addressable), and an interface to a Flash drive or hard disk. Tack some terminal hardware on the PCB and you're golden.

    Never underestimate the modern potential for recreating old hardware. :)
  44. Re:Too Complicated to Run? by bvimo · · Score: 2, Funny

    Or is it a Chuckie Egg problem?

    --
    In either case, here at Microsoft, we feel standards are important. And we have fun, too. Doug Mahugh, Microsoft
  45. Re:Too Complicated to Run? by Kadin2048 · · Score: 2, Insightful

    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."
  46. Re: Too Complicated to Run? by uucp2 · · Score: 3, Informative

    In current Unices, mmap can map the same file with different permissions from process to process.
    True; this way you can attach a shared library into your code ("text") and data segments. However, if you think about the wikipedia article, you see that the Multics model differs from Unix method substantially. Process A can request pieces of Process B linked into it, then call the linked in piece of code and actually read and modify the pages which belong to Process B (using the code of Process B). You can't do that in Unix.

    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.
  47. Re: Too Complicated to Run? by davecb · · Score: 2, Informative

    You're right, it's almost all in PL/1, with very approximatly the same amount of assembler as Unix. --dave

    --
    davecb@spamcop.net
  48. Re:Too Complicated to Run? by Anonymous Coward · · Score: 2, Interesting

    "Never underestimate the modern potential for recreating old hardware. :)"

    Amen! My Linux box has XMame, Mess, DOSBox, Wine, ZSNES, and SIMH. I can emulate anything from a Super Nintendo to a PDP 11 to an arcade cabinet Tron. Multics should show up in Ubuntu screenshots in oooohhh, about two months.

  49. The last Multics installation by mu51c10rd · · Score: 2, Informative

    Rather amusing, the last Multics in use was with the Canadian military. See here.

  50. Re: Too Complicated to Run? by Eli+Gottlieb · · Score: 2, Insightful

    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.

  51. Well, as a user I kind of disagree by Quadraginta · · Score: 2, Interesting

    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.

  52. Re:Too Complicated to Run? by ctzan · · Score: 2, Informative

    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.

  53. Re:Too Complicated to Run? by SpinyNorman · · Score: 3, Informative

    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.

  54. Re:Father of Unix?...or NT by cburley · · Score: 5, Interesting

    I understand that MULTICS is the father of Primos

    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.
  55. With one of those I could toss the foot pedals... by Kadin2048 · · Score: 2, Interesting

    Finally, a keyboard designed for Emacs!

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  56. Re:Too Complicated to Run? by mwvdlee · · Score: 2, Informative

    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?
  57. Re:Too Complicated to Run? by Burrfoot · · Score: 2, Informative

    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?