Multics is the successor to CTSS, the Compatible Time-Sharing System*, and the direct ancestor to Unix. Unix was called UNICS early in its life because its name started out as a pun: Multics was the MULTiplexed Information and Computing Service, so the much smaller and more primitive UNICS would naturally be the UNiplexed Information and Computing Service. This was more apt when UNICS was essentially a single-user OS written in assembly and running on a PDP-7 that was obsolete even then.

Note that the final word in the expansion is 'Service', not 'System'. The goal of the Multics project was to provide computing power as a utility, much like the phone service and electrical power. They set out to craft a system that would give extremely reliable, secure service to large numbers of people connecting via terminals to high-end mainframes. They achieved an amazing amount, especially given the limitations of the era.

Multics was written in PL/I, which was a programming language crafted with goals as ambitious as those for Multics. PL/I was intended to be the one true programming language, the one that included every feature anyone would ever need implemented in a modern, Algol-derived syntax to forever bring us out of the bondage to line-oriented languages like FORTRAN and COBOL. PL/I was in some ways the Java of its era: It was designed to be portable, complete, easy-to-use, and suitable for building any kind of software. (Of course, nobody would write an OS in Java.) The fact that PL/I, so widely hailed and so talked-about in its own time, has completely sunk beneath the waves should give us pause and make us consider which current crazes are going to evaporate like the morning dew.

(Very little in computing ever completely dies. According to FOLDOC, PL/I is still widely used internally at IBM. There have been many variants and subsets to see serious use, as well: A stripped-down variant called PL/M was used to implement CP/M, and PL/M will live on as long as there is a CP/M hobbyist community.)

Multics racked up an impressive array of firsts:

  • The first hierarchical file system. Every directory tree today owes a debt of gratitude to Multics.
  • The first filesystem with ACLs on every entry. This is essential if you want a multi-user system that even pretends to be secure. (Access control lists control access to files and prevent unauthorized tampering.)
  • The first OS to get a B2 security rating from the US government. This is due to the above point.
  • The first modern shell. By this I mean that the command interpreter was a normal userland program, not wired-in to the OS. Unix took this idea and ran with it, giving us shells from ash to zsh and Holy Wars beyond measure.
  • The first modern command lanugage. The Multics shell recognized a language recognizably similar to that recognized by a DOS, Unix, or VMS shell: Most commands launched programs, instead of the prior practice of making all commands built-ins and requiring a specific command to run another program.
  • The first commercial relational database product. Oracle owes its business model to Multics.

According to multicians.org ( http://multicians.org/myths.html#hll ), Multics was not the first OS to be written in a high-level language. The Burroughs system for the B5000 was written in Algol and preceded Multics. Algol is a seminal language in its own right, introducing the concept of block-structuring and defining the general look and feel of most mainstream programming languages to come.

Multics was only mildly commercially successful, and never lived up to its full potential in the real world. It was, however, used for decades in niche roles: The last Multics system, used by the Canadian military, was shut down in 2000. Technically it was almost 100% successful: The only flaw in that regard is that it was never quite as reliable as the phones or electrical power, a goal no OS before or since has set out to achieve. What killed Multics was corporate politics and the large-scale replacement of mainframes with minicomputers and then microcomputers.

Unix is the heir to Multics despite being its near-polar opposite in original intent and design philosophy: Unix was created for cheap machines, as opposed to the expensive mainframes Multics required, and it was aimed at becoming a usable system as quickly as possible, whereas Multics was meant to be highly reliable and generally flawless. Unix has achieved enormous success despite, or perhaps because of, never fully replicating the Multics feature set. Computing has moved on since Multics, and it's easier to take a small system in a new direction than a large one. Linux, a Unix clone, is in TiVos around the world now; Multics would never have lived in a set-top box.

* What was CTSS 'Compatible' with? A FORTRAN batch system that could run in the background at nearly full efficiency while CTSS ran in the foreground. It's a testament to how quickly interactive computing caught on that Multics and Unix never had to share their machines with background batch systems. (On the other hand, batch held on for years after Unix was relatively well-established and some IBM operating systems (such as MVS) are still optimized to run batch jobs at high efficiency.)