Incompatible Timesharing System
Encyclopedia
ITS, the Incompatible Timesharing System (named in comparison with the Compatible Time-Sharing System also in use at MIT), was an early, revolutionary, and influential time-sharing
Time-sharing
Time-sharing is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing.By allowing a large...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 from MIT
Massachusetts Institute of Technology
The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...

; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help from Project 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 Hackers
Hackers: Heroes of the Computer Revolution
Hackers: Heroes of the Computer Revolution is a book by Steven Levy about hacker culture. It was published in 1984 in Garden City, New York by Anchor Press/Doubleday...

).

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's Multics
Multics
Multics was an influential early time-sharing operating system. The project was started in 1964 in Cambridge, Massachusetts...

 project (which had started in the mid 1960s), particularly such decisions as the inclusion of powerful system security. The name was chosen by Tom Knight as a joke on the name of the earliest MIT time-sharing operating system, the Compatible Time-Sharing System, which dated from the early 1960s.

ITS was written in assembly
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

, and initially developed for the Digital Equipment Corporation
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

 PDP-6
PDP-6
The PDP-6 was a computer model developed by Digital Equipment Corporation in 1963. It was influential primarily as the prototype for the later PDP-10; the instruction sets of the two machines are almost identical.The PDP-6 was DEC's first "big" machine...

 computer, and later moved to the PDP-10
PDP-10
The PDP-10 was a mainframe computer family manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10". The first model was delivered in 1966...

 once it became available, where it saw the majority of its development and use.

Although not used much after about 1982, ITS was run at MIT until 1990, and then until 1995 at Stacken Computer Club in Sweden. A few instances are still running today for historical interest, almost all on simulated PDP-10's.

Significant 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
    Distributed file system
    Network file system may refer to:* A distributed file system, which is accessed over a computer network* Network File System , a specific brand of distributed file system...

     (almost certainly the first operating system to do so). The ITS machines were all connected to the ARPAnet
    ARPANET
    The Advanced Research Projects Agency Network , was the world's first operational packet switching network and the core network of a set that came to compose the global Internet...

    , 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
    PCLSRing
    PCLSRing is the term used in the ITS operating system for a consistency principle in the way one process accesses the state of another process.- Problem scenario :This scenario presents particular complications:...

    , 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
    Real-time computing
    In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

     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
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...

 ("Editor MACroS") editor was originally written on ITS; in its ITS instantiation, it was a collection of TECO
Text Editor and Corrector
TECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'...

 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
GNU
GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...

 info
Info (Unix)
info is a software utility which forms a hypertextual, multipage documentation and help viewer working on a command line interface, useful when there is no GUI available....

 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
Maclisp
MACLISP is a dialect of the Lisp programming language. It originated at MIT's Project MAC in the late 1960s and was based on Lisp 1.5. Richard Greenblatt was the main developer of the original codebase for the PDP-6; Jonl White was responsible for its later maintenance and development...

 (the precursor of Zetalisp and Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

), Microplanner
Microplanner
Microplanner may refer to:* Micro-Planner , an artificial intelligence programming language of the 1970s, a subset implementation of Planner* MicroPlanner X-Pert, a project management software package...

 (implemented in MacLisp), MDL
MDL programming language
MDL is a descendant of the Lisp Programming language. Its initial purpose was to provide high level language support for the Dynamic Modeling Group at MIT's Project MAC...

 (which became the basis of Infocom
Infocom
Infocom was a software company, based in Cambridge, Massachusetts, that produced numerous works of interactive fiction. They also produced one notable business application, a relational database called Cornerstone....

's programming environment), and Scheme.

Among other significant and influential software subsystems which were developed on ITS, the Macsyma
Macsyma
Macsyma is a computer algebra system that was originally developed from 1968 to 1982 at MIT as part of Project MAC and later marketed commercially...

 symbolic algebra system is probably the most important. Terry Winograd
Terry Winograd
Terry Allen Winograd is an American professor of computer science at Stanford University, and co-director of the Stanford Human-Computer Interaction Group...

's pioneering SHRDLU
SHRDLU
SHRDLU was an early natural language understanding computer program, developed by Terry Winograd at MIT from 1968-1970. In it, the user carries on a conversation with the computer, moving objects, naming collections and querying the state of a simplified "blocks world", essentially a virtual box...

 program was also developed in ITS. The game Zork
Zork
Zork was one of the first interactive fiction computer games and an early descendant of Colossal Cave Adventure. The first version of Zork was written in 1977–1979 on a DEC PDP-10 computer by Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling, and implemented in the MDL programming language...

 was also originally written on 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"). A target of OS could detect and kill it using another command called JEDGAR, named for FBI
    Federal Bureau of Investigation
    The Federal Bureau of Investigation is an agency of the United States Department of Justice that serves as both a federal criminal investigative body and an internal intelligence agency . The FBI has investigative jurisdiction over violations of more than 200 categories of federal crime...

     Director J. Edgar Hoover
    J. Edgar Hoover
    John Edgar Hoover was the first Director of the Federal Bureau of Investigation of the United States. Appointed director of the Bureau of Investigation—predecessor to the FBI—in 1924, he was instrumental in founding the FBI in 1935, where he remained director until his death in 1972...

    ). This facility was later disabled in an interesting way: it looked like the session was killed, but was not.
  • Tourists - guest users either at MIT AI Lab terminals, or over the ARPAnet - were permitted. A policy was later published on tourist access. 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
    Sixbit
    Six-bit character codes were designed for use on computers with word lengths a multiple of 6. Six bits can only encode 64 distinct characters, so these codes generally include only the upper-case letters, the numerals, some punctuation characters, and sometimes control characters...

     characters fit in a single 36-bit PDP-10 word. "TURIST" may also have been a pun on Alan Turing
    Alan Turing
    Alan Mathison Turing, OBE, FRS , was an English mathematician, logician, cryptanalyst, and computer scientist. He was highly influential in the development of computer science, providing a formalisation of the concepts of "algorithm" and "computation" with the Turing machine, which played a...

    .

Miscellaneous

The default ITS top-level command interpreter was the PDP-10 machine language debugger (DDT
Dynamic debugging technique
Dynamic Debugging Technique, or DDT, was the name of several debugger programs originally developed for DEC hardware, initially known as DEC Debugging Tape because it was distributed on paper tape. The name is a pun on the insecticide Dynamic Debugging Technique, or DDT, was the name of several...

). The usual text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....

 on ITS was TECO
Text Editor and Corrector
TECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'...

 and later Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...

, which was written in TECO. Both DDT and TECO were implemented through simple dispatch table
Dispatch table
In computer science, a dispatch table is a table of pointers to functions or methods. Use of such a table is a common technique when implementing late binding in object-oriented programming.-Perl implementation:...

s on single-letter commands, and thus had no true syntax
Syntax of programming languages
In computer science, the syntax of a programming language is the set of rules that define the combinations of symbols that are considered to be correctly structured programs in that language. The syntax of a language defines its surface form...

.

The Jargon File
Jargon File
The Jargon File is a glossary of computer programmer slang. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab and others of the old ARPANET AI/LISP/PDP-10 communities, including Bolt, Beranek and Newman, Carnegie Mellon...

 started as a combined effort between people on the ITS machines at MIT and at SAIL.

Original developers

  • Richard Greenblatt
    Richard Greenblatt (programmer)
    Richard D. Greenblatt is an American computer programmer. Along with Bill Gosper, he may be considered to have founded the hacker community, and holds a place of distinction in the Lisp and the MIT AI Lab communities.-Childhood:...

  • Stewart Nelson
  • Tom Knight

External links


The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK