The OpenNET Project / Index page

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

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

21.10.2019 12:19

Состоялся релиз проекта MirageOS 3.6, позволяющего формировать операционные системы одного приложения, в которых приложение поставляется как самодостаточный "unikernel", способный выполняться без применения операционных систем, отдельного ядра ОС и каких-либо прослоек. Для разработки приложений применяется язык OCaml. Код проекта распространяется под свободной лицензией ISC.

Вся низкоуровневая функциональность, свойственная операционной системе, реализована в форме библиотеки, прикрепляемой к приложению. Приложение может быть разработано в любой ОС, после чего компилируется в специализированное ядро (концепция unikernel), которое может запускаться напрямую поверх гипервизоров Xen, KVM, BHyve и VMM (OpenBSD), поверх мобильных платформ, в форме процесса в POSIX-совместимом окружении или в облачных окружениях Amazon Elastic Compute Cloud и Google Compute Engine.

Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться существенного снижения накладных расходов и повышения безопасности. Работа с MirageOS сводится к трём стадиям: подготовка конфигурации с определением используемых в окружении OPAM-пакетов, сборка окружения и запуск окружения. Runtime для обеспечения работы поверх Xen основан на урезанном ядре Mini-OS, а для других гипервизоров и систем на базе ядра Solo5.

Несмотря на то, что приложения и библиотеки формируются на высокоуровневом языке OCaml, итоговые окружения демонстрируют достаточно неплохую производительность и минимальный размер (например, DNS-сервер занимает всего 200 Кб). Упрощается и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить новое окружение. Поддерживается несколько десятков библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и т.п.), работы с хранилищами и обеспечения параллельной обработки данных.

