Source Code to MULTICS Released!

Seen on Slashdot. MIT has released the source code for the MULTICS operating system, ancestor to UNIX and its derivatives such as GNU, Linux, Minix, and the various BSDs.

MULTICS was born in the days when the concept of time-sharing was the big new thing. Before time-sharing operating systems came on the scene, computers and their operating software were designed to run one program at a time. At that time, computers tended to be big hulking machines that (together with the necessary air-conditioning equipment) filled entire rooms. Since different users couldn’t interact with the computer at the same time, users typically weren’t allowed to interact directly with the computer at all. Instead, users submitted “jobs” for the computers to perform, to system operators who would arrange for the jobs to be run in a “batch”, and then at some point the user would come to fetch the printed output from the job they had submitted. Naturally, this could be very frustrating for users who would submit a program to be run, only to discover hours later that a small bug in their code had prevented it from doing its job.

Time-sharing was born out of the observations that: (1) direct, interactive use of a computer was a far less-frustrating experience than the batch-processing style of non-interactive computer use; and (2) a very large portion of the time spent interacting with a computer is actually wasted on the computer sitting idly, waiting for further input from the user. System designers reasoned that the “idle time” from one user could be put to good use in servicing the requests of another user, and thus time-sharing was born. Of course, it was no time at all until companies began to sell access time on time-sharing machines to users who were willing to pay for a few hours’ access to a mainframe via a terminal.

The legacy of time-sharing is seen today, even in computer systems designed primarily for single-user-at-a-time use, in such technologies as what is usually termed multitasking or multiprocessing (fifteen years ago, these concepts were a really big deal, as most personal computer systems lacked them; now, they are an essential—and assumed—part of every major operating system). The fact that modern machines can host multiple different network services (such as web, ftp, mail and the like) to potentially hundreds of users at a time, is due to earlier developments of time-sharing.

One thought on “Source Code to MULTICS Released!

  1. Micah Post author

    The fact that time-sharing, and Unix, were born in an era when people put them to use by selling accounts and access to people willing to pay for them, or provided to potentially mischievous or less-than-well-intentioned university students, is why I found it someone amusing that someone would make the assertion that Unix accounts should only ever be given to people who are implicitly trustworthy, as one anonymous commentor (who went by “Nat”, and was more than a bit abusive) did. (Or chrooted, which is a largely ineffective method to lock down the ability for a user to cause mischief on a Unix system)

    Nat still stuck to this novel concept, even after I pointed this problem out (more briefly); but I did not leave the response up, as it consisted of more vitriol than content, and I don’t care to patronize trolls.

Comments are closed.