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

Відбувся реліз проекту Mirage OS 3.6, що дозволяє формувати операційні системи одного додатка, в яких додаток поставляється як самодостатній unikernel, здатний виконуватися без застосування операційних систем, окремого ядра ОС і будь-яких прошарків. Для розробки програм використовується мова OCaml. Код проекту поширюється під вільною ліцензією ISC.

Вся низькорівнева функціональність, властива операційній системі, реалізована у формі бібліотеки, що прикріплюється до додатку. Додаток може бути розроблений у будь-якій ОС, після чого компілюється у спеціалізоване ядро ​​(концепція одноядерне), яке може запускатися безпосередньо поверх гіпервізорів 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).

Джерело: opennet.ru

Додати коментар або відгук