Выпуск Mirage OS 2.0, платформы для запуска приложений поверх гипервизора
Разработка программ производится в традиционных ОС, после чего при помощи 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 и т.п.), работы с хранилищами и обеспечения параллельной обработки данных. В будущем ожидается обеспечение работы окружений Mirage OS в форме модулей ядра FreeBSD или поверх JavaScript-движков.
В процессе подготовки Mirage OS 2.0 основная работа была сосредоточена на обеспечении применения Mirage OS для создания применимых в практике проектов. Из добавленных улучшений можно отметить:
- Поддержка формирования окружений для архитектуры ARM, что позволяет использовать Mirage OS на таких платах, как Cubieboard 2.
- Реализована распределённая БД Irmin, поддерживающая создание ответвлений, снапшоты, откат изменений и синхронизацию в стиле Git. БД оформлена в виде библиотеки, написанной на языке OCaml и поддерживающей компиляцию в Javascript;
- Представлен проект OCaml TLS, в рамках которого подготовлена высокопроизводительная и надёжная реализация протокола TLS, написанная на языке OCaml;
- Реализованы новые компоненты модульного TCP/IP-стека на OCaml;
- Подготовлен протокол Vchan для обмена сообщениями между виртуальными окружениями;
- Добавлена библиотека ctypes, предоставляющая средства для организации взаимодействия с внешними библиотеками на языке Си.
Источник: http://www.opennet.ru/opennews/art.shtml?num=40253
|
0 | Tweet | Нравится |
|