Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Развитие [ править ]

В начале 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 Public License v3. [4]

Ядро и ядро [ править ]

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

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

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

Ядро [ править ]

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

Библиотеки [ править ]

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

Загрузчик и менеджер процессора [ править ]

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

Именование и серверы [ править ]

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

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

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

Ключевыми серверами в Helios являются ранее упомянутый загрузчик, диспетчер процессора и сетевой сервер, а также диспетчер сеансов, сервер окон и файловый сервер. Другие включают в себя клавиатуру, мышь, серверы RS232 и Centronics (встроенные в хост-сервер ввода-вывода), нулевой сервер (например, / dev / null в Unix ) и сервер регистратора (например, системный журнал 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 изначально предназначался для использования с системами Transputer. Он совместим с продуктами различных производителей, включая 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 был перенесен на TI TMS320C40 DSP и архитектуру ARM, используемую планшетным устройством Active Book.

Ссылки [ править ]

  1. ^ Перигелий Software Ltd. (май 1991). Параллельная операционная система Helios (PDF) . Prentice Hall International. п. 9. ISBN 0-13-381237-5.
  2. ^ Король, Тим. "Тим Кинг - резюме" . Проверено 18 марта 2007 .
  3. ^ Richards, M .; Эйлуорд, Арканзас; Bond, P .; Evans, RD; Найт, Би Джей (сентябрь 1979 г.). «TRIPOS - портативная операционная система для мини-компьютеров». Практика и опыт работы с программным обеспечением . 9 (7): 513–526. DOI : 10.1002 / spe.4380090702 .
  4. ^ Мур, Аксель. «Аксель Мур» . Проверено 7 апреля 2019 .

Дальнейшее чтение [ править ]

  • Программное обеспечение Perihelion (1989). Операционная система Helios . Prentice Hall International (UK) Ltd. ISBN 0-13-386004-3.
  • Программное обеспечение Perihelion (1991). Параллельная операционная система Helios . Prentice Hall International (UK) Ltd. ISBN 0-13-381237-5.

Внешние ссылки [ править ]

  • Домашняя страница Transputer Рама Минакшисундарама
  • Transputer.net Библиотека Гелиоса