Wydanie MirageOS 3.6, platformy do uruchamiania aplikacji na hypervisorze

Odbyła się wydanie projektu Mirage OS 3.6, który umożliwia tworzenie systemów operacyjnych dla pojedynczej aplikacji, w której aplikacja dostarczana jest jako samodzielny „unikernel”, który można uruchomić bez użycia systemów operacyjnych, osobnego jądra systemu operacyjnego i jakichkolwiek warstw. Do tworzenia aplikacji używany jest język OCaml. Kod projektu dystrybuowane przez na bezpłatnej licencji ISC.

Cała niskopoziomowa funkcjonalność właściwa systemowi operacyjnemu jest zaimplementowana w formie biblioteki dołączonej do aplikacji. Aplikację można stworzyć w dowolnym systemie operacyjnym, po czym jest ona kompilowana do wyspecjalizowanego jądra (koncepcja jednojądrowe), który może działać bezpośrednio na hiperwizorach Xen, KVM, BHyve i VMM (OpenBSD), na platformach mobilnych, jako proces w środowisku zgodnym z POSIX lub w środowiskach chmurowych Amazon Elastic Compute Cloud i Google Compute Engine.

Wygenerowane środowisko nie zawiera niczego zbędnego i współpracuje bezpośrednio z hypervisorem bez sterowników i warstw systemowych, co pozwala na znaczną redukcję kosztów ogólnych i zwiększenie bezpieczeństwa. Praca z MirageOS sprowadza się do trzech etapów: przygotowania konfiguracji wraz z identyfikacją tych używanych w środowisku Pakiety OPAM, budowanie środowiska i uruchamianie środowiska. Środowisko wykonawcze działające na Xen opiera się na uproszczonym jądrze Mini-OSoraz dla innych hypervisorów i systemów opartych na jądrze Solo5.

Pomimo tego, że aplikacje i biblioteki tworzone są w języku wysokiego poziomu OCaml, powstałe środowiska charakteryzują się dość dobrą wydajnością i minimalnym rozmiarem (przykładowo serwer DNS zajmuje zaledwie 200 KB). Uproszczono także obsługę środowisk, gdyż w przypadku konieczności aktualizacji programu lub zmiany konfiguracji wystarczy stworzyć i uruchomić nowe środowisko. Utrzymany kilkadziesiąt bibliotek w języku OCaml do wykonywania operacji sieciowych (DNS, SSH, OpenFlow, HTTP, XMPP itp.), pracy z pamięcią masową i zapewnienia równoległego przetwarzania danych.

Główne zmiany w nowej wersji dotyczą zapewnienia obsługi nowych funkcji oferowanych w pakiecie narzędzi Solo5 0.6.0 (środowisko piaskownicy do uruchamiania unikernela):

  • Dodano możliwość uruchamiania unikernelowego systemu MirageOS w izolowanym środowisku spt („oferta w procesie piaskownicy”) zapewniana przez zestaw narzędzi Solo5. Podczas korzystania z zaplecza spt jądra MirageOS działają w procesach użytkownika systemu Linux, do których stosowana jest minimalna izolacja w oparciu o seccomp-BPF;
  • Wsparcie wdrożone manifest aplikacji z projektu Solo5, który umożliwia zdefiniowanie wielu kart sieciowych i urządzeń pamięci masowej podłączonych do unikernela w izolacji w oparciu o backendy hvt, spt i muen (wykorzystanie backendów genode i virtio jest obecnie ograniczone do jednego urządzenia);
  • Wzmocniono ochronę backendów opartych na Solo5 (hvt, spt), m.in. zapewniono budowanie w trybie SSP (Stack Smashing Protection).

Źródło: opennet.ru

Dodaj komentarz