Введение
Операционная система Incompatible Timesharing System (ITS) – операционная система с разделением времени, разработанная главным образом Лабораторией искусственного интеллекта MIT при поддержке Project MAC. Название является шутливым дополнением к MIT Compatible Time Sharing System (CTSS). ITS и программное обеспечение, разработанное для неё, оказали значительное техническое и культурное влияние, выходящее далеко за рамки основного пользовательского сообщества. Удалённый "гостевой" или "туристический" доступ был легко доступен через раннюю ARPAnet, что позволяло многим заинтересованным лицам неформально опробовать возможности операционной системы и прикладных программ. Широко открытая философия ITS и совместное онлайн-сообщество оказали существенное влияние на хакерскую культуру, как описано в книге Стивена Леви "Хакеры".
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,
By simplifying their system compared to Multics, ITS's authors were able to quickly produce a functional operating system for their lab. 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. 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. 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. 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.
Упростив свою систему по сравнению с Multics, авторы ITS смогли быстро создать работоспособную операционную систему для своей лаборатории. ITS была написана на языке ассемблера, изначально для компьютера Digital Equipment Corporation PDP-6, но основная разработка и использование ITS велись на более позднем, в значительной степени совместимом PDP-10. Входить в систему считалось вежливым, чтобы другие знали, когда кто-то подключен. Чтобы справиться с волной инцидентов, когда пользователи намеренно искали ошибки в системе, чтобы её обрушить, был предпринят новый подход. Была реализована команда, вызывающая сбой системы, и любой мог её запустить, лишая тем самым удовольствия и вызова от поиска уязвимостей. Однако при этом транслировалось сообщение с указанием имени пользователя, вызвавшего сбой. Все файлы были доступны для редактирования всем пользователям, включая онлайн-документацию и исходный код. Серия неофициальных статей и технических заметок документировала новые команды, технические проблемы, простые игры, математические головоломки и другие темы, представлявшие интерес для хакерского сообщества ITS. Некоторые из них были опубликованы в виде более официальных AI Memos, включая сборник HAKMEM. Все пользователи могли общаться друг с другом посредством мгновенных сообщений на терминале другого пользователя или использовать команду (SHOUT) для запроса помощи у всех активных пользователей. Пользователи могли видеть, что происходит на чужом терминале (с помощью команды OS, означающей "output spy" – шпион за выводом). Объект наблюдения команды OS мог обнаружить и завершить её работу с помощью другой команды под названием JEDGAR, названной в честь директора ФБР Дж. Эдгара Гувера. Позже эта функция была отключена с помощью команды-плацебо: создавалось впечатление, что удалённая сессия завершена, но на самом деле это не так. "Туристы" (гостевые пользователи, работавшие либо на терминалах лаборатории ИИ MIT, либо через ARPAnet) допускались и иногда приглашались к активному участию в сообществе ITS. Неформальная политика доступа для туристов позже была оформлена в письменный регламент. Простота доступа, с гостевой учётной записью или без неё, позволяла заинтересованным лицам неформально изучать и экспериментировать с операционной системой, прикладными программами и "хакерской" культурой. Рабочие копии документации и исходного кода могли свободно просматриваться и обновляться любым пользователем системы. Безопасность системы, в той мере, в которой она существовала, в основном основывалась на фактической "безопасности через неизвестность". От приглашённых хакеров, готовых посвятить значительное время и усилия изучению ITS, ожидалось уважительное поведение и воздержание от вмешательства в исследовательские проекты, финансировавшие аппаратные и программные системы. В системах ITS было мало эксклюзивной ценности, кроме информации, большая часть которой в конечном итоге была опубликована для свободного распространения, и открытый и свободный обмен знаниями в целом поощрялся. Широко открытая философия ITS и совместное сообщество стали прямым предшественником свободного и открытого программного обеспечения, открытого дизайна и движения Wiki.
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,
By simplifying their system compared to Multics, ITS's authors were able to quickly produce a functional operating system for their lab. 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. 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. 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. 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.
Важные приложения, разработанные на ITS
Редактор EMACS ("Editor MACroS") изначально был написан для ITS. В своей реализации для ITS он представлял собой набор программ TECO (называемых "макросами"). На более поздних операционных системах он был написан на общем языке этих систем – например, на языке C под Unix и Zetalisp под системой Lisp Machine. Система справки GNU первоначально была подсистемой EMACS, а затем была разработана как полноценная автономная система для машин, подобных Unix. На ITS было разработано несколько важных языков программирования и систем, включая MacLisp (предшественник Zetalisp и Common Lisp), Microplanner (реализованный на MacLisp), MDL (который стал основой для среды программирования Infocom) и Scheme. Среди других значительных и влиятельных программных подсистем, разработанных на ITS, система компьютерной алгебры Macsyma, запущенная в 1968 году, стала первой широко известной математической вычислительной средой. Она была предшественницей Maxima, MATLAB, Wolfram Mathematica и многих других систем компьютерной алгебры. Программа SHRDLU Терри Винограда была разработана на ITS. Компьютерная игра Zork также изначально была написана на ITS. Mac Hack VI Ричарда Гринблатта на протяжении многих лет являлась лучшей шахматной программой и первой отображала графическое представление шахматной доски.
Разное
По умолчанию интерпретатором команд верхнего уровня ITS был отладчик машинного языка PDP 10 (DDT). Обычным текстовым редактором в ITS был TECO, а позже Emacs, который был написан на TECO. И DDT, и TECO были реализованы через простые таблицы диспетчеризации на однобуквенные команды и, следовательно, не имели настоящего синтаксиса. Менеджер задач ITS назывался PEEK. Локальное написание "TURIST" является следствием ограничения длины имени файла (и других идентификаторов) шестью символами, что связано с тем, что шесть символов, закодированных в формате SIXBIT, помещались в одно 36-битное слово PDP 10. "ТУРИСТ" также мог быть игрой слов, отсылающей к Алану Тьюрингу, пионеру теоретической информатики. Менее лестный термин "LUSER" также применялся к гостевым пользователям, особенно к тем, кто неоднократно демонстрировал бестолковое или вандальное поведение. The Jargon File возник как совместная работа людей, работавших на машинах ITS в MIT и в Стэнфордском университете SAIL. Документ описывал значительную часть терминологии, каламбуров и культуры двух лабораторий искусственного интеллекта и связанных с ними исследовательских групп и является прямым предшественником Hacker's Dictionary (1983) – первого сборника хакерского жаргона, изданного крупным издательством (MIT Press). Различные реализации ITS поддерживали широкий спектр периферийных устройств, включая автоматический инструмент для снятия изоляции с проводов, разработанный хакером Ричардом Гринблатом, которому требовалось большое количество предварительно зачищенных проводов различной длины для обмотки аппаратного обеспечения компьютера, которое он и другие разрабатывали. Устройство использовало шаговый двигатель и бывший ручной инструмент для снятия изоляции и резак, управляемые соленоидом, все под компьютерным управлением с помощью программного обеспечения ITS. Устройство было доступно любому пользователю ITS, но на практике оказалось разочаровывающе ненадежным. Графический принтер Xerox (XGP), один из первых лазерных принтеров в мире, поддерживался ITS к 1974 году. В лаборатории искусственного интеллекта MIT был один из этих прототипов принтера с непрерывной подачей бумаги для экспериментов и использования его сотрудниками. К 1982 году XGP был дополнен принтером Xerox Dover, ранним лазерным принтером с подачей листа. Хотя любой пользователь ITS мог получить доступ к лазерным принтерам, физический доступ к получению распечаток был ограничен сотрудниками для контроля использования расходных материалов для принтера, которые приходилось заказывать специально. Файловые системы CTSS и ITS имеют ряд общих элементов дизайна. Обе имеют M.F.D. (главный каталог файлов) и один или несколько U.F.D. (каталоги пользовательских файлов). Ни одна из них не поддерживает вложенные каталоги (подкаталоги). Обе имеют имена файлов, состоящие из двух имен, каждое из которых имеет максимальную длину шесть символов. Обе поддерживают связанные файлы.