projektudgivelse , der muliggør oprettelse af operativsystemer til én enkelt applikation, hvor applikationen leveres som en selvstændig „unikernel“, der kan køre uden brug af operativsystemer, et separat OS-kerne og uden mellemlag. Til udvikling af applikationer bruges sproget OCaml. Koden til projektet er under den frie ISC-licens.
Al lavniveau-funktionalitet, der er karakteristisk for operativsystemet, er implementeret i form af et bibliotek, der tilføjes applikationen. Applikationen kan udvikles på enhver OS, hvorefter den kompileres til en specialiseret kerne (konceptet ), som kan køre direkte over hypervisorer som Xen, KVM, BHyve og VMM (OpenBSD), på mobile platforme, i form af en proces i et POSIX-kompatibelt miljø eller i skyen ved Amazon Elastic Compute Cloud og Google Compute Engine.
Det genererede miljø indeholder intet overflødigt og interagerer direkte med hypervisoren uden drivere og systemlag, hvilket muliggør betydelig reduktion af overhead og forbedring af sikkerheden. Arbejdet med MirageOS består af tre faser: forberedelse af konfigurationen med angivelse af de anvendte , opbygning af miljøet og opstart af miljøet. Runtime til at sikre drift over Xen er baseret på en beskåret kerne , mens det for andre hypervisorer og systemer baseret på kernen er .
Selvom applikationer og biblioteker er skabt på et højniveau-sprog, OCaml, viser de endelige miljøer en ganske god ydeevne og minimal størrelse (for eksempel kræver DNS-serveren kun 200 Kb). Vedligeholdelse af miljøerne forenkles også, da det ved behov for opdatering af programmet eller ændring af konfigurationen er tilstrækkeligt at oprette og starte et nyt miljø. Der understøttes i OCaml til udførelse af netværksoperationer (DNS, SSH, OpenFlow, HTTP, XMPP osv.), arbejde med lagringssystemer og sikring af parallell behandling af data.
Hovedændringerne i den nye version vedrører understøttelse af nye funktioner, der tilbydes i værktøjsættet (sandbox-miljø til udførelse af unikernel):
- Muligheden for at køre unikernel MirageOS i et isoleret miljø („sandboxed process tender“), der leveres af værktøjsættet Når backend’en spt anvendes, kører kernerne MirageOS i brugerprocesser på Linux, hvor den mindste isolation baseret på seccomp-BPF anvendes;
- Implementeret støtte fra projektet Solo5, som gør det muligt at definere flere tilsluttede unikernel netværksadaptere og lagringsenheder under isolation baseret på backends hvt, spt og muen (brugen af backends genode og virtio er indtil videre begrænset til én enhed);
- Sikkerheden for backends baseret på Solo5 (hvt, spt) er blevet forbedret, f.eks. ved at sikre kompilering i SSP (Stack Smashing Protection)-tilstand.
Kilde: opennet.ru
