+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Відбувся реліз MirageOS 3.6 - платформи для запуску програм поверх гіпервізора

Відбувся реліз MirageOS 3.6 - платформи для запуску додатків поверх гіпервізора

Відбувся реліз проекту 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).

Інші новини