HelenOS

13.11.2021

HelenOS — операционная система, основанная на многосерверном микроядре. Исходный код HelenOS написан на языке C и опубликован под лицензией BSD.

Технические детали

Микроядро обрабатывает многозадачность, управление памятью и межпроцессное взаимодействие. Оно также предоставляет потоки исполнения на уровне ядра и поддерживает многоядерность (SMP).

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

Каждый процесс (называемый задачей, task) может использовать несколько потоков исполнения (планируемых микроядром по вытесняющей схеме). Каждый поток может в свою очередь состоять из нескольких волокон, планирование которых производится из пользовательского пространства. Драйверы устройств и файловых систем, как и другие системные службы реализуются набором задач (серверов, server) пользовательского пространства, образуя многосерверную структуру HelenOS.

Задачи взаимодействуют путем использования механизма HelenOS IPC, предоставляющего режим постоянных соединений с асинхронной передачей. Он может использоваться для отправки небольших сообщений фиксированного размера, блоков байтов или для установления режима совместного использования для фрагмента памяти. Сообщения пересылаются без копирования крупных данных и без отображения памяти в адресное пространство промежуточной задачи.

Развитие

Разработка HelenOS производится сообществом разработчиков. Оно состоит из небольшой основной команды, в основном сотрудников и студентов факультета математики и физики Карлова университета в Праге, а некоторого числа соавторов со всего мира. В 2011, 2012 и 2014 годах HelenOS участвовала в инициативе Google Summer of Code в качестве организатора летних студенческих проектов. В 2013 году проект также участвовал в программе ESA «Summer of Code in Space 2013».

Исходный код HelenOS распространяется под лицензией BSD, некоторые сторонние компоненты доступны под лицензией GNU GPL. Обе лицензии сертифицированы в качестве лицензий свободного программного обеспечения, что делает HelenOS свободным программным обеспечением.

Аппаратная поддержка

HelenOS способна работать на нескольких процессорных архитектурах, в том числе ARM, x86-64, IA-32, IA-64 (Itanium), MIPS, PowerPC (только 32-битная версия), SPARC V9 и RISC-V. Для каждой из архитектур существовали версии HelenOS, запускаемые на реальном оборудовании, а не на симуляторе архитектуры.

HelenOS поддерживает периферийные устройства PATA, SATA, USB Mass Storage (USB Flash), USB HID (устройства ввода), Atheros USB WiFi, несколько сетевых карт Ethernet, аудиочипы SoundBlaster 16 и Intel HDA, последовательные порты, клавиатуры, мыши и видеоустройство в виде простого кадрового точечного массива («фреймбуфера»).

Исследования

HelenOS используется для исследований в области компонентов программного обеспечения и верификации в университете города Прага. Кроме того, HelenOS использовалась студентами в качестве платформы для программных проектов и магистерских диссертаций.



Имя:*
E-Mail:
Комментарий: