MirageOS 3.6, platformas lietojumprogrammu palaišanai hipervizora augšpusē, izlaidums

notika projekta izlaidums MirageOS 3.6, kas ļauj izveidot operētājsistēmas vienai lietojumprogrammai, kurā lietojumprogramma tiek piegādāta kā autonoms “unikernel”, kuru var izpildīt, neizmantojot operētājsistēmas, atsevišķu OS kodolu un jebkādus slāņus. Lietojumprogrammu izstrādei tiek izmantota OCaml valoda. Projekta kods izplata saskaņā ar bezmaksas ISC licenci.

Visa operētājsistēmai raksturīgā zemā līmeņa funkcionalitāte tiek īstenota lietojumprogrammai pievienotās bibliotēkas veidā. Lietojumprogrammu var izstrādāt jebkurā OS, pēc tam tā tiek apkopota specializētā kodolā (jēdziens unikāls), kas var darboties tieši virs Xen, KVM, BHyve un VMM (OpenBSD) hipervizoriem, virs mobilajām platformām, kā process ar POSIX saderīgā vidē vai Amazon Elastic Compute Cloud un Google Compute Engine mākoņvidēs.

Ģenerētā vide nesatur neko lieku un mijiedarbojas tieši ar hipervizoru bez draiveriem vai sistēmas slāņiem, kas ļauj būtiski samazināt pieskaitāmās izmaksas un paaugstināt drošību. Darbs ar MirageOS sastāv no trim posmiem: konfigurācijas sagatavošana un vidē izmantoto identificēšana OPAM pakotnes, veidojot vidi un iedarbinot vidi. Izpildes laiks, lai palaistu virs Xen, ir balstīts uz noņemtu kodolu Mini-OS, kā arī citiem hipervizoriem un uz kodolu balstītām sistēmām Solo5.

Neskatoties uz to, ka lietojumprogrammas un bibliotēkas tiek veidotas augsta līmeņa OCaml valodā, iegūtās vides demonstrē diezgan labu veiktspēju un minimālu izmēru (piemēram, DNS serveris aizņem tikai 200 KB). Vienkāršota ir arī vidi uzturēšana, jo, ja nepieciešams atjaunināt programmu vai mainīt konfigurāciju, pietiek ar jaunas vides izveidi un palaišanu. Atbalstīts vairāki desmiti bibliotēku OCaml valodā veikt tīkla darbības (DNS, SSH, OpenFlow, HTTP, XMPP u.c.), strādāt ar krātuvi un nodrošināt paralēlu datu apstrādi.

Galvenās izmaiņas jaunajā laidienā ir saistītas ar atbalsta nodrošināšanu jaunajām rīkkopā piedāvātajām funkcijām Solo5 0.6.0 (smilškastes vide unikernel palaišanai):

  • Pievienota iespēja palaist unikernel MirageOS izolētā vidē spt (“smilškastes procesa konkurss”), ko nodrošina rīkkopa Solo5. Izmantojot spt aizmuguri, MirageOS kodoli darbojas Linux lietotāju procesos, kuriem tiek piemērota minimāla izolācija, pamatojoties uz seccomp-BPF;
  • Atbalsts īstenots lietojumprogrammas manifests no Solo5 projekta, kas ļauj atsevišķi definēt vairākus tīkla adapterus un atmiņas ierīces, kas pievienotas unikernelam, pamatojoties uz hvt, spt un muen aizmugursistēmām (lietošana genoda un virtio aizmugursistēmai pašlaik ir ierobežota līdz vienai ierīcei);
  • Pastiprināta uz Solo5 (hvt, spt) balstīto aizmugursistēmu aizsardzība, piemēram, nodrošināta ēka SSP (Stack Smashing Protection) režīmā.

Avots: opennet.ru

Pievieno komentāru