Incompatible Timesharing System
Incompatible Timesharing System (ITS) — операційна система з розподілом часу, створена у лабораторії штучного інтелекту Массачусетського технологічного інституту на основі напрацювань Проекту MAC. Назва системи є жартівливим посиланням на систему Compatible Time-Sharing System (CTSS).
Розробник | Лабораторія штучного інтелекту MIT |
---|---|
Написано на | Мова асемблера |
Стан проєкту | Проект закрито |
Початковий випуск | Пізні 1960-ті |
Доступні мови | Англійська мова |
Доступні мови програмування | асемблер |
Платформи, що підтримуються | Digital PDP-6, PDP-10 |
Розробки 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]
Джерела
- 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.
- Stuart, Brian L. (2008). Principles of Operating Systems: Design & Applications. Cengage Learning EMEA. с. 23.
- turist. Dictionary.com. TuristDictionary.com, LLC. Процитовано 4 червня 2014.
- luser. Dictionary.com. Dictionary.com, LLC. Процитовано 4 червня 2014.