Основные изменения в новом выпуске связаны с обеспечением поддержки новых возможностей, предложенных в инструментарии Solo5 0.6.0 (sandbox-окружение для выполения unikernel):

  • Добавлена возможность запуска unikernel MirageOS в изолированном окружении spt ("sandboxed process tender"), предоставляемом инструментарием Solo5. При использовании бэкенда spt ядра MirageOS запускаются в пользовательских процессах Linux, к которым применяется минимальная изоляция на основе seccomp-BPF;
  • Реализована поддержка манифеста приложений от проекта Solo5, позволяющего определить несколько прикрепляемых к unikernel сетевых адаптера и устройств хранения при изоляции на базе бэкендов hvt, spt и muen (использование для бэкендов genode и virtio пока ограничено одним устройством);
  • Усилена защита бэкендов на базе Solo5 (hvt, spt), например, обеспечена сборка в режиме SSP (Stack Smashing Protection).


  1. Главная ссылка к новости (https://mirage.io/blog/announc...)
  2. OpenNews: Выпуск MirageOS 3.5, платформы для запуска приложений поверх гипервизора
  3. OpenNews: Выпуск libOS, unikernel на языке Rust для запуска приложений поверх гипервизора
  4. OpenNews: Проект Xen представил Unikraft для выполнения приложений поверх гипервизора
  5. OpenNews: Docker поглотил Unikernel, технологию выполнения приложений поверх гипервизора
  6. OpenNews: В рамках проекта IncludeOS развивается ядро для обособленного запуска C++-приложений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51710-mirageos
Ключевые слова: mirageos
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:22, 21/10/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +11 +/
     

     ....ответы скрыты (2)

  • 1.3, abi (?), 13:04, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >> которое может запускаться напрямую поверх гипервизоров ... BHyve ...

    Ого, это что-же получается, я могу из уютной FreeBSD легковесного пингвина тискать? Точно надо будет попробовать :))

     
     
  • 2.4, Голубой гигант (?), 13:15, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > пингвина тискать

    Как это называется?

     
     
  • 3.7, zzz (??), 13:33, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Оптимизация расходов. Нет под фрюхой нативного drbd, тащить раскривушку в инфраструктуру не хочется - запустил drbd в виртуалочке, и дело в шляпе.

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

     
  • 3.20, WWF (?), 06:50, 22/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зоофилия.
     
  • 2.5, Аноним (5), 13:19, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. В MirageOS нет линуксового ядра даже близко.
     

  • 1.6, Аноним (6), 13:31, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Вы чуть не сломали мой моск! Думаю, что пойму, о чем тут речь, где-то к 10-11му перечитыванию данного текста..
     
     
  • 2.8, anonymous (??), 13:51, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Вы чуть не сломали мой моск! Думаю, что пойму, о чем тут речь, где-то к 10-11му классу

    поправил :)

     
     
  • 3.15, Аноним (15), 18:22, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    О вот и 10-ти классники подтянулись
     

  • 1.9, Аноним (9), 14:01, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    а где картинки? переделайте новость пока мало кто посмотрел. с картинками понятнее
     
     
  • 2.10, A.Stahl (ok), 14:21, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Тут могут быть дети: им нельзя смотреть такие картинки.
     

  • 1.11, Аноним (11), 15:47, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Классная вещь. Я уже давно использую фаерволл на OCalm. А вы и дальше юзайте свои iptables из 80-х
     
     
  • 2.12, Аноним (12), 16:11, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Покажи!
     
  • 2.13, Анонишка (?), 16:23, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Денис Попов?
     
     
  • 3.17, Денис Попов (?), 21:49, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, чего хотел то?
     
     
  • 4.21, Дегенератор (ok), 08:43, 22/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Когда новые обои для гипервизора?
     

  • 1.14, Аноним (15), 18:20, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что если гипервизор запускать сразу в докере?
     
     
  • 2.16, ievoochielaPh5Ph (ok), 18:25, 21/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На каком уровне работает гипервизор и на каком докер представляешь вообще, васья?
     
     
  • 3.22, Аноним (22), 13:09, 22/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно запустить гипервизор в гипервизоре в гипервизоре? А гипервизор в гипервизоре в гипервизоре в гипервизоре? А можно на ARM64 запускать программы от AMD64 (Windows, например)? И если так, оказывается, можно (вложенная виртуализация, QEMU и т.д., и т.п.), то почему в докере нельзя? Про производительность, конечно же, в данном случае речи нет, но в условии задачи о производительности ничего не сказано ;)
     

  • 1.18, Аноним (18), 22:14, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > DNS-сервер занимает всего 200 Кб

    И что может этот DNS-сервер?

     
     
  • 2.23, Аноним (23), 18:29, 22/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Выводить надпись "Я гипервизор"
     
  • 2.24, Аноним (23), 18:34, 22/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Занимать память, например. Ещё что-то нужно?
     
     
  • 3.29, Аноним84701 (ok), 15:33, 23/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Занимать память, например. Ещё что-то нужно?

    Умение петросянить, например?  Хотя, с этим анонимы справляется и сами, без утилит 🙄

    > Jitsu is a forwarding DNS server that automatically boots unikernels on demand. When a DNS query is received, Jitsu first checks for a local unikernel that is mapped to the requested domain. If a unikernel is found, the unikernel is started and its IP is returned to the client. Otherwise, the request is forwarded to the next DNS server.
    > Jitsu supports several backends to manage the unikernel VMs. Currently libvirt, XAPI and libxenlight are supported. Metadata and internal state is stored in Irmin and the DNS server is implemented on top of ocaml-dns.
    >

     

  • 1.25, Простой парень (?), 23:13, 22/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ещё один маргинальный дистр мнящий себя пупом Земли.
     
  • 1.26, Аноним (26), 08:02, 23/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    sudo bash
    apt-get install opam
    opam init
    opam install mirage
    mirage init
    mirage install apt-get

    ну вы поняли.

     
     
  • 2.27, Аноним (27), 10:08, 23/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Круто проект, но трэш начался уже на этапе opam init
    какие-то странные решения со скриптами в .profile:

    . .opam/opam-init/init.sh > /dev/null 2> /dev/null || true

    я так в детском саду на баше писал...


     

  • 1.28, InuYasha (?), 14:21, 23/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> без драйверов

    Простите, но как же тогда всякие OpenCL/КУДАх-тах-тах?

     

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



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

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