Multics > Library
25 Sep 2021

Source Code

History | People | Library | Sites | About Search

Index to the Complete Source of Multics

(2007) A complete copy of the source code of Multics is now available at MIT, thanks to Bull.
An index to these source files is available on this site. (05/23/01, 444K).
This index shows all 5877 source files from Multics release MR 12.5.

Changes to Multics for the Multics Simulator

(2021) Multics Release 12.7 is now available for use on the DPS8M simulator. This release is based on the Bull software, with changes to fix bugs and enhance usability. Eric Swenson was the release coordinator. Changes are discussed on dps8m-users, dps8m-developers, and on Multicians@groups.io.

GitHub Source Repository

(2021) Dan Cross and Doug Wells created a Release 12.7 GitHub repository for the release. This archive was created by Doug using mxload; it replaces Multics archive files with subdirectories. You can easily download the entire source of Multics to your own computer.

Adam Sampson created a repository on GitLab with the sources of all releases we've been able to locate.

Selected Multics Source Programs

(1999) Here is a small selection of nine Multics source files, rescued from a mangled copy of the system source formerly hosted at MIT. These modules are presented for nostalgia and study, and should not be incorporated into any contemporary operating system without the advice of a trained professional.

activate.pl1

The piece of segment control that makes an AST entry for a segment and brings its page table into core.

link_snap.pl1

This piece of the linker is called in response to a linkage fault. It finds the link target and "snaps" the link.

pxss.alm

Process Exchange Switch Stack, the Multics scheduler and dispatcher.

fim.alm

Fault Interceptor Module. This program is entered from the hardware fault vector when the CPU takes a fault.

vtoc_man.pl1

The VTOC manager. See The New Storage System and It Can Be Done for a description of the functions of this module.

dialup_.pl1

The main event loop of the answering service.

bound_info_rtns_.s.archive

An archive containing the source for eight commands and four subroutines involved with presenting information to the user. check_info_segs, help, help_, list_help, list_ref_names, print_motd, resource_usage, ring0_get_, user_info_ system_info_, who, where.

calendar.pl1

This application program prints a wall calendar. See especially Dennis Capps's lengthy comments on the Easter routine.

bigletter_.pl1

A subroutine to print "big letters," used by the I/O Daemon's head and tail page.