Проект Xen представил Unikraft для выполнения приложений поверх гипервизора

6 декабря 2017 года

Разработчики гипервизора Xen анонсировали проект Unikraft, в рамках которого развивается технология, позволяющая запускать отдельные приложения поверх гипервизора. Unikraft предоставляет инструменты для упрощения сборки самодостаточных unikernel, в которых исходные тексты приложения компилируются в подобие ядра операционной системы, включающего только компоненты, необходимые для запуска определённой программы. Код проекта распространяется под лицензией BSD.

Избавление от лишних звеньев и поставка только действительно необходимых компонентов операционной системы позволяет снизить потребление ресурсов, уменьшить накладные расходы, сократить время запуска и повысить безопасность, приблизив характеристики решений на базе unikernel к контейнерам, но предоставив высокий уровень изоляции. В качестве областей применения, в которых востребован данный подход, упоминаются системы на базе микросервисов, встраиваемые устройства, интернет вещей (IoT) и автомобильные информационные системы.

В отличие от уже существующих проектов, таких как MirageOS, MiniPython, ClickOS и HaLVM, Unikraft позиционируется как универсальная модульная система, не привязанная к конкретным языкам программирования и позволяющая достаточно быстро организовать сборку в форме unikernel существующих проектов. В состав Unikraft входит сборочный инструментарий и набор настраиваемых библиотек, выступающих в роли сборочных блоков для построения unikernel на основе имеющейся кодовой базы.

Библиотеки разделены на четыре категории:

  • Библиотеки поддержки архитектур, включающие элементы для обеспечения работы на различных аппаратных архитектурах (x86_64, ARM32, MIPS);
  • Библиотеки поддержки платформ, позволяющие адаптировать unikernel для запуска в различных окружениях - поверх обычного оборудования, Xen и KVM или в форме непривилегированного процесса в Linux;
  • Базовые библиотеки (Core), предоставляют такие возможности, как драйверы для сетевого доступа, файловые системы, механизмы распределения памяти, планировщики задач, сетевой стек, runtime (например, интерпретатор Python), инструменты профилирования и отладки;
  • Внешние библиотеки - порты существующих библиотек, адаптированные для работы в Unikraft (libc, openssl и т.п.).

Сборочный инструментарий позволяет скомпилировать приложения с набором заданных библиотек в самодостаточный исполняемый файл, который может работать на выбранной целевой системе без каких-либо прослоек (например, поверх Xen, в виде процесса Linux или вместо ОС на обычном оборудовании). Настройка состава unikernel осуществляется по аналогии с применением kconfig для настройки ядра Linux, а также при помощи набора сборочный файлов (Makefile), через которые можно выбрать и настроить необходимые библиотеки. В простейшем случае достаточно запустить "make menuconfig", выбрать библиотеки и параметры итогового образа, затем сохранить настройки, запустить утилиту make и получить исполняемые образы для всех выбранных платформ.

Источники

править


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

Комментарии

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