Перейти к содержанию

Выпуск MirageOS 3.6, платформы для запуска приложений поверх гипервизора

Материал из Викиновостей, свободного источника новостей

21 октября 2019 года

Состоялся релиз проекта MirageOS 3.6, позволяющего формировать операционные системы одного приложения, в которых приложение поставляется как самодостаточный "unikernel", способный выполняться без применения операционных систем, отдельного ядра ОС и каких-либо прослоек. Для разработки приложений применяется язык OCaml. Код проекта распространяется под свободной лицензией ISC.

Вся низкоуровневая функциональность, свойственная операционной системе, реализована в форме библиотеки, прикрепляемой к приложению. Приложение может быть разработано в любой ОС, после чего компилируется в специализированное ядро (концепция unikernel), которое может запускаться напрямую поверх гипервизоров Xen, KVM, BHyve и VMM (OpenBSD), поверх мобильных платформ, в форме процесса в POSIX-совместимом окружении или в облачных окружениях Amazon Elastic Compute Cloud и Google Compute Engine.

Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться существенного снижения накладных расходов и повышения безопасности. Работа с MirageOS сводится к трём стадиям: подготовка конфигурации с определением используемых в окружении OPAM-пакетов, сборка окружения и запуск окружения. Runtime для обеспечения работы поверх Xen основан на урезанном ядре Mini-OS, а для других гипервизоров и систем на базе ядра Solo5.

Несмотря на то, что приложения и библиотеки формируются на высокоуровневом языке OCaml, итоговые окружения демонстрируют достаточно неплохую производительность и минимальный размер (например, DNS-сервер занимает всего 200 Кб). Упрощается и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить новое окружение. Поддерживается несколько десятков библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и т.п.), работы с хранилищами и обеспечения параллельной обработки данных.

Основные изменения в новом выпуске связаны с обеспечением поддержки новых возможностей, предложенных в инструментарии Solo5 0.6.0 (sandbox-окружение для выполения unikernel):

  • Добавлена возможность запуска unikernel MirageOS в изолированном окружении spt ("sandboxed process tender"), предоставляемом инструментарием Solo5. При использовании бэкенда spt ядра MirageOS запускаются в пользовательских процессах Linux, к которым применяется минимальная изоляция на основе seccomp-BPF;
  • Реализована поддержка манифеста приложений от проекта Solo5, позволяющего определить несколько прикрепляемых к unikernel сетевых адаптера и устройств хранения при изоляции на базе бэкендов hvt, spt и muen (использование для бэкендов genode и virtio пока ограничено одним устройством);
  • Усилена защита бэкендов на базе Solo5 (hvt, spt), например, обеспечена сборка в режиме SSP (Stack Smashing Protection).

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Выпуск MirageOS 3.6, платформы для запуска приложений поверх гипервизора», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.