Выпуск 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

Дадаць каментар