stringtranslate.com

ХелиОС

Helios — выпускаемая Unix-подобная операционная система для параллельных компьютеров , выпуск которой прекращен . Он был разработан и опубликован Perihelion Software . Его основная архитектураInmos Transputer . Микроядро Helios реализует распределенное пространство имен и протокол обмена сообщениями, через которые осуществляется доступ к сервисам. Библиотека совместимости POSIX позволяет использовать прикладное программное обеспечение Unix, а система предоставляет большинство обычных утилит Unix.

Работа над Helios началась осенью 1986 года. [1] Его успех был ограничен коммерческим провалом Transputer, а попытки перехода на другие архитектуры имели ограниченный успех. Перигелий прекратил торговлю в 1998 году. [2]

Название продукта было Гелиос . В своих материалах Perihelion Software никогда не называла операционную систему HeliOS .

Разработка

В начале 1980-х Тим Кинг присоединился к MetaComCo из Университета Бата , привезя с собой некоторые права на операционную систему TRIPOS . [3] MetaComCo заключила контракт с Commodore на работу над AmigaOS , при этом компонент AmigaDOS является производным от TRIPOS. В 1986 году Кинг покинул MetaComCo, чтобы основать Perihelion Software , и начал разработку параллельной операционной системы, первоначально ориентированной на серию процессоров INMOS Transputer . Helios расширил использование TRIPOS облегченной архитектуры передачи сообщений на параллельные сетевые машины.

Helios 1.0 был первым коммерческим выпуском летом 1988 года, за ним последовала версия 1.1 осенью 1989 года, 1.1a в начале 1990 года, 1.2 в декабре 1990 года, за которыми последовали обновления 1.2.1 и 1.2.2. Версия 1.3 представляла собой значительное обновление с многочисленными улучшениями утилит, библиотек, сервера и драйверов. Последним коммерческим выпуском была версия 1.3.1. Позже Тим Кинг и Ник Гарнетт дали разрешение на выпуск исходников под лицензией GNU General Public License v3. [4] Планировалось, что Helios 1.4 Alpha будет включать поддержку OpenLook, OpenMotif, KDE, Gnome и поддержку X11R6 для Transputer, Linux, Solaris и Windows. Этот выпуск не был завершен. [5]

Ядро и ядро

Helios был разработан для сети из нескольких узлов, соединенных множеством каналов связи с высокой пропускной способностью. Узлы могут быть выделенными узлами обработки или процессорами с подключенными устройствами ввода-вывода. Небольшие системы могут состоять из главного ПК или рабочей станции, подключенных к набору из нескольких узлов обработки, в то время как более крупные системы могут иметь сотни узлов обработки, поддерживаемых выделенными узлами для хранения, графики или пользовательских терминалов.

Для сети Helios требуется как минимум один узел сервера ввода-вывода , который может обеспечить сервер файловой системы , сервер консоли и управление сбросом для узлов обработки. При включении питания ядро ​​Helios загружается с сервера ввода-вывода в сеть. Каждый узел загружается с помощью небольшого загрузчика первого этапа , который затем загружает и инициализирует собственно ядро. После запуска узел связывается со своими соседями, загружая их по очереди, если это необходимо.

Ядро Helios состоит из ядра, библиотек, службы загрузчика и службы диспетчера процессора.

Ядро

Ядро Helios по сути представляет собой микроядро , обеспечивающее минимальную абстракцию над аппаратным обеспечением, при этом большинство служб реализованы как непривилегированные серверные процессы. Он обеспечивает распределение памяти, управление процессами, передачу сообщений и примитивы синхронизации.

Библиотеки

Ядро Helios содержит три библиотеки: системную, серверную и служебную. Библиотека утилит предоставляет некоторые базовые библиотечные процедуры для программирования на C , которые используются в других библиотеках. Системная библиотека предоставляет базовый интерфейс ядра, преобразуя вызовы функций C в сообщения, отправляемые в ядро ​​и из него. Он реализует абстракцию, которая позволяет осуществлять связь между процессами независимо от их местоположения в сети. Серверная библиотека предоставляет функции поддержки пространства имен для написания серверов Helios, как описано ниже.

Менеджер загрузчика и процессора

Остальные компоненты ядра — это серверы-загрузчик и менеджер процессора. После загрузки ядра эти процессы запускаются и интегрируют вновь работающий узел в сеть Helios.

Именование и серверы

Ключевой особенностью Helios является распределенная система имен. Сеть Helios реализует единое унифицированное пространство имен с виртуальным корневым узлом, дополнительными узлами структурирования виртуальной сети, узлами для каждого процессора и пространствами имен подпроцессора, предоставляемыми службами. Имена аналогичны именам в Unix , в них используется косая черта, разделяющая символы и текстовые элементы именования.

