Тот (операционная система)
Разработчик | Университет Ватерлоо |
---|---|
Написано в | Эх, Зед, ассемблер |
Семейство ОС | ОСРВ |
Рабочее состояние | Снято с производства |
Первоначальный выпуск | октябрь 1976 г |
Маркетинговая цель | Исследовать |
Доступно в | Английский |
Обновить метод | Перекомпиляция |
Платформы | Хонивелл 6050 Общие данные Нова 2 Техасские инструменты TI990/10 |
ядра Тип | Микроядро |
Преемник | Портвейн, Верекс, Гармония , В |
Тот — это (ОС) реального времени , для передачи сообщений операционная система разработанная в Университете Ватерлоо в Ватерлоо, Онтарио, Канада .
История
[ редактировать ]Тот был разработан в Университете Ватерлоо в Ватерлоо, Онтарио , Канада . Учебная программа в Ватерлоо включает курс «Операционные системы реального времени» и связанную с ним «Лабораторию поездов», где студенты должны разработать операционную систему реального времени (RTOS) для управления моделью пути с несколькими поездами. [1] [2] [3]
В 1972 году язык программирования B , производный от BCPL , был привезен в Ватерлоо Стивеном Джонсоном, находившимся в творческом отпуске в Bell Labs . [4] Новый язык, произошедший от B, названный Eh , был разработан в Ватерлоо. Первоначально «Тот» был написан на языке «Эх» с использованием некоторого языка ассемблера . [5] [6]
Первоначальная разработка Тота произошла на компьютере Honeywell 6050 . [7] Впервые он был запущен на Data General Nova 2 в мае 1976 года, а затем был портирован на Texas Instruments TI990/10 в августе 1976 года. [7] [5]
В октябре 1976 года Университет Ватерлоо опубликовал магистерскую диссертацию Лоуренса С. Мелена под названием «Портативный руководитель реального времени, Тот». [8]
Позднее Eh был модернизирован, частично с добавлением типов данных , и переименован в Zed . Затем Тот был переписан на Зед. [9] [10] [11] [12] [13]
Одним из первых главных разработчиков Тота был Дэвид Черитон . Черитон продолжил разработку ядра Verex и ОС V-System ; оба находились под влиянием Тота. Другим ранним разработчиком был Майкл Малкольм, который позже основал Waterloo Microsystems, Network Appliances, Inc. , Blue Coat Systems и Kaliedescape, некоторые из которых, как полагают, были созданы на основе Тота или находились под его влиянием.
В некоторых статьях ДЕМОС описывается как источник вдохновения для Тота. [14] В качестве предшествующего уровня техники Черитон сослался Пера Бринча Хансена , на RC 4000 а затем перечислил Тота, DEMOS и Accent вместе как более поздние разработки. [15] Другие факторы, оказавшие влияние на разработку Thoth, включали Multics , Data General RTOS компании , Honeywell GCLS и Unix . [5] В более поздних ссылках Тот упоминается как оригинальная реализация его особого использования синхронной передачи сообщений и многопроцессной структуры программы, которые впоследствии были применены в других проектах. [16] : 2
Работа над Тотом закончилась примерно в 1982 году. [17]
Функции
[ редактировать ]Тот был разработан для достижения четырех целей: [7]
- Легко переносится на другое оборудование [3]
- Программы выполняются как набор недорогих, взаимодействующих параллельных процессов с эффективным межпроцессным взаимодействием (IPC). [5]
- Подходит для использования в режиме реального времени для реагирования системы на внешние события.
- Адаптируемость и масштабируемость для широкого спектра применений в режиме реального времени.
Тот предоставляет прикладному программному обеспечению одну и ту же , абстрактную машину независимо от базовой физической машины . [5] [18] Эта абстрактная машина была определена с определенными минимальными требованиями, так что выполнение этих требований позволяло включить данный компьютер в домен Тота потенциальных целей порта Тота.
Процессы, выполняемые под управлением Тота, можно сгруппировать в «Команды». Все процессы внутри команды используют общее адресное пространство и могут обмениваться данными. [19] [7] Это похоже на концепции «облегченных процессов» или потоков в других системах. [20] Процессы, не входящие в одну команду, взаимодействуют с помощью IPC Тота.
Межпроцессное общение в Тоте в основном осуществляется посредством синхронной передачи сообщений. [7] Этот подход значительно упростил организацию очереди сообщений. [21]
Хотя этот термин не был в ходу на момент написания оригинальных статей, Тота называли микроядром . [22] [20] [23]
Синхронная передача сообщений Тота, передаваемая IPC, подходила для применения модели антропоморфного программирования, основанной на работе Хьюитта Карла модели актера и Smalltalk . [17]
Наследие
[ редактировать ]Операционная система Тота послужила основой или вдохновением для нескольких более поздних проектов, некоторые из которых перечислены ниже.
Академический
[ редактировать ]- microNet Система распределенных файловых серверов в Университете Ватерлоо работала под управлением операционной системы WatSys, похожей на Тот и Порт. [24] WatSys дебютировал в 1981 году. [25]
- Национальный исследовательский совет Канады был центром разработки операционной системы Harmony , производной Тота, ориентированной на управление роботами в реальном времени. [26]
- Черитон занял должность в Университете Британской Колумбии , где он участвовал в разработке Verex и Distributed Verex, используя многие идеи, которые он ранее исследовал в Тоте. [12] [27]
- Позже Черитон переехал в Стэнфордский университет в США, где разработал V-систему , которая продолжала основываться на более ранней работе с Тотом. [15] [28] [29] [30]
- Архитектура системы Sylvan Multiprocessing включала сопроцессор, который реализовал примитивы синхронной передачи сообщений Тота (и расширенное рандеву Ады) на аппаратном уровне. [16] [31]
- Тот и его IPC для передачи сообщений использовались в качестве основы для многопроцессной программы рисования, в которой использовалась модель антропоморфного программирования. [32] [33]
- Семантика передачи сообщений Тота была частью экспериментальной версии системы компьютерной алгебры (CAS) Maple с параллельной обработкой . [34]
- Распределенная среда выполнения процессов и связи (PEACE) была разработана для высокопроизводительных приложений. В документе Тот упоминается как «основная основа» проекта. [35]
- Руководитель компании Eindhoven Multi-Processor System (EMPS) уделил особое внимание эффективности. Тот вдохновил на создание ядра EMPS. [36]
- Экспериментальная среда человеко-компьютерного интерфейса, названная системой «Комнаты», была построена на Порту Ватерлоо, который был создан на основе Тота и использовал его методы IPC. Документ Комнаты ссылается на более ранние статьи Тота. [37]
- Веб-сервер Flash, исследовательский проект с упором на эффективность и переносимость, был назван Тотом по методу многопроцессного структурирования и концепции групп процессов, общающихся посредством передачи сообщений. [38]
Коммерческий
[ редактировать ]- Гордон Белл и Дэн Додж , разработчики операционной системы передачи сообщений в реальном времени QNX , оба работали с Тотом, когда они были студентами в Ватерлоо. [39] [40] [41] [42]
- компании AT&T Система офисной связи System 75 контролировалась ядром Oryx и набором основных системных процессов Pecos , совместно называемых Oryx/Pecos . В нем использовались идеи Тота, DEMOS и внутреннего проекта AT&T. [43]
- Коммерческая операционная система сети порта Ватерлоо была заимствована у Тота. [44] Соответствующий язык Zed был обновлен и стал языком PORT для порта Ватерлоо. [45] [46]
- Hayes Microcomputer Products приобрела Waterloo Microsystems, а также провела ребрендинг и модернизацию продукта Waterloo Port, создав LANstep . [47] [48]
- Компания по хранению данных «Ауспекс» создала Функциональное многопроцессорное ядро (FMK), в котором использовались концепции, которые, как выяснилось, были впервые разработаны на Тоте. [49] В отличие от V-System и порта Ватерлоо, FMK не имел управления памятью.
- Ранние версии операционной системы устройства хранения данных компании Network Appliance, Inc. были описаны как очень похожие на Thoth. [50] ОС NetApp была написана Дэвидом Хитцем , который ранее работал в Auspex.
- В 1996 году компания по производству устройств для веб-ускорения CacheFlow выпустила свою CacheOS , основанную на Thoth. [51] В 2001 году CacheFlow был переименован в Blue Coat Systems , а с добавлением механизма политики CacheOS стала операционной системой Secure Gateway (SGOS).
Ссылки
[ редактировать ]- ^ «Программирование в реальном времени CS 452» . Университет Ватерлоо, Школа компьютерных наук Черитона .
- ^ «CS 452/652 — Программирование в реальном времени» . Вычислительный центр вычислительной техники Университета Ватерлоо .
- ^ Перейти обратно: а б Малькольм, Майкл (24 марта 2009 г.). «24 марта 2009 г.: серия выступлений Deloitte» . Университет Ватерлоо, Институт компьютерных исследований .
- ^ Ричи, Деннис М. (апрель 1993 г.). Развитие языка C (PDF) . Ассоциация вычислительной техники. Архивировано из оригинала (PDF) 24 июля 2015 г. Проверено 6 октября 2020 г.
- ^ Перейти обратно: а б с д и Черитон, Дэвид Р.; Малькольм, Майкл А.; Мелен, Лоуренс С.; Сагер, Гэри Р. (март 1978 г.). Тот, портативная операционная система реального времени (пересмотренная версия) (PDF) . Факультет компьютерных наук Университета Ватерлоо (технический отчет).
- ^ Брага, Рейнальдо (ноябрь 1976 г.). Эх, Справочное руководство (PDF) . Факультет компьютерных наук Университета Ватерлоо (технический отчет).
- ^ Перейти обратно: а б с д и Черитон, Дэвид Р.; Малькольм, Майкл А.; Мелен, Лоуренс С.; Сагер, Гэри Р. (февраль 1979 г.). «Тот, портативная операционная система реального времени» (PDF) . Коммуникации АКМ . 22 (2): 105–115. дои : 10.1145/359060.359074 . S2CID 14350500 .
- ^ Мелен, Лоуренс С. (октябрь 1976 г.). Портативный исполнительный аппарат реального времени, Тот (Технический отчет). Кафедра компьютерных наук Университета Ватерлоо.
- ^ Лайон, Джон (октябрь 1993 г.). «Письмо из Нью-Джерси — январь 1979 г.». Информационный бюллетень австралийской группы пользователей Unix . Том. 14, нет. 5. AUUG Inc., стр. 48–51.
- ^ «База данных языков программирования: Z» . Эпокальк . 2012.
- ^ Бонковски, Г. Берт; Джентльмен, В. Морвен; Малькольм, Майкл А. (май 1979 г.). Портирование компилятора Zed (PDF) . Факультет компьютерных наук Университета Ватерлоо (технический отчет).
- ^ Перейти обратно: а б Локхарт, Томас Уэйн (ноябрь 1979 г.). Проектирование проверяемого ядра операционной системы (Диссертация). Университет Британской Колумбии. дои : 10.14288/1.0051812 .
- ^ Кинерсли, Билл (23 января 1995 г.). «Список языков: версия 2.4» . ckw.phys.ncku.edu.tw.
- ^ Хатчинсон, Норман А. (1987). Изумруд: объектно-ориентированный язык для распределенного программирования (PDF) (технический отчет). Университет Вашингтона.
- ^ Перейти обратно: а б Черитон, Дэвид Р. (март 1988 г.). «Распределенная система V» (PDF) . Коммуникации АКМ . 31 (3): 314–333. дои : 10.1145/42392.42400 . S2CID 7523994 .
- ^ Перейти обратно: а б Бурковски, Форбс Дж.; Кларк, Чарльз Лос-Анджелес; Коуэн, С. Криспин; Фреугденхил, Дж.Дж. (февраль 1995 г.). Оценка производительности многопроцессорной архитектуры Sylvan (технический отчет). Университет Ватерлоо.
- ^ Перейти обратно: а б Бут, Келлог С.; Шеффер, Джонатан; Джентльмен, В. Морвен (февраль 1984 г.). Антропоморфное программирование (PDF) . Факультет компьютерных наук Университета Ватерлоо (технический отчет).
- ^ Чабб, Люси (1987). Многопроцессорная операционная система для 16-битных микрокомпьютеров (Технический отчет). Университет Нью-Саут-Сейлс, Школа электротехники и информатики.
- ^ Комер, Дуглас Э.; Мансон, Стивен Б. (1988). Эффективное межпроцессное взаимодействие с использованием общей памяти (Технический отчет). Факультет компьютерных наук Университета Пердью.
- ^ Перейти обратно: а б О'Салливан, Брайан (13 августа 1996 г.). «Ответы на часто задаваемые вопросы по comp.os.research: Часть 1 из 3 — 2.2.3. История темы» . Факультет компьютерных наук Университета Олбани .
- ^ Флейш, Бретт Д.; Ко, Марк Аллан А. (апрель 1997 г.). Микроядро и ОС на рабочем месте: практический пример (технический отчет). Департамент компьютерных наук Калифорнийского университета. CiteSeerX 10.1.1.46.7315 .
- ^ Аппаву, Джонатан. Обзор исследований программного обеспечения по оптимизации многопроцессорных операционных систем (PDF) (Технический отчет). Факультет компьютерных наук Бостонского университета.
- ^ Депутович, Александр (2011). Другой мир — давая приложениям шанс выжить при сбоях ядра ОС (PDF) (технический отчет). Высший факультет компьютерных наук Университета Торонто.
- ^ Коуэн, Д.Д.; Босуэлл, Флорида; Гроув, TR (декабрь 1984 г.). Распределенный файловый сервер для сети персональных компьютеров (PDF) . Кафедра компьютерных систем Университета Ватерлоо (технический отчет).
- ^ Фондс, Уэс Грэм (5 августа 1983 г.). «Хронология: 1980-е: Десятилетие расширения — 1981» . Университет Ватерлоо — Школа компьютерных наук Черитона .
- ^ Таннер, ПП; Бакстон, В. (1985). Некоторые проблемы будущей разработки системы управления пользовательским интерфейсом (UIMS) . Системы управления пользовательским интерфейсом. Берлин. стр. 67–79.
- ^ Бойл, Патрик Дэвид (июнь 1982 г.). Проектирование распределенного ядра многопроцессорной системы (Диссертация). Факультет компьютерных наук Университета Британской Колумбии. дои : 10.14288/1.0051817 .
- ^ Теванян-младший, Авадис; Рашид, Ричард Ф.; Голуб, Дэвид Б.; Блэк, Дэвид Л.; Купер, Эрик; Янг, Майкл В. (август 1987 г.). Потоки Маха и ядро Unix: битва за контроль (технический отчет). Кафедра компьютерных наук Университета Карнеги-Меллона.
- ^ Чакраборти, Пинаки (2010). «Операционные системы исследовательских целей — широкий обзор» (PDF) . GESJ: Информатика и телекоммуникации (3): 147–160. ISSN 1512-1232 .
- ^ Бин Шафаат, Ахмед; Сюй, Шусян (26 декабря 2017 г.). «Сравнительное исследование технологий, разработанных с точки зрения распределенных операционных систем» (PDF) . Журналы AMSE: Публикация AMSE IIETA: Серия 2017 г.: Advances B. 60 (3): 613–629.
- ^ Бурковски, Ф.Дж.; Кормак, Г.В.; Даймент, доктор медицинских наук; Пахл, Дж. К. (28 февраля 1987 г.). «Архитектура на основе сообщений для высокого параллелизма». В Хите, Майкл Т. (ред.). Гиперкуб Мультипроцессоры 1986 . Общество промышленной и прикладной математики, США, стр. 27–37. ISBN 978-0898712094 .
- ^ Бич, Ричард Дж.; Битти, Джон К.; Бут, Келлог С.; Плебон, Дарлин А.; Фиуме, Юджин Л. (июль 1982 г.). «Сообщение — это средство: многопроцессное структурирование программы интерактивного рисования» . Компьютерная графика . Том. 16, нет. 3. Ассоциация вычислительной техники. стр. 277–287. дои : 10.1145/965145.801292 .
- ^ Плебон, Дарлин А.; Бут, Келлог С. (1982). Интерактивная система создания изображений (PDF) (Технический отчет). Университет Ватерлоо.
- ^ Ватт, Стивен Майкл (1985). Ограниченный параллелизм в компьютерной алгебре (PDF) (Технический отчет). Университет Ватерлоо.
- ^ Шредер, В. Распределенная среда выполнения процессов и связи для высокопроизводительных прикладных систем (PDF) (технический отчет). Технический университет Берлина.
- ^ ван Дейк, GJW (1 января 1993 г.). Проект многопроцессорного исполнительного устройства EMPS для распределенных вычислений (PDF) (Технический отчет). Эйндховенский технологический университет.
- ^ Чан, Патрик П. (июль 1984 г.). Рекомендации по обучению при проектировании пользовательского интерфейса: модель комнаты (PDF) . Факультет компьютерных наук Университета Ватерлоо (технический отчет).
- ^ Пай, Вивек С.; Друшель, Питер; Звенепол, Вилли. Flash: эффективный и портативный веб-сервер (PDF) (технический отчет). Факультет компьютерных наук Университета Райса.
- ^ «Встроенные приложения — технологии для реального мира» . Проект ИнфраНЕТ . 29 мая 1998 года.
- ^ Моррис, Джеймс Б. (февраль – апрель 1983 г.). «Мощные инструменты QNX». Журнал ПК . стр. 269–297.
- ^ Адвани, Пракаш (14 июня 2001 г.). «Разговор с Полем Леру» . FreeOS.com .
- ^ Оберл, Бонни (30 октября 1998 г.). «Возврат долга» . Отпечаток . Impring Publications, Ватерлоо. п. 7.
- ^ Сагер, Гэри Р.; Мельбер, Джон А.; Фонг, Кеннет Т. (январь 1985 г.). «Система 75: Операционная система Oryx/Pecos». Технический журнал AT&T . Том. 64, нет. 1. С. 251–268. дои : 10.1002/j.1538-7305.1985.tb00431.x .
- ^ Коппенс, JAWM (август 1988 г.). Информационная безопасность в локальных сетях, особенно в порту Ватерлоо (PDF) (Технический отчет). Технический университет Эйндховена.
- ^ «Порт — (Компьютерный язык)» . Интернет-историческая энциклопедия языков программирования .
- ^ «Порт» . Компьютерный словарь информационных технологий .
- ^ Ригни, Стив (апрель 1992 г.). «Основы локальной сети, часть 2 — LANstep» . Журнал ПК . п. 316.
- ^ Нанн, Том (24 августа 1994 г.). «Хейс пытается разгрузить научно-исследовательский центр Китченер-Ватерлоо» . Газета . Монреаль, Квебек Канада.
- ^ Хитц, Дэвид; Харрис, Гай; Лау, Джеймс К.; Шварц, Аллан М. (январь 1990 г.). Использование Unix как одного из компонентов облегченного распределенного ядра для многопроцессорных файловых серверов (PDF) (технический отчет). Ауспик.
- ^ Копп, Карло (июнь 1997 г.). "Отважные маленькие тостеры?" . Отраслевые публикации доктора Карло Коппса .
- ^ Джериан, Чарльз П. «Домашняя страница Чака — я работал в CacheFlow Inc» . jerian.tripod.com .
Дальнейшее чтение
[ редактировать ]- Малькольм, Майкл А.; Стаффорд, Гэри Дж. (сентябрь 1977 г.). Набор для написания ассемблера Тота (PDF) . Факультет компьютерных наук Университета Ватерлоо (технический отчет).
- Черитон, ДР; Мерфи, В. (сентябрь 1979 г.). Руководство системного программиста Verex (Технический отчет). Университет Британской Колумбии.
- Черитон, Дэвид Р. (1979). Проектирование проверяемой операционной системы (Технический отчет).
- Черитон, ДР (сентябрь 1980 г.). Ядро Verex (Технический отчет). Университет Британской Колумбии.
- Черитон, ДР (ноябрь 1981 г.). «Проектирование распределенного ядра». Материалы Национальной конференции ACM .
- Уоллис, Питер Дж.Л. (1982). Портативное программирование . Макмиллан. ISBN 0333310365 .
- Черитон, Дэвид Р. (1982). Система Тота: многопроцессное структурирование и переносимость . Северная Голландия. ISBN 0-444-00701-6 .
- Малкольм, Майкл Александр; Даймент, Дуг (декабрь 1983 г.). «Опыт разработки пользовательского интерфейса порта Ватерлоо». Материалы симпозиума ACM SIGSMALL 1983 года по персональным и малым компьютерам - SIGSMALL '83 . стр. 168–175. дои : 10.1145/800219.806664 . ISBN 0897911237 . S2CID 14736242 .