2013-12-10

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


Представлен первый стабильный выпуск открытой облачной операционной системы Mirage OS 1.0, развивавшейся с 2009 года группой исследователей из Кембриджского университета и компании Citrix. Mirage OS обеспечивает возможность запуска поверх гипервизора приложений на языке OCaml с минимальной системной обвязкой (unikernel). Таким образом Mirage OS позволяет создавать операционные системы одного приложения, содержащие только компоненты, необходимые для запуска одной программы, без необходимости использования традиционных операционных систем с универсальным ядром, приложениями и набором библиотек.
Разработка программ производится в традиционных ОС, после чего при помощи Mirage OS программа компилируется в самодостаточное специализированное ядро, которое может запускаться непосредственно поверх гипервизора Xen или в форме процесса в POSIX-совместимом окружении. В будущем ожидается обеспечение работы окружений Mirage OS в форме модулей ядра FreeBSD или поверх JavaScript-движков. Работа с Mirage сводится к трём стадиям: подготовка конфигурации с определением используемых в окружении OPAM-пакетов; сборка окружения; запуск и контроль за выполнением окружения (Mirage сам создаст файлы конфигурации для Xen и запустит окружение).
Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться существенного снижения накладных расходов и повышения безопасности. Упрощается и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить новое окружение. Поддерживается более 50 библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и т.п.), работы с хранилищами и обеспечения параллельной обработки данных.
Несмотря на то, что приложения и библиотеки формируются на высокоуровневом языке OCaml, итоговые окружения демонстрируют достаточно неплохую производительность. Например, реализация DNS-сервера на языке OCaml на 25% обогнала по числу обработанных в секунду запросов DNS-сервер на базе BIND 9. При этом размер окружения на базе Mirage OS составил всего 200 Кб, в том время как размер образа виртуального окружения с традиционной системой и BIND 9 превысил 450 Мб. Другим примером является обеспечение работы сайта проекта openmirage.org в форме Mirage-окружения, которое занимает около 1 Мб с учётом всех размещённых на сайте данных. Для запуска окружения с сайтом используется сервис Amazon EC2.


source1
source2

Комментариев нет:

Отправить комментарий