[from "MULTiplexed
Information and Computing Service"] An early time-sharing
operating system co-designed by a consortium including MIT,
GE, and Bell Laboratories as a successor to CTSS. The design
was first presented in 1965, planned for operation in 1967,
first operational in 1969, and took several more years to achieve
respectable performance and stability.

Multics was very innovative for its time -- among other things, it
provided a hierarchical file system with access control on
individual files and introduced the idea of treating all devices
uniformly as special files. It was also the first OS to run on a
symmetric multiprocessor, and the only general-purpose system to be
awarded a B2 security rating by the NSA (see Orange Book).

Bell Labs left the development effort in 1969 after judging that
second-system effect had bloated Multics to the point of
practical unusability. Honeywell commercialized Multics in
1972 after buying out GE's computer group, but it was never very
successful: at its peak in the 1980s, there were between 75 and 100
Multics sites, each a multi-million dollar mainframe.

One of the former Multics developers from Bell Labs was Ken
Thompson, and Unix deliberately carried through and extended
many of Multics' design ideas; indeed, Thompson described the very
name `Unix' as `a weak pun on Multics'. For this and other
reasons, aspects of the Multics design remain a topic of occasional
debate among hackers. See also brain-damaged and
GCOS.

MIT ended its development association with Multics in 1977.
Honeywell sold its computer business to Bull in the mid 80s, and
development on Multics was stopped in 1988. Four Multics sites
were known to be still in use as late as 1998, but the last one (a
Canadian military site) was decomissioned in November 2000. There
is a Multics page at
http://www.stratus.com/pub/vos/multics/tvv/multics.html.

All Multics documentation and books prior to 1974 or so are pretty much wrong. Multics was actually written in PL/1, EPL was used for only the early systems, while waiting for the full PL/1 compiler.

When they moved from the GE 645 (software rings, etc.) to the GE 6185 (hardware rings, etc.) they went to 8 rings. By the end of Multics releases, the OS was quite mature, supported databases, and pretty much erverything that UNIX would like to have (Multics didn't have pipes, though).

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

Multics was an early operating system, a sort of spiritual ancestor to UNIX. It was one of the first operating systems that focused heavily on interactive operation, rather than executing batch jobs like the GE and IBM mainframe systems of the day. It never achieved the level of success that was hoped for, and ended up sold to Honeywell. Honeywell proceeded to neglect it for the next several years, focusing on the GCOS system they had acquired from GE. Multics did influence the GCOS systems, with GCOS 6 and GCOS 7 being more or less direct descendants of it, but as a standalone product was gradually phased out in the 80's. It lives on today in the forms of NEC ACOS-2, Bull GCOS 7, and Stratus VOS, all of which are direct descendants of the Multics operating system. The main programming environment on Multics was (and to some extent still is) PL/I, which hasn't exactly helped its continuing legacy.