Skip to content

dancrossnyc/multics

Repository files navigation

Source code for Multics Release 12.7

Multics is a pioneering operating system, commonly considered the "progenitor" of the UNIX operating system.

This directory tree contains most of the source code for Multics Release 12.7. MR12.7 is the most recent release of Multics(*). It is based on the source code for the original Multics, which was generously donated to MIT by Bull HN, and which was subsequently posted on the web.

A dedicated group of Multicians used that source code to reconstruct a version of Multics that runs on the dps8m simulator. There have been several subsequent releases to fix various minor bugs and to add features that simplify interaction with currently popular systems.

The copyright status of this source code is complicated. See the COPYRIGHT.md or COPYRIGHT.html files.

The enhanced version of Multics is self-hosting using the same filesystem hierarchy structure used in original Multics. The source code herein has been copied from an operating instance of MR12.7. It has had to be pieced together due to some quirks of the adaptation of tapes. (In the original Multics, dump tapes would have been mounted and ummounted by human operators. dps8m does not simulate those humans.)

Archive Contents

The Multics source code herein was obtained as follows:

  • A Multics system was created using normal installation and upgrade procedures.

  • The >library_dir_dir, >documentation, and >sl3p hierarchies were dumped (using the normal backup_dump tool) to (simulated) tape. This was done as multiple subsets, so some files might have been accidentally skipped.

  • The contents of those tapes was extracted using mxload. This tool performs numerous transformations to adapt Multics filesystem conventions to Unix filesystem conventions. The most notable are that: 1) it converts '>' to '/' in pathnames; and 2) it converts Multics ".archive" files into a directory containing the components as separate files.

  • The "object" directories have been excluded. These directories contain a form of Multics object files. They are large and there are few tools on non-Multics systems to deal with them. (If you want to analyze these files, you probably need to do that on an actual running Multics system.) This general exclusion does also exclude ".bind" files, which are similar to link editor files on other systems, but these are rarely useful in understanding the Multics system.

  • The resulting hierarchy was archived and compressed, then imported into a git repository.

Bug Reports and Discussion

Any problems should be submitted to: dmw DOT technical AT gmail DOT com

(210726 - dmw)