Lanseringen av den nya versionen av MirageOS 3.6-projektet tillkännagavs för några dagar sedan . Detta är ett operativsystembibliotek som möjliggör bildandet av operativsystem för enskilda applikationer som en "unikernel", som är autonom och kan köras utan användning av andra operativsystem – en oberoende operativsystemkärna.
OCaml används för applikationsutveckling. Projektkoden distribueras under en fri ISC-licens. Grundidén bakom en unikernel är att det är ett mycket optimerat, specialbyggt operativsystem som kan bidra till effektiv drift och applikationsleverans.
All lågnivåfunktionalitet som finns i operativsystemet implementeras i form av ett bibliotek som är bifogat till applikationen.
Applikationen kan utvecklas på vilket operativsystem som helst, varefter den kompileras till en specialiserad kärna (unikernel-koncept), som kan köras direkt på Xen-, KVM-, BHyve- och VMM-hypervisorer (OpenBSD) , på mobila plattformar, som en process i en POSIX-kompatibel miljö eller i Amazon Elastic Compute Cloud- och Google Compute Engine-molnmiljöer.
Den genererade miljön innehåller inget överflödigt och interagerar direkt med hypervisor utan kontroller och systemlager, vilket uppnår en betydande minskning av de totala kostnaderna och ökad säkerhet.
Att arbeta med MirageOS reduceras till tre steg: att förbereda konfigurationen med definitionen av de OPAM-paket som används i miljön, bygga miljön och starta miljön.
Runtiden för att arbeta på Xen är baserad på Mini-OS tunn kärna och för andra hypervisorer och system baserade på Solo5-kärnan.
Vad är nytt i MirageOS 3.6?
De viktigaste förändringarna i den nya versionen är relaterade till att ge stöd för de nya funktionerna som föreslogs i Solo5 0.6.0. Projektet började ursprungligen som ett sätt att porta MirageOS för att köras på Linux/KVM-hypervisorn. Sedan dess har det utvecklats till en mer generell sandlådebaserad runtime-miljö , lämplig för att köra applikationer byggda med olika unikärnor, med olika sandlådetekniker inriktade på olika värdoperativsystem och hypervisorer.
Bland de implementerade förbättringarna utmärker sig stödet för manifestet, vilket möjliggör definition av flera nätverkskort och lagringsenheter anslutna till en unikernel under isolering baserat på hvt-, spt- och muen-backends (användningen av genode- och virtio-backends är hittills begränsad till en enhet)-
Samt stöd för att aktivera stack smashing-skydd över hela verktygskedjan som standard och förbättrat sidskydd på vissa mål.
En annan höjdpunkt i tillkännagivandet är möjligheten att köra MirageOS unikärnan i den isolerade spt-miljön som tillhandahålls av Solo5. När spt-backend används körs MirageOS-kärnor i Linux-användarprocesser med minimal isolering baserat på seccomp-BPF.
Solo5 (hvt, spt) -baserat backend-skydd stärks, till exempel kompilering i SSP-läge (Stack Crush Protection) tillhandahålls.
Hur får man MirageOS?
För dem som är intresserade av att få den här nya versionen av MirageOS kan de göra det genom att följa instruktionerna som vi delar nedan.
Kraven för att installera MirageOS är ett UNIX-system (Linux, Mac eller BSD) och OPAM 2.0.0 eller senare och OCaml 4.05.0 eller senare.
Om detta inte är fallet kan de installeras genom att utföra något av följande kommandon i terminalen beroende på din distribution.
För er som använder Debian, Ubuntu eller derivater av dessa:
sudo apt-get update
sudo apt-get install opam
För er som använder Arch Linux, Manjaro eller någon annan Arch-derivata:
sudo pacman -S opam
Fedora, RHEL, CentOS eller något annat derivat av dessa:
sudo dnf -i opam
Slutligen, för att installera MirageOS:
opam init
opam install mirage