![]() |
После восьми лет разработки увидел свет выпуск проекта Muen 1.0, развивающего ядро разделения (Separation kernel), отсутствие ошибок в исходных текстах которого подтверждено при помощи математических методов формальной верификации надёжности. Ядро доступно для архитектуры x86_64 и может применяться в критически важных системах, требующих повышенного уровня надёжности и гарантии отсутствия сбоев. Исходные тексты проекта написаны на языке Ада и его верифицируемом диалекте SPARK 2014. Код распространяется под лицензией GPLv3.
Ядро разделения представляет собой микроядро, предоставляющее окружение для исполнения изолированных друг от друга компонентов, взаимодействие которых жёстко регулируются заданными правилами. Изоляция основана на применении расширений виртуализации Intel VT-x и предусматривает в том числе механизмы защиты для блокировки организации скрытых каналов связи. Ядро разделения более минималистично и статично по сравнению с другими микроядрами, что позволяет сократить число ситуаций, способных привести к сбою. Ядро выполняется в корневом режиме VMX по аналогии с гипервизором, а всё остальные компоненты в некорневом режиме VMX по аналогии с гостевыми системами. Доступ к оборудованию производится с использованием расширений Intel VT-d DMA и ремаппинга прерываний, что даёт возможность реализовать безопасную привязку PCI-устройств к компонентам, запускаемым под управлением Muen. Из возможностей Muen отмечается поддержка многоядерных систем, вложенных страниц памяти (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), таблиц атрибутов страниц памяти (PAT, Page Attribute Table). Muen также предоставляет фиксированный цикличный планировщик на базе вытесняющего таймера Intel VMX, компактный runtime, не влияющий на производительность, систему аудита крахов, механизм статического назначения ресурсов на основе правил, систему обработки событий и каналы разделяемой памяти для взаимодействия внутри запускаемых компонентов. Поддерживается запуск поверх Muen компонентов с 64-разрядным машинным кодом, 32- или 64-разрядных виртуальных машин, 64-разрядных приложений на языках Ada и SPARK 2014, виртуальных машин с Linux и самодостаточных "unikernel" на базе MirageOS. Основные новшества, предложенные в выпуске Muen 1.0:
|
| Время: 00:23 |