ITS

Incompatible Time Sharing system.

The operating system built and used at the MIT AI Lab, and the centre of the earliest hacker culture. (By way of balance, the other hacker cultures grew up later around Bell Labs and Unix, Xerox PARC and Smalltalk, and microcomputers and Basic.)

ITS ran on PDP-10s and was almost entirely written in assembly language. The last PDP-10 running ITS at MIT was decommissioned in 1990. Another machine continued to run ITS at the Stacken Computer Club in Sweden until 1995.

Nowadays, ITS runs on the KLH10 simulator (and, also, somewhat flakily, on the SIMH). KLH10 is available from http://klh10.trailing-edge.com/, but the Maclisp system is corrupted and should be replaced by the equivalent files at http://www.its.os.org/, which contains snapshots of the file system (excluding personal directories) on doomsday.

Several very important systems were developed on ITS: Maclisp, Macsyma, Teco, Emacs and Info. Info was the first working distributed hypertext system (and indeed the first wiki), preceding the World Wide Web by around 15 years.

The operating system itself had some interesting features, notably PCLSRing (see PCLSRing: Keeping Process State Modular).

You might wonder whether ITS is anything other than a museum piece. After all, Dennis Ritchie wrote in The UNIX-HATERS Handbook, "The systems you remember so fondly (TOPS-20, ITS, Multics, Lisp Machine, Cedar/Mesa, the Dorado) are not just out to pasture, they are fertilizing it from below." But ITS lives on among a small band of enthusiasts (on top of Unix (sigh)), quality has no correlation with popularity, and in my experience the only things making even modern Unices tolerable are the presence of Emacs (guess which operating system that started out life on) and a decent windows manager (allowing them to compete with Microsoft Windows). Take those away, Unix becomes an unpleasant experience and ITS wins hands down. See ITS-Unix Comparison.

A peeve of mine has been that the amount of effort spent getting Unix running on Intel hardware has vastly exceeded the effort that would have been expended getting ITS running natively on modern hardware. We're still waiting on a stable HURD (and by the way, what happened to RMS's promise of Lisp as a system language?). Meantime, Andrew Tanenbaum released Minix, and Linus Torvalds released Linux. Each of these is a complete rewrite of the original Unix. ITS could have been ported by getting the MIDAS back end to generate Intel machine instructions (at some loss of efficiency, but you get that with C too) for a 32 bit address space, and then simply compiling the ITS source.

In gratitude for those who got ITS running again, I wrote two programs to run on ITS: ITSter.txt, a clone of Tetris which is written in Maclisp, and life.txt, which is written in Midas (PDP-10 assembler).


This page was linked to from

and was last updated on 2006-01-14 at 03:56.

© Copyright Donald Fisk 2006