Multics 838 sections, 821 online
19 Apr 2024


Multics Close ⊗

Early Multics Development and the MSPM

manuals in a case

MSPM on display at the MIT Museum MIT150 exhibit in 2011. Photo by Dave Walden. Click for a larger view. More photos by Chris Devers on Flickr.

From 1965 to about 1969, the Multics development team at MAC, GE, and BTL wrote the Multics System Programmers' Manual (MSPM). It was intended to be the primary design document for Multics. It was about 3000 pages; every section went through serious peer review and many sections were rewritten or deeply revised several times.

While waiting for the PL/I compiler to become available in 1965 and 1966, the team designed Multics and documented the design in the MSPM, which grew to over 800 sections and about 3000 pages.

The MSPM contained functional requirements, high-level design, and implementation plans for Multics. When we actually started building and integrating the system, we discovered that some of the MSPM designs were far too complex. Simpler, more efficient facilities were built instead, sometimes as interim measures intended to evolve into the full design eventually, and sometimes as recognition that the original plan attempted too much. The MSPM was updated to reflect some of the early redesigns, but quickly got behind.

Section numbers of the MSPM begin with B, like "BA.1." This is homage to the CTSS manual, the CTSS Programmer's Guide, whose second edition's sections all begin with A.

Much of the MSPM is science fiction, describing features that might work one day in the future; some were never done. (One early I/O System design section mentioned the "on-line peripheral oil well.") Other parts of it provided high level functional specs for cool facilities we never did have time to build, e.g. the reserver. Other parts had low-level PL/I declarations of code that might or might not compile. In modern terms, the MSPM was a kind of requirements document, describing what Multics should do once built, intermixed with internal design documents specifying how to build the functions.

It is important to understand that the MSPM writing exercise was a step toward Multics, and that almost none of the design in the MSPM was implemented as written. But we would not have had as good a system without it: the MSPM represented an innovation in Process, a balance between formality, writing things down, peer review and imprecision, detail hiding, leaving specifics till later.

MSPM sections were handwritten by programmers, and then typed by secretaries on hectograph masters. Blue hectograph copies of a document were unapproved, and provisional. After design review, the official versions of documents were retyped on paper tape using Friden 2201 Flexowriters, proofread by the programmers, and then the paper tapes were used to produce mimeograph masters. Official versions of documents had black ink. CTSS was not used for system documentation, because it was too expensive. Xerography was not used for reproduction because it was expensive and unreliable. The Flexowriter tapes appear to have been discarded.

As sections were produced, they were distributed to every member of the project team. The MSPM occupied ten or twelve four-inch three-ring binders, more than one shelf of a standard office bookcase. Just keeping up with filing the updates took substantial time. As a result, each person's copy of the MSPM may have some variations.

The table below does not include section BS, System Module Abstracts. That section consisted of one-page writeups for actual code as we really began building and integrating the system in 1966-68. The idea was that we would update the MSPM as we actually wrote code, to produce a system and documentation that matched it. We fell behind rapidly. Management insisted that we at least have a one-page abstract for everything in the system, and that may have been true for a short time.

There is a Chart showing how many sections each author contributed to.

The table below is derived from data provided by the The Multics History Project. When they had multiple scans of the same section, I chose the last one. In the case of sections that got renamed, this may have caused some duplicates.

The copy of the MSPM that was scanned is the one that was found on Prof. Jerry Saltzer's bookshelf in the spring of 2006. Since the MSPM was a frequently-updated loose-leaf notebook there is no reason to believe that this copy is identical to any other copy, but since Jerry acted as the editor of the MSPM it is probably as authoritative as any version to be found.

Thanks to Eric Swenson, this copy is now available online. Thanks to Paul McJones for adding OCR text to the PDF files.

In September 2018, the MIT-Multics Archives were donated to the Living Computer Museum in Seattle. This includes 11 boxes of tapes, 58 boxes of Multics and CTSS documentation and listings, and a handful of miscellaneous items.

Table of Contents