Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Разработчик | Программное обеспечение Perihelion |
---|---|
Семейство ОС | Unix-подобный |
Рабочее состояние | Исторический |
Исходная модель | Открытый исходный код |
изначальный выпуск | 1988 |
Последний релиз | 1.3.1 / (дата неизвестна) |
Тип ядра | Микроядро |
Лицензия | GPL v3 |
Официальный веб-сайт | https://github.com/axelmuhr/Helios-NG |
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.
Ссылки [ править ]
- ^ Перигелий Software Ltd. (май 1991). Параллельная операционная система Helios (PDF) . Prentice Hall International. п. 9. ISBN 0-13-381237-5.
- ^ Король, Тим. "Тим Кинг - резюме" . Проверено 18 марта 2007 .
- ^ Richards, M .; Эйлуорд, Арканзас; Bond, P .; Evans, RD; Найт, Би Джей (сентябрь 1979 г.). «TRIPOS - портативная операционная система для мини-компьютеров». Практика и опыт работы с программным обеспечением . 9 (7): 513–526. DOI : 10.1002 / spe.4380090702 .
- ^ Мур, Аксель. «Аксель Мур» . Проверено 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 Библиотека Гелиоса