Пространство имен управляется сетевым сервером , который запускается сервером ввода-вывода после загрузки ядра на первом подключенном узле. Сетевой сервер использует предоставленную карту сети для выделения имен процессоров и инициализации драйверов для аппаратных устройств на определенных узлах сети. Ядро включает в себя преобразователь имен и управляет локальным кэшем маршрутов к ранее разрешенным именам.

Серверы — это процессы Helios, реализующие общий протокол сервера , обычно при поддержке серверной библиотеки. Серверный протокол концептуально похож на Unix VFS API и более близок к 9P из Plan 9 . Для этого требуется, чтобы серверы представляли свои ресурсы в виде файлов со стандартизированными операциями открытия/чтения/записи/закрытия. Подобно таким средствам, как /proc в Plan 9 и других Unix-подобных операционных системах, такие ресурсы, как файлы, устройства ввода-вывода, пользователи и процессы, представлены как виртуальные файлы в пространстве имен, обслуживаемом их управляющим процессом.

Ключевые серверы в Helios — это ранее упомянутый загрузчик, менеджер процессора и сетевой сервер, а также менеджер сеансов, оконный сервер и файловый сервер. Другие включают в себя клавиатуру, мышь, серверы RS-232 и Centronics (встроенные в главный сервер ввода-вывода), нулевой сервер (например, /dev/null в Unix ) и сервер регистрации (например, syslog в Unix ).

Программирование и утилиты

С точки зрения пользователя Helios очень похож на Unix. Предоставляется большинство обычных служебных программ, некоторые с расширениями, отражающими доступность нескольких машин.

Что не сразу бросается в глаза, так это то, что Helios расширяет понятие каналов Unix до языка, называемого языком распределения компонентов (CDL). В CDL типичный конвейер оболочки Unix , такой как more , называется рабочей группой и прозрачно распределяется сервером Task Force Manager по доступным процессорам. CDL расширяет традиционный синтаксис Unix дополнительными операторами для двунаправленных каналов, операторами фермы последовательных и параллельных процессов, балансировкой нагрузки и управлением ресурсами.

Приложения Helios можно писать с использованием C , C++ , FORTRAN и Modula-2 . Библиотека POSIX помогает портировать существующее программное обеспечение Unix и предоставляет программистам знакомую среду. Helios не поддерживает программы, написанные на языке программирования occam .

Аппаратное обеспечение

Helios преимущественно предназначался для использования с транспьютерными системами. Он совместим с продуктами различных производителей, включая системы TRAM INMOS, Meiko CS , Parsytec MultiCluster и SuperCluster, а также Telmat T.Node. Рабочая станция Atari Transputer Workstation , пожалуй, была самым популярным оборудованием Helios, по крайней мере, за пределами академических кругов.

Helios может работать на 32-битных транспьютерах T4xx и T8xx (но не на 16-битных моделях T2xx) и включает драйверы устройств для различного SCSI, Ethernet и графического оборудования от Inmos, Transtech и других.

В своих более поздних версиях Helios был портирован на DSP TI TMS320C40 и на архитектуру ARM , [6] последняя использовалась планшетным устройством Active Book. [7]

Рекомендации

  1. ^ Perihelion Software Ltd. (май 1991 г.). Параллельная операционная система Helios (PDF) . Прентис Холл Интернэшнл. п. 9. ISBN 0-13-381237-5.
  2. ^ Кинг, Тим. «Тим Кинг — резюме» . Проверено 18 марта 2007 г.
  3. ^ Ричардс, М.; Эйлуорд, Арканзас; Бонд, П.; Эванс, РД; Найт, Би Джей (сентябрь 1979 г.). «ТРИПОС — портативная операционная система для мини-компьютеров». Программное обеспечение: практика и опыт . 9 (7): 513–526. дои : 10.1002/сп.4380090702. S2CID  2847052.
  4. ^ Мюр, Аксель. «Аксель Мур». Гитхаб . Проверено 7 апреля 2019 г.
  5. ^ «Гелиос для транспьютера» . Проверено 25 мая 2022 г.
  6. ^ "Гелиос на руке". Пользователь Желудя . Июнь 1994 г. с. 16 . Проверено 5 августа 2021 г.
  7. ^ «Рождественский запуск активных книг» . Пользователь Желудя . Август 1990 г. с. 7 . Проверено 6 мая 2021 г.

дальнейшее чтение

Внешние ссылки