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

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

23 июля 2014 года

После семи месяцев разработки анонсирован (Архивная копия от 11 мая 2015 на Wayback Machine) релиз облачной операционной системы Mirage OS 2.0 (Архивная копия от 10 мая 2015 на Wayback Machine), которая обеспечивает возможность запуска приложений, написанных на языке OCaml, поверх гипервизора. Mirage OS позволяет создавать операционные системы одного приложения, содержащие только компоненты, необходимые для запуска одной программы, без необходимости использования традиционных операционных систем с универсальным ядром, утилитами и набором библиотек. В разработке Mirage OS принимают участие исследователи из Кембриджского университета, компании Citrix, проектов Xen, FreeBSD, Galois и OCamlPro.

Разработка программ производится в традиционных ОС, после чего при помощи Mirage OS программа компилируется в самодостаточное специализированное ядро (концепция unikernel), которое может запускаться непосредственно поверх гипервизора Xen или в форме процесса в POSIX-совместимом окружении. Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться существенного снижения накладных расходов и повышения безопасности.

Работа с Mirage сводится к трём стадиям:

  • Подготовка конфигурации с определением используемых в окружении OPAM-пакетов;
  • Сборка окружения;
  • Запуск и контроль за выполнением окружения (Mirage сам создаст файлы конфигурации для Xen и запустит окружение).

Несмотря на то, что приложения и библиотеки формируются на высокоуровневом языке OCaml, итоговые окружения демонстрируют достаточно неплохую производительность. Например, реализация DNS-сервера на языке OCaml на 25% обогнала по числу обработанных в секунду запросов DNS-сервер на базе BIND 9. При этом размер окружения на базе Mirage OS составил всего 200 Кб, в том время как размер образа виртуального окружения с традиционной системой и BIND 9 превысил 450 Мб.

Упрощается и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить новое окружение. Поддерживается несколько десятков библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и т.п.), работы с хранилищами и обеспечения параллельной обработки данных. В будущем ожидается (Архивная копия от 10 мая 2015 на Wayback Machine) обеспечение работы окружений Mirage OS в форме модулей ядра FreeBSD или поверх JavaScript-движков.

В процессе подготовки Mirage OS 2.0 основная работа была сосредоточена на обеспечении применения Mirage OS для создания применимых в практике проектов. Из добавленных улучшений (Архивная копия от 6 сентября 2014 на Wayback Machine) можно отметить:

  • Поддержка формирования окружений для архитектуры ARM, что позволяет использовать Mirage OS на таких платах, как Cubieboard 2.
  • Реализована распределённая БД Irmin, поддерживающая создание ответвлений, снапшоты, откат изменений и синхронизацию в стиле Git. БД оформлена в виде библиотеки, написанной на языке OCaml и поддерживающей компиляцию в Javascript;
  • Представлен проект OCaml TLS (Архивная копия от 10 мая 2015 на Wayback Machine), в рамках которого подготовлена высокопроизводительная и надёжная реализация протокола TLS, написанная на языке OCaml;
  • Реализованы новые компоненты модульного TCP/IP-стека на OCaml;
  • Подготовлен протокол Vchan (Архивная копия от 27 мая 2015 на Wayback Machine) для обмена сообщениями между виртуальными окружениями;
  • Добавлена библиотека ctypes (Архивная копия от 10 мая 2015 на Wayback Machine), предоставляющая средства для организации взаимодействия с внешними библиотеками на языке Си.

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


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

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

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