Uitgave van MirageOS 3.6, een platform voor het uitvoeren van applicaties bovenop de hypervisor

vond plaats project vrijgeven Mirage OS 3.6, waarmee u besturingssystemen voor een enkele applicatie kunt maken, waarbij de applicatie wordt geleverd als een op zichzelf staande “unikernel” die kan worden uitgevoerd zonder het gebruik van besturingssystemen, een afzonderlijke besturingssysteemkernel en eventuele lagen. De OCaml-taal wordt gebruikt om applicaties te ontwikkelen. Projectcode gedistribueerd door onder de gratis ISC-licentie.

Alle functionaliteit op laag niveau die inherent is aan het besturingssysteem, wordt geïmplementeerd in de vorm van een bibliotheek die aan de applicatie is gekoppeld. De applicatie kan in elk besturingssysteem worden ontwikkeld, waarna deze wordt gecompileerd tot een gespecialiseerde kernel (het concept eenkernel), dat rechtstreeks bovenop Xen-, KVM-, BHyve- en VMM (OpenBSD)-hypervisors kan draaien, bovenop mobiele platforms, als een proces in een POSIX-compatibele omgeving, of in Amazon Elastic Compute Cloud- en Google Compute Engine-cloudomgevingen.

De gegenereerde omgeving bevat niets overbodigs en communiceert rechtstreeks met de hypervisor zonder stuurprogramma's of systeemlagen, wat een aanzienlijke verlaging van de overheadkosten en een verhoogde veiligheid mogelijk maakt. Werken met MirageOS komt neer op drie fasen: het voorbereiden van de configuratie en het identificeren van de configuraties die in de omgeving worden gebruikt OPAM-pakketten, het bouwen van de omgeving en het lanceren van de omgeving. Runtime om bovenop Xen te draaien is gebaseerd op een uitgeklede kernel Mini-OS, en voor andere hypervisors en kernelgebaseerde systemen Solo5.

Ondanks het feit dat applicaties en bibliotheken zijn gemaakt in de OCaml-taal op hoog niveau, vertonen de resulterende omgevingen redelijk goede prestaties en minimale grootte (de DNS-server neemt bijvoorbeeld slechts 200 KB in beslag). Het onderhoud van omgevingen wordt ook vereenvoudigd, omdat als het nodig is om het programma bij te werken of de configuratie te wijzigen, het voldoende is om een ​​nieuwe omgeving te creëren en te starten. Ondersteund enkele tientallen bibliotheken in de OCaml-taal om netwerkbewerkingen uit te voeren (DNS, SSH, OpenFlow, HTTP, XMPP, enz.), te werken met opslag en parallelle gegevensverwerking te bieden.

De belangrijkste wijzigingen in de nieuwe release hebben betrekking op het bieden van ondersteuning voor de nieuwe functies die in de toolkit worden aangeboden Solo5 0.6.0 (sandboxomgeving voor het uitvoeren van unikernel):

  • De mogelijkheid toegevoegd om Unikernel MirageOS in een geïsoleerde omgeving uit te voeren sp (“sandboxed process tender”) die door de toolkit wordt geleverd Solo5. Bij gebruik van de spt-backend draaien MirageOS-kernels in Linux-gebruikersprocessen waarop minimale isolatie wordt toegepast op basis van seccomp-BPF;
  • Ondersteuning geïmplementeerd toepassing manifest uit het Solo5-project, waarmee je meerdere netwerkadapters en opslagapparaten kunt definiëren die afzonderlijk op een unikernel zijn aangesloten op basis van hvt-, spt- en muen-backends (gebruik voor genode- en virtio-backends is momenteel beperkt tot één apparaat);
  • De bescherming van backends op basis van Solo5 (hvt, spt) is versterkt, er is bijvoorbeeld voorzien in het inbouwen van de SSP-modus (Stack Smashing Protection).

Bron: opennet.ru

Voeg een reactie