Vydání MirageOS 3.6, platformy pro spouštění aplikací nad hypervizorem

odehrál se vydání projektu Mirage OS 3.6, který umožňuje vytvářet operační systémy jediné aplikace, ve které je aplikace dodávána jako soběstačný „unikernel“ schopný běhu bez použití operačních systémů, samostatného jádra OS a jakýchkoli vrstev. Jazyk pro vývoj aplikací je OCaml. Kód projektu distribuovány pod bezplatnou licencí ISC.

Všechny nízkoúrovňové funkce nativní pro operační systém jsou implementovány jako knihovna připojená k aplikaci. Aplikaci lze vyvinout na libovolném operačním systému, poté je zkompilována do specializovaného jádra (koncept uniknout), které mohou běžet přímo nad hypervizory Xen, KVM, BHyve a VMM (OpenBSD), na mobilních platformách, jako proces v prostředí kompatibilním s POSIX nebo v cloudových prostředích Amazon Elastic Compute Cloud a Google Compute Engine.

Vygenerované prostředí neobsahuje nic nadbytečného a interaguje přímo s hypervisorem bez ovladačů a systémových vrstev, což umožňuje dosáhnout výrazného snížení režijních nákladů a zvýšení bezpečnosti. Práce s MirageOS se skládá ze tří fází: příprava konfigurace s určením, které z nich se v daném prostředí používají balíčky OPAM, budování prostředí a spouštění prostředí. Runtime pro běh nad Xenem je založeno na oříznutém jádře mini OSa pro další hypervizory a systémy založené na jádře Solo5.

Navzdory tomu, že aplikace a knihovny jsou tvořeny ve vysokoúrovňovém jazyce OCaml, výsledná prostředí vykazují poměrně dobrý výkon a minimální velikost (např. DNS server zabírá pouze 200 KB). Zjednodušena je i údržba prostředí, protože pokud potřebujete aktualizovat program nebo změnit konfiguraci, stačí vytvořit a spustit nové prostředí. Podporováno desítky knihoven v jazyce OCaml provádět síťové operace (DNS, SSH, OpenFlow, HTTP, XMPP atd.), pracovat s úložišti a poskytovat paralelní zpracování dat.

Hlavní změny v nové verzi se týkají poskytování podpory pro nové funkce navržené v sadě nástrojů Solo5 0.6.0 (prostředí sandbox pro běh unikernelu):

  • Přidána možnost spouštět unikernel MirageOS v izolovaném prostředí sp ("nabídkové řízení v izolovaném prostoru") poskytované sadou nástrojů Solo5. Při použití backendu spt běží jádra MirageOS v uživatelských procesech Linuxu, které podléhají minimální izolaci založené na seccomp-BPF;
  • Implementovaná podpora manifest aplikace z projektu Solo5, který umožňuje definovat více síťových adaptérů a úložných zařízení připojených k unikernelu izolovaně na základě backendů hvt, spt a muen (použití pro backendy genode a virtio je v současnosti omezeno na jedno zařízení);
  • Je zajištěna posílená ochrana backendů na bázi Solo5 (hvt, spt), například montáž v režimu SSP (Stack Smashing Protection).

Zdroj: opennet.ru

Přidat komentář