The release of MirageOS 4.0, a platform for running applications on top of a hypervisor

Másfél éves fejlesztést követően megjelent a MirageOS 4.0, amely lehetővé teszi egyalkalmazásos operációs rendszerek létrehozását. Ezek az operációs rendszerek úgynevezett „unikernel” formájában valósulnak meg, amelyek képesek működni operációs rendszer, külön kernel és bármilyen réteg alkalmazása nélkül. Az alkalmazások fejlesztéséhez az OCaml nyelvet használják. A projekt kódja ISC szabad licenc alatt terjesztendő.

A rendszer alacsony szintű funkcionalitása könyvtár formájában valósul meg, amely az alkalmazásra csatlakozik. Az alkalmazás bármilyen operációs rendszerben fejleszthető, majd egy speciális kernele áll össze (unikernel koncepció), amely közvetlenül a Xen hipervízorok, KVM, BHyve és VMM (OpenBSD) felett, mobil platformokon, POSIX-kompatibilis környezetben folyamatosan korszelekedhet vagy az Amazon Elastic Compute Cloud és Google Compute Engine felhőalapú környezeteiben is futtatható.

A generált környezet semmit sem tartalmaz, és közvetlenül a hipervízorral kommunikál, nincs szükség meghajtókra és rendszerszintű rétegekre, ami jelentős költségcsökkentést és fokozott biztonságot eredményez. A MirageOS használata három lépésből áll: a környezetben használt OPAM-csomagok konfigurációjának előkészítése, a környezet összegyűjtése, és a környezet elindítása. A hipervízorok feletti működéshez szükséges runtime a Solo5 kernel alapjaira épül.

Bár az alkalmazások és könyvtárak magas szintű OCaml nyelven készülnek, a végső környezetek meglehetősen jó teljesítményt mutatnak és minimális méretűek (például a DNS-szerver mindössze 200 KB). Az irányítás is egyszerűsödik, mivel a program frissítéséhez vagy a konfiguráció módosításához elegendő egy új környezet létrehozása és elindítása. Több száz OCaml nyelvű könyvtár támogatott a hálózati műveletekhez (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN stb.), adattárolással és párhuzamos adatfeldolgozással kapcsolatban.

Főbb fejlesztések:

  • Megváltozott a projektek és az unikernel fordítási folyamata. A korábban használt ocamlbuild helyett a dune eszközkészlet és a helyi tárolók (monorepo) lettek bevezetve. Az ilyen tárolók létrehozásához új eszköz, az opam-monorepo került bevezetésre, amely lehetővé tette a csomagkezelés és a forráskódú fordítás szétválasztását. Az opam-monorepo végzi a projekthez kapcsolódó függőségek lock-fájlok létrehozását, a függőségek kódjának letöltését és kibővítését, valamint a dune fordítórendszer alkalmazási környezetének beállítását. Magát a fordítást a dune eszközkészlet végzi.
  • Elérhetővé vált egy megismételhető fordítási folyamat. A lock-fájlok használata biztosítja a függőségek verziókhoz való kötését, és bármikor teljes mértékben megismételheti a fordítási folyamatot ugyanazzal a kóddal.
  • Új keresztfordítási folyamat valósult meg, amely lehetővé teszi, hogy minden támogatott célplatformból egy közös fordítási környezetből végezzen keresztfordítást, amelyben a függőségek és a C nyelvhez kapcsolódó könyvtárak keresztfordítása is történik, anélkül, hogy ezeket a kötődéseket bele kellene foglalni a fő csomagba. A keresztfordítást a dune fordítórendszer által biztosított munkaterületekkel szervezték meg.
  • Új célplatformok támogatása valósult meg, például kísérleti lehetőség nyílt önálló alkalmazások fordítására Raspberry Pi 4 táblákhoz.
  • A MirageOS részeinek integrációja zajlott az OCaml nyelven végzett fejlesztések ökoszisztémájába, hogy egyszerűsítse az unikernel formájú alkalmazások fordítását. Számos MirageOS csomag át lett portálva a dune fordítórendszerhez. Az opam-monorepo eszköz telepíthető az opam csomagkezelő segítségével, és használható a dune fordítórendszert alkalmazó projektekben. A dune fordítórendszerben a függőségek fordításához kapcsolódó problémákat megoldó javítások kísérőjeként két repozitóriumot hoztak létre: dune-universe/opam-overlays és dune-universe/mirage-opam-overlays, amelyek alapértelmezetten be vannak töltve a mirage CLI-eszköz használatakor.
  • Egyszerűsödött a MirageOS integrációja a C és Rust nyelveken írt könyvtárakkal.
  • Új OCaml futási idő javasolt, amely lehetővé teszi a libc (libc-mentes) nélküli működést.
  • Lehetőség nyílt a Merlin szolgáltatás használatára az integrált fejlesztői környezetekkel való integrációhoz.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster