Incompatible Timesharing System

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Incompatible Timesharing System
РозробникЛабораторія штучного інтелекту MIT
Написано наМова асемблера
Робочий станПроект закрито
Початковий випускПізні 1960-ті
МовиАнглійська мова
ПлатформиDigital PDP-6, PDP-10

Incompatible Timesharing System (ITS) — операційна система з розподілом часу, створена у лабораторії штучного інтелекту Массачусетського технологічного інституту на основі напрацювань Проекту MAC. Назва системи є жартівливим посиланням на систему Compatible Time-Sharing System (CTSS).

Розробки ITS мали важливий вплив на подальший розвиток системного програмного забезпечення. У рамках ранньої мережі ARPANET система надавала гостьовий доступ через віддалену сесію, що дозволяло багатьом зацікавленим сторонам спробувати систему в дії і створювати свої програми для неї. Програмне середовище ITS великою мірою вплинуло на розвиток так званої «гакерської субкультури», це описано, зокрема, у книзі Стівена Леві Hackers.[1]

Історія розробки

[ред. | ред. код]

Наприкінці 1960-х програмісти і вчені, які не у всьому погоджувалися з напрямками розвитку операційної системи Multics (розробка цієї ОС почалася у середині 1960-х), зокрема з присутніми у Multics потужними механізмами системної безпеки, вирішили створити більш відкриту операційну систему, яка б заохочувала спільну роботу. Назву ОС придумав Том Найт (англ. Tom Knight), як жартівливий антонім до іншої ОС проекту MAC, створеної кількома роками раніше (CTSS).[1]

Спрощуючи багато архітектурних рішень, автори ITS змогли досить швидко запустити робочий прототип системи для комп'ютерного обладнання, що було у них у наявності.[2] Головною машиною для ITS стала DEC PDP-6 (пізніше PDP-10), а сама ОС була написана на мові асемблера.[1]

Після 1986 року система використовувалася мало. У MIT роботу ITS припинили у 1990-му; до 1995-го система працювала у комп'ютерному клубі «Stacken», Швеція.

Важливі технологічні інновації

[ред. | ред. код]

Для свого часу ITS мала деякі передові особливості, відсутні у інших операційних системах:

  • Перша реалізація виводу, незалежного від конкретного терміналу: користувацькі програми генерували послідовності керуючих команд, які автоматично транслювалися системою у керуючі коди конкретного (обраного користувачем) терміналу
  • Загальний механізм реалізації віртуальних пристроїв вводу-виводу як програм користувача
  • Прозора інтер-машинна комунікація, тобто варіант мережної файлової системи. Всі машини, де працювала ITS, були з'єднані з ARPANET, і користувач на одному комп'ютері міг виконувати такі самі операції з файлами на будь-якій іншій віддаленій ITS-машині, як на локальній
  • Продумана система керування процесами: всі процеси користувача організовувалися системою у вигляді дерева, і батьківський процес міг контролювати велику кількість породжених. Наприклад, порождений процес можна було зупинити на будь-якому етапі виконання і переглянути весь його стан, з регістрами процесора включно. Після огляду процес відновлювався з точки зупинки і продовжував виконання транспарентно
  • Розширені можливості програмних переривань, що дозволяли, зокрема, складне асинхронне виконання процесів
  • Безпечні і повністю атомарні системні виклики
  • Підтримка одночасного виконання процесів реального часу і звичайних процесів з розподілом часу

Цікаві факти

[ред. | ред. код]

Інтерфейсом користувача за замовчуванням був зневаджувач DDT. Текстовим редактором у системі зазвичай був TECO. І DDT, і TECO керувалися командами, що кодувалися однією літерою англійського алфавіту (це надзвичайно спрощувало реалізацію обробника команд). Таким чином, ці команди не мали чітко визначеного синтаксису. Утиліта менеджера завдань у ITS називалася PEEK.

Написання TURIST, звичне у ITS, є артефактом від імені файла, що не могло бути довшим за шість символів (це обмеження походить від кодування SIXBIT, що дозволяло вмістити шість 6-розрядних символів у одне 36-розрядне машинне слово). TURIST могло також бути посиланням на Алана Тюрінга.[3] Інший термін LUSER також використовувався для позначення гостьових користувачів, особливо для тих, хто був помічений у вандалізмі або просто не мав гадки, як користуватися системою, і своїм незнанням призводив до проблем.[4]

Джерела

[ред. | ред. код]
  1. а б в Levy, Steven (2010). Winners and Losers. Hackers: Heroes of the Computer Revolution - 25th Anniversary Edition (вид. 1st). Sebastopol, CA: O'Reilly Media. с. 85–102. ISBN 978-1449388393.
  2. Stuart, Brian L. (2008). Principles of Operating Systems: Design & Applications. Cengage Learning EMEA. с. 23.
  3. turist. Dictionary.com. TuristDictionary.com, LLC. Архів оригіналу за 4 березня 2016. Процитовано 4 червня 2014.
  4. luser. Dictionary.com. Dictionary.com, LLC. Архів оригіналу за 4 березня 2016. Процитовано 4 червня 2014.