Выпуск 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), предоставляющая средства для организации взаимодействия с внешними библиотеками на языке Си.
Источники[править]
- Главная ссылка к новости (http://openmirage.org/blog/ann...) (Архивная копия от 11 мая 2015 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.