Введение

Наноядро и гипервизор

Adeos (Adaptive Domain Environment for Operating Systems) – это аппаратный слой абстракции наноядра (HAL) или гипервизор, работающий между компьютерным оборудованием и операционной системой (ОС), работающей на этом оборудовании. Он отличается от других наноядер тем, что является не просто низкоуровневым слоем для внешнего ядра. Вместо этого он предназначен для одновременного запуска нескольких ядер, что сближает его с технологиями полной виртуализации. Adeos – это свободное программное обеспечение с открытым исходным кодом, распространяемое по лицензии GNU General Public License (GPL). Adeos предоставляет гибкую среду для совместного использования аппаратных ресурсов между несколькими операционными системами или между несколькими экземплярами одной ОС, позволяя одновременно существовать нескольким доменам с приоритетами на одном и том же оборудовании. Adeos был успешно интегрирован под ядро Linux, открывая возможности, такие как кластеризация симметричной мультипроцессорности (SMP), более эффективная виртуализация, отладка ядра без применения патчей и системы вычислений в реальном времени (RT) для Linux. В отличие от большинства HAL, Adeos может быть загружен как загружаемый модуль ядра Linux, позволяя другой ОС работать параллельно с ним. Adeos был разработан в контексте интерфейса приложений реального времени (RTAI) для его модульности и отделения HAL от ядра реального времени.

Предыдущая работа

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

Общее использование ресурсов операционной системы

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

Разработка операционной системы

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

Дебьюгеры и зондеры ядра без патчей

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