Lëshimi i MirageOS 4.0, platformës për ekzekutimin e aplikacioneve mbi hipervizor

Pas një viti e gjysmë zhvillimi, është publikuar versioni i projektit MirageOS 4.0, i cili lejon formimin e sistemeve operative të një aplikacioni, ku aplikacioni ofrohet si një "unikernel" i pavarur, i aftë të ekzekutohet pa përdorimin e sistemeve operative, një bërthamë të veçantë të OS dhe ndonjë shtresë tjetër. Për zhvillimin e aplikacioneve përdoret gjuha OCaml. Kodi i projektit shpërndahet nën licencën e lirë ISC.

Të gjitha funksionalitetet e nivelit të ulët, të pranishme në sistemin operativ, janë realizuar në formën e një biblioteke që i bashkëngjitet aplikacionit. Aplikacioni mund të zhvillohet në çdo OS, pas së cilës kompilohen në një bërthamë të specializuar (koncepti unikernel), e cila mund të ekzekutohet direkt mbi hipervizorët Xen, KVM, BHyve dhe VMM (OpenBSD), mbi platformat mobile, në formën e një procesi në një ambient të përputhshëm me POSIX ose në mjediset cloud të Amazon Elastic Compute Cloud dhe Google Compute Engine.

Ambientet e gjeneruara nuk përmbajnë asgjë të panevojshme dhe ndërveprojnë drejtpërdrejt me hipervizorin pa drejtorët dhe shtresat sistemike, çka lejon arritjen e një reduktimi të konsiderueshëm të kostove dhe rritjen e sigurisë. Puna me MirageOS përbëhet nga tre faza: përgatitja e konfiguracionit me përcaktimin e paketave OPAM të përdorura në ambient, ndërtimi i ambientit dhe nisja e ambientit. Runtime për sigurinë e ekzekutimit mbi hipervizorët është ndërtuar mbi bazën e bërthamës Solo5.

Pavarësisht se aplikacionet dhe bibliotekat formohen në një gjuhë të nivelit të lartë OCaml, ambientet përfundimtare demonstrojnë performancë të kënaqshme dhe madhësi minimale (p.sh., serveri DNS zë vetëm 200 KB). Po ashtu, mirëmbajtja e ambienteve është e lehtësuar, pasi në rastin e nevojës për përditësimin e programit ose ndryshimin e konfiguracionit, mjafton të krijohet dhe nisë një ambient i ri. Mbështeten disa qindra biblioteka në gjuhën OCaml për kryerjen e operacioneve rrjetërore (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN etj.), punën me skedarët dhe sigurimin e përpunimit paralel të të dhënave.

Përmirësime kyçe:

  • Procesi i kompilimit të projekteve dhe unikernel është ndryshuar. Në vend të sistemit të mëparshëm të ndërtimit ocamlbuild, është përdorur mjetet dune dhe depo lokale (monorepo). Për formimin e depo të tilla është shtuar një mjet i ri opam-monorepo, i cili lejon ndarjen e menaxhimit të paketave nga ndërtimi nga kodet burimore. Mjeti opam-monorepo kryen punë si krijimi i skedave lock për varësitë e lidhura me projektin, ngarkimin dhe nxjerrjen e kodit të varësive dhe konfigurimin e mjedisit për përdorimin e sistemit të ndërtimit dune. Ndërtimi vetë kryhet nga mjetet dune.
  • Është ofruar një proces ndërtimi të ripërsëritur. Përdorimi i skedave lock siguron lidhjen me versionet e varësive dhe lejon të përsëritet plotësisht procesi i ndërtimit në çdo moment me të njëjtin kod.
  • Është realizuar një proces i ri i kross-kompilimit dhe është siguruar mundësia e kross-kompilimit për të gjitha platformat e mbështetura nga një mjedis të përbashkët ndërtimi, në të cilin gjithashtu kryhet kross-kompilimi i varësive dhe bibliotekave me lidhje në gjuhën C, pa nevojën për të shtuar këto lidhje në paketën kryesore. Kross-kompilimi është organizuar duke përdorur hapësirat e punës që ofrohen nga sistemi i ndërtimit dune.
  • Është shtuar mbështetje për platformat e reja të synuara, për shembull, është ofruar mundësia eksperimentale e ndërtimit të aplikacioneve të vetë-përshtatshme për punë në kartat Raspberry Pi 4.
  • Është punuar për integrimin e pjesëve të MirageOS në ekosistemat që lidhen me zhvillimin në gjuhën OCaml, për të thjeshtuar ndërtimin e aplikacioneve në formën e unikernel. Shumë paketa të MirageOS janë portuar për sistemin e ndërtimit dune. Mjeti opam-monorepo është i disponueshëm për instalim nëpërmjet menaxherit të paketave opam dhe mund të përdoret në projekte që aplikojnë sistemin e ndërtimit dune. Për mbështetje të patch-ave që zgjidhin probleme me ndërtimin e varësive në dune, janë krijuar dy depo dune-universe/opam-overlays dhe dune-universe/mirage-opam-overlays, të cilat janë të përfshira për shfrytëzim të parazgjedhur kur përdoret mjeti CLI mirage.
  • Është lehtësuar integrimi i MirageOS me bibliotekat në gjuhët C dhe Rust.
  • Është propozuar një runtime i ri OCaml që lejon përdorimin pa libc (libc-free).
  • Është ofruar mundësia e përdorimit të shërbimit Merlin për integrimin me ambientet e zhvillimit të integruar.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster