Incompatible Timesharing System
GPL[2] |
---|
Incompatible Timesharing System (ITS) is a
ITS, and the software developed on it, were technically and culturally influential far beyond their core user community. Remote "guest" or "tourist" access was easily available via the early
History
ITS development was initiated in the late 1960s by those (the majority of the MIT AI Lab staff at that time) who disagreed with the direction taken by Project MAC's Multics 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.[3]
By simplifying their system compared to Multics, ITS's authors were able to quickly[clarification needed] produce a functional operating system for their lab.[4] ITS was written in assembly language, originally for the Digital Equipment Corporation PDP-6 computer, but the majority of ITS development and use was on the later, largely compatible, PDP-10.[3]
Although not used as intensively after about 1986, ITS continued to operate on original hardware at MIT until 1990, and then until 1995 at Stacken Computer Club in Sweden. Today, some ITS implementations continue to be remotely accessible, via emulation of PDP-10 hardware running on modern, low-cost computers supported by interested hackers.
Significant technical features
ITS introduced many then-new features:
- The first graphics terminaloutput; 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 running in user processes (which were called "jobs" in ITS).
- Using the virtual-device mechanism, ITS provided transparent inter-machine filesystem access. The ITS machines were all connected to the ARPAnet, and a user on one machine could perform the same operations with files on other ITS machines as if they were 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 resumed transparently.
- An advanced interrupt handlingmechanisms.
- 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.
User environment
The environment seen by ITS users was philosophically significantly different from that provided by most operating systems at the time.[3]
- Initially there were no passwords, and a user could work on ITS without logging on.[5]Logging on was considered polite, though, so people knew when one was 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 that caused the system to crash was implemented and could be run by anyone, 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, including online documentation and source code. A series of informal papers and technical notes documented new commands, technical issues, primitive games, mathematical puzzles, and other topics of interest to the ITS hacker community. Some were issued as more formal AI Memos, including the HAKMEM compendium.
- 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 after FBI Director J. Edgar Hoover. This facility was later disabled with a placebo command: it appeared as if the remote session was killed, but it was not.[6]
- Tourists (guest users either at MIT AI Lab terminals, or over the ARPAnet) were tolerated and occasionally invited to actively join the ITS community. Informal policy on tourist access was later formalized in a written policy.[7] Ease of access, with or without a guest account, allowed interested parties to informally explore and experiment with the operating system, application programs, and "hacker" culture. Working copies of documentation and source code could be freely consulted or updated by anybody on the system.
- System security, to the extent that it existed, was mostly-based on de facto "security by obscurity". Guest hackers willing to dedicate significant time and effort to learning ITS were expected to behave respectfully, and to avoid interfering with the research projects which funded the hardware and software systems. There was little of exclusive value on the ITS systems except information, much of which would eventually be published for free distribution, and open and free sharing of knowledge was generally encouraged.
The wide-open ITS philosophy and collaborative community were the direct forerunner of the free and open-source software, open-design, and Wiki movements.[8][9][10]
Important applications developed on ITS
The
GNU‘s 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
.Among other significant and influential software subsystems developed on ITS, the Macsyma symbolic algebra system, started in 1968, was the first widely-known mathematical computing environment. It was a forerunner of Maxima, MATLAB, Wolfram Mathematica, and many other computer algebra systems.
Terry Winograd's SHRDLU program was developed in ITS. The computer game Zork was also originally written on ITS.
Richard Greenblatt's Mac Hack VI was the top-rated chess program for years[citation needed] and was the first to display a graphical board representation.[citation needed]
Miscellaneous
The default ITS top-level
The local spelling "TURIST" is an artifact of six-character filename (and other identifier) limitations, which is traceable to six
The
Different implementations of ITS supported an odd array of peripherals, including an automatic wire stripper devised by hacker Richard Greenblatt, who needed a supply of pre-stripped jumper wires of various lengths for
The Xerox Graphics Printer (XGP), one of the first laser printers in the world, was supported by ITS by 1974.[14] The MIT AI Lab had one of these prototype continuous roll-fed printers for experimentation and use by its staff. By 1982, the XGP was supplemented by a Xerox Dover printer, an early sheet-fed laser printer.[15] Although any ITS user could access the laser printers, physical access to pick up printouts was limited to staff, to control usage of printer supplies which had to be specially ordered.
CTSS and ITS file systems have a number of design elements in common. Both have an M.F.D. (master file directory) and one or more U.F.D. (user file directories). Neither of them have nested directories (sub-directories) Both have file names consisting of two names which are a maximum of six-characters long. Both support linked files.
Original developers
- Richard Greenblatt
- Stewart Nelson
- Tom Knight
- Richard Stallman
See also
References
- ^ Project MAC Progress Report IV (PDF). 1967. p. 18. Archived from the original (PDF) on March 8, 2016.
- ^ "README". MIT CSAIL. n.d. Retrieved November 10, 2022.
- ^ ISBN 978-1449388393.
- OCLC 221248143.
- hdl:1721.1/6194.
- ^ Eric S. Raymond, ed. (December 29, 2003). "OS and JEDGAR". The Jargon File (4.4.7 ed.). Retrieved December 21, 2009.
- ^ "MIT AI Lab Tourist Policy". January 15, 1997. Retrieved December 21, 2009.
- ^ Pan, Guohua; Bonk, Curtis J. (April 2007). "A Socio-Cultural Perspective on the Free and Open Source Software Movement". International Journal of Instructional Technology & Distance Learning. 4 (4). Archived from the original on 2014-10-12. Retrieved 2014-06-02.
- ISBN 9781882114986. Retrieved 2014-06-02.
- ^ "History of OSS". Software Development for the Masses. Retrieved 2014-06-02.
- ^ "turist". Dictionary.com. TuristDictionary.com, LLC. Retrieved 2014-06-04.
- ^ "luser". Dictionary.com. Dictionary.com, LLC. Retrieved 2014-06-04.
- ^ "The Original Hacker's Dictionary". dourish.com. Paul Dorish. Retrieved 2014-06-16.
- ^ "XGP Font Catalog" (PDF). MIT Dspace. Massachusetts Institute of Technology. May 24, 1974. Retrieved 2021-08-20.
- ^ Stacy, Christopher C. (7 September 1982). "Getting Started Computing at the Al Lab" (PDF). MIT Dspace. Massachusetts Institute of Technology. Retrieved 2021-08-20.
Bibliography
- Eastlake, D; Greenblatt, R; Holloway, J; Knight, T; Nelson, S (July 1969). ITS Reference Manual, Version 1.5 (PDF). MIT AI Laboratory. Archived (PDF) from the original on 16 March 2022.
- An Introduction to ITS for the MACSYMA User
- Bawden, Alan (December 29, 2000). "PCLSRing: Keeping Process State Modular". Retrieved December 21, 2009.
- Lin, Yuwei (February 24, 2004). "Epistemologically Multiple Actor-Centered Systems: or, EMACS At Work". Ubiquity. 5 (1). Association for Computing Machinery. Retrieved December 21, 2009.
- Chiou, Stefanie; Music, Craig; Sprague, Kara; Wahba, Rebekah (December 16, 2001). "A Marriage of Convenience: The Founding of the MIT Artificial Intelligence Laboratory" (PDF). Retrieved December 21, 2009.
- Williams, Sam (2002). Free as in Freedom: Richard Stallman's Crusade for Free Software. Petaluma, CA: ISBN 978-0-596-00287-9. Retrieved December 21, 2009.