The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

23.07.2014 00:31

После семи месяцев разработки анонсирован релиз облачной операционной системы Mirage OS 2.0, которая обеспечивает возможность запуска приложений, написанных на языке 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 и т.п.), работы с хранилищами и обеспечения параллельной обработки данных. В будущем ожидается обеспечение работы окружений 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, предоставляющая средства для организации взаимодействия с внешними библиотеками на языке Си.


  1. Главная ссылка к новости (http://openmirage.org/blog/ann...)
  2. OpenNews: Google анонсировал Kubernetes, открытую систему управления кластером изолированных контейнеров
  3. OpenNews: Серверная операционная система CoreOS перешла на стадию бета-тестирования
  4. OpenNews: Red Hat представил Atomic, концепцию модульной ОС на базе изолированных контейнеров
  5. OpenNews: OSv - новая открытая ОС, нацеленная на выполнение обособленных программ поверх гипервизора
  6. OpenNews: Компания IBM открыла исходные тексты операционной системы FusedOS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40253-mirage
Ключевые слова: mirage
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (54) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 03:13, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И наконец это случилось! Производительность в купе с безопасностью!
     
     
  • 2.6, rob pike (?), 08:41, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +7 +/
    В плацкарте пока.
     
     
  • 3.23, Аноним (-), 13:38, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по картинке - в товарняке, в вагоне-скотовозе. "Ну и что что воняет, зато не как все!"
     
     
  • 4.51, rob pike (?), 15:11, 24/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > в товарняке

    Оно (пока что, во всяком случае) имеет четкую серверную направленность, так что да.

     
  • 2.47, АнонимусРекс (?), 06:48, 24/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    man OSv, Atomic и еще целая куча подобных проектов которые давно зарелизились и используются
     
     
  • 3.52, rob pike (?), 15:13, 24/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > man OSv

    Это хорошо, но вместо ядра появляется JVM. Всем ли надо такое счастье?
    Многим - надо, не спорю.

    > Atomic и еще целая куча подобных проектов которые давно зарелизились
    > и используются

    Все они пока далеки от этого.

     

  • 1.2, RNZ (ok), 04:53, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Весьма вкусное описание.
     
     
  • 2.22, Аноним (-), 13:32, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты описание распечатал на бумаге и жрал штоли?
     
     
  • 3.30, Аноним (-), 14:48, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ты описание распечатал на бумаге и жрал штоли?

    Зачем? Достаточно полизать экран.

     
     
  • 4.42, Аноним (-), 22:03, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он у меня с толстым слоем грязи.
     
     
  • 5.46, Lain_13 (ok), 01:59, 24/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А ты думаешь как он почувствовал вкус?
     
  • 3.35, Ландау (?), 15:19, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Метафора и аноним не перескаются. Аксиома.
     
     
  • 4.39, Аноним (-), 19:06, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не метафора, это отвратительный штамп уровня гламурных шлюх из телевизора.
     
     
  • 5.40, Ландау (?), 19:11, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Гламурность, шампованность и отвратительность не отменяет "метафорность" в отношении анонима. Основание - первая Аксиома. Т.о. на лицо рекурсия.
     

  • 1.3, Классический Анонимус (?), 05:29, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Почему вкупе с безопасностью? Наоборот получается, в одно приложение надо засунуть и ssh и dns и допусим web-сервер. А в более реальном случае - ssh+dns+sql+web-frontend+web-backend.
     
     
  • 2.4, Аноним (-), 06:21, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так есть протоколы общения приложений между собой. Сразу поверх гипервизора запускаешь весь набор в отдельных контейнерах и все.
     
     
  • 3.9, Аноним (9), 08:50, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    и тут возникает вопрос, а насколько в такой реализации оно будет быстрее? И будет ли?
     
     
  • 4.19, rob pike (?), 12:33, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А где в выражении "размер окружения на базе Mirage OS составил всего 200 Кб, в том время как размер образа виртуального окружения с традиционной системой и BIND 9 превысил 450 Мб" вы увидели слово "быстрее"?
    При таких раскладах не медленней - уже вполне достаточно.
    Это не говоря о несколько меньшей дырявости.
     
     
  • 5.20, Аноним (-), 12:56, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Видимо в выражении " Например, реализация DNS-сервера на языке OCaml на 25% обогнала по числу обработанных в секунду запросов DNS-сервер на базе BIND 9."
     
     
  • 6.21, rob pike (?), 12:59, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну понятно же что это просто ребята не удержались чтоб не похвастаться.
    DNS-сервер хоть на бейсике для PDP-11 пиши, медленней BIND-а при всём желании не получится.
     
  • 6.32, Аноним (-), 14:53, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Видимо в выражении " Например, реализация DNS-сервера на языке OCaml на 25%
    > обогнала по числу обработанных в секунду запросов DNS-сервер на базе BIND 9."

    Программа, написанная для специально прохождения бенчмарков, в бенчмарке обогнала обычную программу, созданную для решения реальных задач.

    Вполне логично и предсказуемо, но полезной информации не несет.

     
  • 5.25, Аноним (-), 13:41, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > традиционной системой и BIND 9 превысил 450 Мб"

    А если им в контейнер вгрузить порт bind9 на ocaml, со всеми библами - их чудо тоже много чего превысит. А иначе, извините, у них функциональности bind9 не получается и сравнили теплое с мягким.

     
     
  • 6.27, rob pike (?), 13:49, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    То есть функциональность Bind9 включает в себя загрузку в память ядра ОС, "библов" и всего прочего, это полезные для пользователя features, я вас правильно понял?
     

  • 1.5, Seyko (?), 07:34, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Новость надо читать так: Linux не нужен, Xen как замена ядра Linux, разработка приложений для Xen.
     
     
  • 2.7, rob pike (?), 08:42, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Да, так и нужно читать.
    Ядро слишком толстое, тормозное и дырявое.
     
     
  • 3.31, Аноним (-), 14:50, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Только вот без него xen работать не будет, увы. Гипервизор - это, конечно, хорошо, но без dom0 - бесполезное украшение.
     
  • 2.55, Аноним (55), 19:48, 27/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ты так говоришь, как буд-то xen уже стал самостоятельной системой, а не запускается поверх линакса.
     

  • 1.8, Аноним (8), 08:45, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    конечно не нужен! оно же будет скоро как freebsd mirage_$program_name.ko
     
     
  • 2.28, Аноним (-), 14:46, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > freebsd

    А оно уже научилось работать как dom0?

     
     
  • 3.37, Аноним (8), 17:19, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    для модуля ядра не нужен xen
     

  • 1.10, via (??), 09:34, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    да, надо caml ботанить, годный язык же
     
  • 1.11, Аноним (-), 10:58, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    почему caml? лучше бы С
     
     
  • 2.18, rob pike (?), 12:30, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    OOCobol


     

  • 1.12, Кир (?), 11:02, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    бомба !
     
     
  • 2.16, arisu (ok), 12:26, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > бомба !

    резиновая.

     
     
  • 3.33, Аноним (-), 14:54, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> бомба !
    > резиновая.

    Скорее чугунная.

     

  • 1.13, Аноним (13), 11:02, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Закидайте меня помидорами, но никак не пойму, чем может быть интересен OCaml без юникода. Костыли типа Camomile или батарейки не предлагать
     
     
  • 2.17, rob pike (?), 12:29, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http://mirage.github.io/uutf/#Uutf


     

  • 1.14, Аноним (-), 11:48, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Штука бомба когда выкинут Xen
     
     
  • 2.15, rob pike (?), 12:26, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Xen это дело спонсирует, на секундочку.
     
     
  • 3.29, Аноним (-), 14:48, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Xen это дело спонсирует, на секундочку.

    Найдут спонсора получше (например, M$ с HyperV) - и пойдет xen рачком по болотам.

     

  • 1.24, Аноним (-), 13:40, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мерещится кривой перевод фразы о 200кб, ибо это уровень крутых клонов спектрума, а не современных 64-битных монстров.
     
     
  • 2.26, Аноним (-), 13:43, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Мерещится кривой перевод фразы о 200кб, ибо это уровень крутых клонов спектрума,
    > а не современных 64-битных монстров.

    Не, это просто максимально самопальный и ни с чем не совместимый велосипед. А если его написать на асме - можно в 5 кило уложиться, пожалуй.

     
     
  • 3.34, Аноним (-), 14:56, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А если его написать на асме - можно в 5 кило уложиться, пожалуй.

    Асм недостаточно молодежный. Надо, чтобы "тяп-ляп - и в продакшен".

     
     
  • 4.36, rob pike (?), 16:33, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Но это же и есть квинтэссенция UNIX way
     
     
  • 5.38, Аноним (-), 17:29, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    нет
     
     
  • 6.44, rob pike (?), 23:42, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да.

    >http://www.jwz.org/doc/worse-is-better.html

     

  • 1.41, Аноним (-), 21:00, 23/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Осталось засунуть это в системД
     
     
  • 2.43, Аноним (-), 23:22, 23/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну или туда systyemd
     
     
  • 3.48, Andrey Mitrofanov (?), 11:36, 24/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну или туда systyemd

    Да! Платформа для запуска одного приложения - systemd. Там его и зак0пать. Скорее бы.

     

  • 1.49, Аноним (-), 12:26, 24/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это что-то вроде VMWare ESXi?
     
  • 1.50, braintorch (?), 14:42, 24/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А чего это они свою реализацию DNS-сервера с BIND 9 сравнивают, а не с чем-нибудь попроще? У них такой же по возможностям сервер?
     
  • 1.53, 123 (??), 18:47, 24/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > создавать операционные системы одного приложения, содержащие только компоненты, необходимые для запуска одной программы

        DOS...
        Синей пеленой экран заполнил чистый DOS
        Мышь...
        Стала вдруг квадратной, потеряла форму мышь...
        Я разбил окно,
        девяностопятое мастдайное окно,
        И поставил DOS, и тогда увидел:
        Это счастье, — вот оно.

     
     
  • 2.54, Andrey Mitrofanov (?), 18:52, 24/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> создавать операционные системы одного приложения, содержащие только компоненты, необходимые для запуска одной программы
    >     Это счастье, — вот оно.

    Лето, полнится опеннет цепями марковыми.
      У кащенитов выпуск на фак-те прикладной поэзии.
        Пойду пинговать серверы фрагментированными check_ssh() TCP пакетами.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру