Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Incompatible Timesharing System
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Operating system}} {{Infobox OS | name = Incompatible Timesharing System (ITS) | logo = | screenshot = | caption = | developer = [[MIT Artificial Intelligence Laboratory]] and [[Project MAC]] | source_model = | kernel_type = | supported_platforms = Digital [[PDP-6]], [[PDP-10]], ([[Emulator|emulators]] now available) | ui = [[Command-line interface]] ([[Dynamic debugging technique|DDT]]) | family = | released = {{Start date and age|1967|07}}<ref>{{cite book|title=Project MAC Progress Report IV|date=1967|pages=18|url=http://www.dtic.mil/dtic/tr/fulltext/u2/681342.pdf |url-status=dead|archive-url=https://web.archive.org/web/20160308100743/http://www.dtic.mil/dtic/tr/fulltext/u2/681342.pdf |archive-date=March 8, 2016}}</ref> | latest_release_version = | latest_release_date = | latest_test_version = | latest_test_date = | repo = {{URL|https://github.com/PDP-10/its}} | marketing_target = | programmed_in = [[Assembly language]] | prog_language = | language = [[English language|English]] | updatemodel = | package_manager = | working_state = Active | license = [[GPL-3.0-or-later]]<ref>{{cite web |url=https://groups.csail.mit.edu/mac/ftpdir/its/README |title=README |author=<!--Not stated--> |date=n.d. |website=MIT CSAIL |access-date=November 10, 2022}}</ref> | website = }} '''Incompatible Timesharing System''' ('''ITS''') is a [[time-sharing]] [[operating system]] developed principally by the [[MIT Artificial Intelligence Laboratory]], with help from [[Project MAC]]. The name is the jocular complement of the MIT [[Compatible Time-Sharing System]] (CTSS). 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 [[ARPANET]], allowing many interested parties to informally try out features of the operating system and application programs. The wide-open ITS philosophy and collaborative online community were a major influence on the [[hacker culture]], as described in Steven Levy's book ''[[Hackers: Heroes of the Computer Revolution|Hackers]]'',<ref name="LevyWL"/> and were the direct forerunners of the [[free and open-source software]] (FOSS), [[Open-design movement|open-design]], and [[Wiki]] movements. ==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 [[computer security|system security]]. The name was chosen by [[Tom Knight (scientist)|Tom Knight]] as a joke on the name of the earliest MIT time-sharing operating system, the [[Compatible Time-Sharing System]] (CTSS), which dated from the early 1960s.<ref name=LevyWL>{{cite book|last1=Levy|first1=Steven|title=Hackers: Heroes of the Computer Revolution - 25th Anniversary Edition|url=https://archive.org/details/hackersheroescom00levy_989|url-access=limited|date=2010|publisher=[[O'Reilly Media]]|location=Sebastopol, CA|isbn=978-1449388393|pages=[https://archive.org/details/hackersheroescom00levy_989/page/n102 85]β102|edition=1st|chapter=Winners and Losers}}</ref> By simplifying their system compared to Multics, ITS's authors{{who|date=February 2025}} were able to quickly{{Clarify|reason=vague|date=May 2016}} produce a functional operating system for their lab.<ref name="stuart">{{cite book |title=Principles of Operating Systems: Design & Applications |first=Brian L. |last=Stuart |publisher=Cengage Learning EMEA |year=2008 |page=23 |isbn=9781300668558 |oclc=221248143 }}</ref><!-- I don't have a copy of this book, but the table of contents has CTSS not ITS. I guess I could use a library. --> 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 newer, largely [[Forward compatibility|upwards-compatible]], [[PDP-10]].<ref name="LevyWL" /> Although not used as intensively after about 1986, ITS continued to operate on original hardware at MIT until 1990, and then until 1995 at {{ill |Stacken Computer Club|sv|Stacken}} in Sweden. Today, some ITS implementations continue to be remotely accessible, via [[Emulator|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 [[device independence|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 device]]s in software running in user processes (which were called "jobs" in ITS). * Using the virtual-device mechanism, ITS provided transparent [[Distributed file system|inter-machine filesystem access]]. The ITS machines were all connected to the [[ARPANET|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 (computing)|process management]]; user processes were organized in a [[tree (data structure)|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 [[software interrupt]] facility that allowed user processes to operate asynchronously, using complex [[interrupt handling]] mechanisms. * [[PCLSRing]], a mechanism providing what appeared (to user processes) to be quasi-[[atomic operation|atomic]], safely-interruptible [[system call]]s. 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 computing|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.<ref name="LevyWL" /> * Initially there were no [[passwords]], and a user could work on ITS without logging on.<ref name=AIM238>{{cite journal |last=Eastlake |first=Donald E. |date=1972 |title=ITS Status Report |journal=MIT AI Laboratory Memos |volume=AIM-238 |hdl=1721.1/6194}}</ref> Logging on was considered polite, though, so other people knew when one was active on the system. * To deal with a rash of incidents where users sought out flaws in the system in order to [[crash (computing)|crash]] it, a novel approach was taken. A command which could be run by anyone would cause the system to crash, taking away the challenge and notoriety of doing so. It first also broadcast a message to say who was initiating the crash. * All files were editable by all users, including [[documentation|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 Memo]]s, including the iconic [[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 [[Remote administration|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 [[Federal Bureau of Investigation|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.<ref>{{cite web |url=http://www.catb.org/~esr/jargon/html/os-and-jedgar.html |title=OS and JEDGAR |work=The Jargon File |editor=Eric S. Raymond |editor-link=Eric S. Raymond |edition=4.4.7 |date=December 29, 2003 |access-date=December 21, 2009}}</ref> * 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.<ref>{{cite web |url=http://www.art.net/Studios/Hackers/Hopkins/Don/text/tourist-policy.html |title=MIT AI Lab Tourist Policy |date=January 15, 1997 |access-date=December 21, 2009}}</ref> 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]] (FOSS), [[Open-design movement|open-design]], and [[Wiki]] movements.<ref name=PanBonk>{{cite journal|last1=Pan|first1=Guohua|last2=Bonk|first2=Curtis J.|title=A Socio-Cultural Perspective on the Free and Open Source Software Movement|journal=International Journal of Instructional Technology & Distance Learning|date=April 2007|volume=4|issue=4|url=http://www.itdl.org/journal/apr_07/article01.htm|access-date=2014-06-02|archive-date=2014-10-12|archive-url=https://web.archive.org/web/20141012214924/http://www.itdl.org/Journal/Apr_07/article01.htm|url-status=dead}}</ref><ref name=Stallman>{{cite book|last1=Stallman|first1=Richard M.|title=Free Software, Free Society: Selected Essays of Richard M. Stallman|year=2002|page=13|publisher=Lulu.com |isbn=9781882114986|url=https://books.google.com/books?id=UJlNAgAAQBAJ&q=Incompatible+Timesharing+System+open+software&pg=PA13|access-date=2014-06-02}}</ref><ref name=HOSS>{{cite web|title=History of OSS|url=https://cunyonline.digication.com/softdev/History_of_OSS|website=Software Development for the Masses|access-date=2014-06-02}}</ref> ==Important applications developed on ITS== The [[Emacs|EMACS]] ("Editor MACroS") editor was originally written on ITS. In its ITS instantiation it was a collection of [[TECO (text editor)|TECO]] programs (called "macros"). On 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. [[GNU]]βs [[Info (Unix)|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|MacLisp]] (the precursor of Zetalisp and [[Common Lisp]]), [[Micro-Planner (programming language)|Microplanner]] (implemented in MacLisp), [[MDL programming language|MDL]] (which became the basis of [[Infocom]]'s programming environment), and [[Scheme (programming language)|Scheme]]. 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 (software)|Maxima]], [[MATLAB]], [[Wolfram Mathematica]], and many other [[List of computer algebra systems|computer algebra systems]]. [[Terry Winograd]]'s natural-language interpreter [[SHRDLU]] was developed on ITS. The computer game ''[[Zork]]'' was also originally written on ITS.{{Citation needed|date=February 2025}} [[Richard Greenblatt (programmer)|Richard Greenblatt]]'s Mac Hack VI was the top-rated chess program for years{{Citation needed|date=April 2019}} and was the first to display a graphical board representation.{{Citation needed|date=April 2019}} ==Miscellaneous== The default ITS top-level [[Command line interface|command interpreter]] was the PDP-10 machine language debugger ([[Dynamic debugging technique|DDT]]). The usual [[text editor]] on ITS was [[Text Editor and Corrector|TECO]] and later [[Emacs]], which was written in TECO. Both DDT and TECO were implemented through simple [[dispatch table]]s on single-letter commands, and thus had no true [[Syntax of programming languages|syntax]]. The ITS [[task manager]] was called PEEK. The local spelling "TURIST" is an artifact of six-character filename (and other identifier) limitations, which is traceable to six [[Sixbit|SIXBIT encoded]] characters fitting into a single 36-bit PDP-10 word. "TURIST" may also have been a [[pun]] on [[Alan Turing]], a pioneer of theoretical [[computer science]].<ref name=Turist>{{cite web|title=turist|url=http://dictionary.reference.com/browse/turist|website=Dictionary.com|publisher=TuristDictionary.com, LLC|access-date=2014-06-04}}</ref> The less-complimentary term "[[Luser|LUSER]]" was also applied to guest users, especially those who repeatedly engaged in clueless or vandalous behavior.<ref name=Luser>{{cite web|title=luser|url=http://dictionary.reference.com/browse/luser|website=Dictionary.com|publisher=Dictionary.com, LLC|access-date=2014-06-04}}</ref> The [[Jargon File]] started as a combined effort between people on the ITS machines at MIT and at Stanford University [[Stanford Artificial Intelligence Laboratory|SAIL]]. The document described much of the terminology, puns, and culture of the two AI Labs and related research groups, and is the direct predecessor of the ''Hacker's Dictionary'' (1983),<ref name=TOHD>{{cite web|title=The Original Hacker's Dictionary|url=http://www.dourish.com/goodies/jargon.html|website=dourish.com|publisher=Paul Dorish|access-date=2014-06-16}}</ref> the first compendium of hacker jargon to be issued by a major publisher ([[MIT Press]]). 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 [[wire-wrapping]] computer hardware he and others were prototyping. The device used a [[stepper motor]] and a formerly hand-held wire stripper tool and cutter, operated by [[solenoid]], all under computer control from ITS software. The device was accessible by any ITS user, but was disappointingly unreliable in actual use. The [[Xerox Graphics Printer]] (XGP), one of the first laser printers, was supported by ITS by 1974.<ref>{{cite web |title=XGP Font Catalog |url=https://dspace.mit.edu/bitstream/handle/1721.1/41107/AI_WP_072.pdf |website=MIT Dspace |publisher=Massachusetts Institute of Technology |access-date=2021-08-20 |date=May 24, 1974}}</ref> 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.<ref>{{cite web |last1=Stacy |first1=Christopher C. |title=Getting Started Computing at the Al Lab |url=https://dspace.mit.edu/bitstream/handle/1721.1/41180/AI_WP_235.pdf |website=MIT Dspace |publisher=Massachusetts Institute of Technology |access-date=2021-08-20 |date=7 September 1982}}</ref> Although any ITS user could send files to the laser printers, physical access to pick up printouts was limited to staff and others who obtained access to the MIT lab, 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 (programmer)|Richard Greenblatt]] * [[Stewart Nelson (hacker)|Stewart Nelson]] * [[Tom Knight (scientist)|Tom Knight]] * [[Richard Stallman]] ==See also== * [[Time-sharing system evolution]] ==References== {{Reflist}} === Bibliography === {{Refbegin}} * {{cite book|first1=D|last1=Eastlake|first2=R|last2=Greenblatt|first3=J|last3=Holloway|first4=T|last4=Knight|first5=S|last5=Nelson|date=July 1969|title=ITS Reference Manual, Version 1.5|publisher=MIT AI Laboratory|url=http://bitsavers.org/pdf/mit/ai/aim/AIM-161A.pdf|archive-url=https://web.archive.org/web/20220316150158/http://bitsavers.org/pdf/mit/ai/aim/AIM-161A.pdf|archive-date=16 March 2022|url-status=live}} * [https://web.archive.org/web/20050308214647/http://zane.brouhaha.com/~healyzh/_info_/its.primer An Introduction to ITS for the MACSYMA User] * {{Cite web |last=Bawden |first=Alan |url=http://fare.tunes.org/tmp/emergent/pclsr.htm |title=PCLSRing: Keeping Process State Modular |date=December 29, 2000 |access-date=December 21, 2009 }} * {{cite journal |last=Lin |first=Yuwei |date=February 24, 2004 |url=http://ubiquity.acm.org/article.cfm?id=985611 |title=Epistemologically Multiple Actor-Centered Systems: or, EMACS At Work |journal=Ubiquity |publisher=[[Association for Computing Machinery]] |volume=5 |issue=1 |access-date=December 21, 2009 }} * {{Cite web |last1=Chiou |first1=Stefanie |last2=Music |first2=Craig |last3=Sprague |first3=Kara |last4=Wahba |first4=Rebekah |date=December 16, 2001 |url=http://mit.edu/6.933/www/Fall2001/AILab.pdf |title=A Marriage of Convenience: The Founding of the MIT Artificial Intelligence Laboratory |access-date=December 21, 2009 |archive-date=May 14, 2011 |archive-url=https://web.archive.org/web/20110514101306/http://mit.edu/6.933/www/Fall2001/AILab.pdf |url-status=dead }} * {{cite book |last=Williams |first=Sam |year=2002 |url=https://archive.org/details/freeasinfreedomr00will |title=Free as in Freedom: Richard Stallman's Crusade for Free Software |isbn=978-0-596-00287-9 |location=Petaluma, CA |publisher=[[O'Reilly Media|O'Reilly]] |access-date=December 21, 2009 |url-access=registration }} {{Refend}} ==External links== * [https://web.archive.org/web/20120226113808/http://www.avanthar.com/~healyzh/sysdoc/sysdoc.html ITS System Documentation] * [http://its.svensson.org/ SV: An ITS system running online and open for logins] * [http://up.update.uu.se/ UP: Public ITS system operated by the Update Computer Club at Uppsala University] <!-- * [http://www.its.os.org/ file system images of various ITS machines, including source and documentation of the final system] * [http://web.onetel.com/~hibou/ITS.html Donald Fisk's ITS info] The above two URIs are inaccessible as of 2010/6/3 --> * [http://klh10.trailing-edge.com/ KLH10: Ken Harrenstien's PDP-10 emulator] * [https://web.archive.org/web/20070826152708/http://www.cosmic.com/u/mirian/its/itsbuild.html instructions allowing ITS to run] on the [[SIMH]] [[PDP-10]] emulator. * [http://catb.org/~esr/jargon/html/I/ITS.html Jargon File Entry] * [https://web.archive.org/web/20110726144837/http://www.stswiki.org/index.php?title=Incompatible_Timesharing_System_bibliography ITS bibliography] {{Time-sharing operating systems}} [[Category:Time-sharing operating systems]] [[Category:1967 software]] [[Category:Massachusetts Institute of Technology software]] [[Category:Assembly language software]] [[Category:Hacker culture]] [[Category:Software using the GNU General Public License]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Clarify
(
edit
)
Template:Ill
(
edit
)
Template:Infobox OS
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Time-sharing operating systems
(
edit
)
Template:Who
(
edit
)