TRIX (операционная система) - TRIX (operating system)
Разработчик | Массачусетский технологический институт с Лаборатория компьютерных наук (LCS) |
---|---|
Семейство ОС | Unix-подобный |
Рабочее состояние | Исторический |
Исходная модель | Открытый исходный код |
изначальный выпуск | 1986 |
Доступно в | английский |
Платформы | NuMachine |
Ядро тип | Монолитное ядро |
Дефолт пользовательский интерфейс | Интерфейс командной строки |
TRIX это ориентированная на сеть исследовательская операционная система, разработанная в конце 1970-х в Массачусетский технологический институт с Лаборатория компьютерных наук (LCS) профессора Стив Уорд и его исследовательская группа. Он работал на NuMachine и имел удаленный вызов процедур функциональность, встроенная в его ядро, но в остальном был Версия 7 Unix похожий на работу.
Дизайн и реализация
При запуске NuMachine загружал одну и ту же программу на каждый ЦП в системе, передавая каждому экземпляру числовой идентификатор ЦП, на котором он работал. TRIX полагался на этот дизайн, чтобы первый ЦП настраивал глобальные структуры данных, а затем устанавливал флаг, сигнализирующий о завершении инициализации.[1] После этого каждый экземпляр ядра получил доступ к глобальным данным.[1] Система также поддерживает данные, принадлежащие каждому ЦП.[1] Доступ к файловой системе был предоставлен программой в пространство пользователя.[1][2]
Ядро поддерживает безымянные потоки, работающие в доменах.[1] Домен был эквивалентом процесса Unix без указателя стека[2] (каждый поток в домене имел указатель стека[2]). Поток может менять домены,[1] а системный планировщик будет переносить потоки между процессорами, чтобы все процессоры были заняты.[1] У потоков был доступ к единственному виду примитивов взаимного исключения и одному из семи приоритетов.[1] Планировщик был разработан, чтобы избежать инверсия приоритета.[1] Программы пользовательского пространства могут создавать потоки через порождать
системный вызов.[1]
Сборщик мусора периодически выявляет и освобождает неиспользуемые домены.[1]
Модель общей памяти, используемая для координации работы между различными процессорами, вызвала шина памяти разногласия и было известно, что это источник неэффективности.[1][2] Дизайнеры знали о дизайне, который смягчил бы спор.[2] Действительно, в оригинальном дизайне TRIX использовался неблокирующий механизм передачи сообщений,[2] но «было обнаружено, что эта реализация имеет недостатки, часто упускаемые из виду в литературе»,[2] в том числе плохая производительность.[2]
Хотя операционная система TRIX была впервые реализована на NuMachine, это было больше результатом доступности NuMachine в Массачусетском технологическом институте, чем какой-либо характеристикой архитектуры.[1] Система была разработана таким образом, чтобы ее можно было легко переносить.[2] Он был реализован в основном на C с небольшим кодом ассемблера. Примитив взаимного исключения может быть перенесен на любую архитектуру с атомарным инструкция по тестированию и установке.[1]
Попытка использования проектом GNU
Ричард Столмен упоминания в 1985 г. Манифест GNU что "исходное ядро существует" для Операционная система GNU, "но для эмуляции Unix необходимо гораздо больше функций".[3] Это была ссылка на ядро TRIX, которое авторы TRIX решили распространять как бесплатно программное обеспечение.[4]
В своем выступлении в октябре 1986 года Столлман пояснил, что «ядро TRIX работает, и оно имеет определенную ограниченную совместимость с Unix, но ему нужно гораздо больше. В настоящее время у него есть файловая система, которая использует ту же структуру на диске, что и древняя. Файловая система Unix делает это. Это упростило отладку, потому что они могли настроить файлы с помощью Unix, а затем они могли запустить TRIX, но эта файловая система не имеет каких-либо функций, которые я считаю необходимыми ».[5] Возможности, которые Столлман хотел добавить (управление версиями файлов, восстановление, информация о том, когда и как и где файл был скопирован на ленту, атомарные обновления файлов) обычно не были связаны с Unix.
В декабре 1986 года разработчики использовали ядро TRIX в качестве основы в своей первой попытке создать ядро для GNU. В конце концов они решили, что Трикс нельзя использовать в качестве отправной точки, прежде всего потому, что:
- он работал только на "непонятном, дорогом 68000 коробка",[4] и поэтому потребует перенос другим архитектуры, и
- было решено, что Мах Микроядро было лучшим базовым проектом для серверной операционной системы.[нужна цитата ] Эта вторая попытка превратилась в GNU Hurd.
Смотрите также
Рекомендации
- ^ а б c d е ж грамм час я j k л м п «Многопроцессорная реализация операционной системы TRIX» (PDF). Получено 2012-07-02.
- ^ а б c d е ж грамм час я «TRIX: операционная система, ориентированная на коммуникации» (PDF). Получено 2012-07-02.
- ^ "Манифест GNU". Получено 2010-08-05.
- ^ а б Столмен, Ричард М. (январь 1987 г.). «Статус проекта GNU». Бюллетень GNU. Фонд свободного программного обеспечения. 1 (2). Получено 2018-05-12.
- ^ «Лекция RMS в КТН». 1986-10-30. Получено 2018-05-12.
дальнейшее чтение
- Ward, S.A. TRIX: сетевая операционная система. COMPCON, весна 1980 г., стр. 344–349.
внешняя ссылка
- Исходный код ядра TRIX (так же может быть просматривал онлайн )
- Hurd история на Проект GNU интернет сайт