- Incompatible Timesharing System
Infobox OS
name = Incompatible Timesharing System
caption =
developer = MIT Artificial Intelligence Laboratory andProject MAC
source_model =
kernel_type =
supported_platforms =PDP-6 ,PDP-10
ui =
family =
released =
latest_release_version =
latest_release_date =
latest_test_version =
latest_test_date =
marketing_target =
programmed_in =Assembly language
prog_language =
language = English
updatemodel =
package_manager =
working_state = Historic
license =
website =ITS, the Incompatible Timesharing System (named in comparison with the
Compatible Time-Sharing System also in use at MIT), was an early, revolutionary, and influentialtime-sharing operating system from MIT; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help fromProject MAC .In addition to being technically influential (both in the operating system itself, as well as applications developed on it), it was one of the projects most important in the original development of the hacker culture (as documented in Steven Levy's book "").
History
ITS development was initiated in the late
1960s by those (the majority of the MIT AI Lab at that time) who disagreed with the direction taken by Project MAC'sMultics project (which had started in the mid 1960s), particularly such decisions as the inclusion of powerful system security. The name was chosen byTom Knight as a hack on the earliest MIT time-sharing operating system, theCompatible Time-Sharing System , which dated from the early 1960s.ITS was written in assembly, and initially developed for the
Digital Equipment Corporation PDP-6 computer, and later moved to thePDP-10 once it became available, where it saw the majority of its development and use.Although not used much after 1982 or so, ITS was run at MIT until 1990, and then until 1995 at the Stacken Computer Club in Sweden. A few instances are still running today for historical interest, almost all on simulated PDP-10's.
ignificant technical features of the OS itself
ITS introduced many revolutionary features:
*It had the first device-independent graphics terminal output; programs generated generic commands to control screen content, which the system automatically translated into the appropriate character sequences for the particular type of terminal operated by the user.
*A general mechanism for implementing virtual devices in software which ran in user processes (which were called "jobs" in ITS).
*Using this mechanism, it provided transparent inter-machine filesystem access (almost certainly the first operating system to do so). The ITS machines were all connected to the ARPAnet, and a user on one could perform the same operations on files on other ITS machines as on local files.
*Sophisticated process management; user processes were organized in a tree, and a superior process could control a large number of inferior processes. Any inferior process could be frozen at any point in its operation, and its state (including contents of the registers) examined; the process could then be restarted transparently.
*An advanced software interrupt facility that allowed user processes to operate asynchronously, using complex interrupt handling mechanisms.
*PCLSRing , a mechanism which provided what appeared (to user processes) to be quasi-atomic, safely interruptible system calls. No process could ever observe any process (including itself) in the middle of executing any system call.
*In support of the AI Lab's robotics work, ITS also supported simultaneous real-time and time-sharing operation.Many of these, and numerous other significant advances, were later picked up by other operating systems.
Important applications developed on ITS
The EMACS ("Editor MACroS") editor was originally written on ITS; in its ITS instantiation, it was a collection of TECO programs (called "macros"). For later operating systems it was written in the common language of those systems. For example, the C language under Unix, and Zetalisp under the Lisp Machine system.
The
GNU info help system was originally an EMACS subsystem, and then was later written as a complete standalone system for Unix-like machines.Several important programming languages and systems were developed on ITS, including MacLisp (the precursor of
Zetalisp andCommon Lisp ),Microplanner (implemented in MacLisp), MDL (which became the basis ofInfocom 's programming environment), and Scheme.Among other significant and influential software subsystems which were developed on ITS, the
Macsyma symbolic algebra system is probably the most important.Terry Winograd 's pioneeringSHRDLU program was also developed in ITS.User environment
The environment seen by ITS users was philosophically significantly different from that provided by most operating systems at the time.
*Initially there were no passwords, and a user could work on ITS without even logging on. Logging on was considered polite, though, so people knew when you were connected.
*To deal with a rash of incidents where users sought out flaws in the system in order to crash it, a novel approach was taken. A command was implemented which anyone could run which caused the system to crash, which took away all the fun and challenge of doing so. It did, however, broadcast a message to say who was doing it.
*All files were editable by all users.
*All users could talk with instant messaging on another's terminal, or they could use a command (SHOUT) to ask all active users for help.
*Users could see what was happening on another's terminal (using a command called "OS" for "output spy"). The user being watched was informed, and could kill the viewer's session (using another command called "JEDGAR", named for FBI DirectorJ. Edgar Hoover ). This facility was later disabled in an interesting way: it looked like the session was killed, but was not. [http://www.catb.org/~esr/jargon/html/os-and-jedgar.html]
*Tourists - guest users either at MIT AI Lab terminals, or over the ARPAnet - were permitted. A policy was later published on tourist access. [http://www.art.net/Studios/Hackers/Hopkins/Don/text/tourist-policy.html] The local spelling "TURIST" is an artifact of six character filename (and other identifier) limitations, which is traceable to the fact that six SIXBIT encoded characters fit in a single 36-bit PDP-10 word. "TURIST" may also have been a pun onAlan Turing Fact|date=March 2008.Miscellaneous
Among numerous interesting features and oddities, the default ITS top-level command interpreter was the PDP-10 machine language debugger (DDT), whose commands looked like line noise to the uninitiated.
Its main editor for many years, TECO, was programmable in a similar-looking gibberish.
The
Jargon File also started out life as a combined effort between people on the ITS machines at MIT, and at SAIL.Original developers
* Richard Greenblatt
*Stewart Nelson
* Tom KnightReferences
"See the annotated [http://www.stswiki.org/wiki/Incompatible_Timesharing_System_bibliography ITS bibliography] on the STS Wiki for a more detailed list of references."
*Eastlake, Donald E. (1969). " [ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-161A.pdf ITS Reference Manual, Version 1.5] ", (MIT AI Laboratory) documents a very early version of the system ("Warning: very large pdf- scanned page images")
*Eastlake, Donald E. (1972). " [ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-238.pdf ITS Status Report] " (MIT AI Laboratory) documents a somewhat later, but still fairly early, version ("Warning, very large pdf- scanned page images")
* [http://zane.brouhaha.com/~healyzh/_info_/its.primer An Introduction to ITS for the MACSYMA User]
*Bawden, Alan (n.d.) " [http://fare.tunes.org/tmp/emergent/pclsr.htm PCLSRing: Keeping Process State Modular] "
*Lin, Yuwei (2004). “ [http://www.acm.org/ubiquity/views/pf/v5i1_lin.pdf Epistemologically Multiple Actor-Centered Systems: or, EMACS At Work!] Ubiquity 5(1). (pdf file)
*Chiou, S; Music, C; Sprague, K; Wahba,R (2001). " [http://mit.edu/6.933/www/Fall2001/AILab.pdf A Marriage of Convenience: The Founding of the MIT Artificial Intelligence Laboratory] ." (pdf)
*Williams, S. (2002). " [http://www.faifzilla.org/toc.html Free as in Freedom: Richard Stallman's Crusade for Free Software.] " Petaluma, CA: O'Reilly.External links
* [http://zane.brouhaha.com/~healyzh/sysdoc/sysdoc.html ITS System Documentation]
* [http://its.svensson.org/ SV: A simulated ITS system running online and open for logins]
* [http://www.its.os.org/ file system images of various ITS machines, including source and documentation of the final system]
* [http://klh10.trailing-edge.com/ Ken Harrenstien's PDP-10 simulator]
* [http://www.cosmic.com/u/mirian/its/ instructions allowing ITS to run on aPDP-10 emulator.]
* [http://web.onetel.com/~hibou/ITS.html Donald Fisk's ITS info]
* [http://www.art.net/Studios/Hackers/Hopkins/Don/text/tourist-policy.html (Historical) Tourist access policy in ITS at MIT.]
* [http://catb.org/~esr/jargon/html/I/ITS.html Jargon File Entry]
Wikimedia Foundation. 2010.