MirageOS 4.0 väljalase, platvorm rakenduste käitamiseks hüperviisori kohal

Pärast üle pooleteise aasta arendust on avaldatud MirageOS 4.0 projekt, mis võimaldab luua ühe rakenduse operatsioonisüsteeme, kus rakendus esitatakse iseseisva „unikernelina“, mis suudab töötada ilma operatsioonisüsteemide, eraldi tuuma ja igasuguste vahekihtideta. Rakenduste arendamiseks kasutatakse OCaml keelt. Projekti kood jagatakse ISC avatud litsentsi alusel.

Kõik madala taseme funktsionaalsus, mis on iseloomulik operatsioonisüsteemidele, on realiseeritud raamatukogu vormis, mis on kinnitatud rakendusele. Rakendust saab arendada mis tahes operatsioonisüsteemis, pärast mida kompilleeritakse see spetsialiseeritud tuumaks (unikerneli kontseptsioon), mida saab käitada otse hüperviisorite, nagu Xen, BHyve ja VMM (OpenBSD) peal, mobiilplatvormidel, POSIX-ühilduvas keskkonnas protsessina või Amazon Elastic Compute Cloud ja Google Compute Engine pilvekeskkondades. KVM, BHyve ja VMM (OpenBSD), mobiilsetel platvormidel, POSIX-i ühilduvas keskkonnas protsessina või Amazon Elastic Compute Cloud'i ja Google Compute Engine'i pilvekeskkondades.

Genereeritud keskkond ei sisalda midagi üleliigset ning suhtleb otse hüpervisori kaudu ilma juhtide ja süsteemikihtideta, mis võimaldab oluliselt vähendada kohalike kulude ja suurendada turvalisuse taset. Töö MirageOS-iga koosneb kolmest etapist: konfiguratsiooni ettevalmistamine, kus määratakse keskkonnas kasutatavad OPAM-paketid, keskkonna kogumine ja käivitamine. Hüperviisorite kohal töötamiseks on käitusaja alus kujundatud Solo5 tuumal.

Kuigi rakendused ja teegid luuakse kõrgetasemelises OCaml keeles, demonstreerivad lõppkeskkonnad üsna head jõudlust ja minimaalset suurust (näiteks DNS-server võtab vaid 200 KB). Keskkondade hooldamine on lihtsam, kuna programmi uuendamisel või konfiguratsiooni muutmisel piisab uue keskkonna loomisest ja käivitamisest. Toetatakse mitmeid sadu OCaml keeles olevaid teeke võrgutegevuse (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN jne) ning andmete paralleelse töötlemise teostamiseks.

Peamised täiustused:

  • Projektide kompileerimise protsess ja unikernel on muudetud. Varem kasutatud ocamlbuildi kogumise süsteemi asemel on nüüd kasutusele võetud tööriistad dune ja kohalikud hoidlad (monorepo). Selliste hoidlate loomiseks on lisatud uus utiliit opam-monorepo, mis võimaldab eraldada pakettide haldamise lähtekoodide kogumisest. Utiliit opam-monorepo teostab selliseid ülesandeid nagu lukufailide loomine projekti seotud sõltuvuste jaoks, sõltuvuste koodi allalaadimine ja väljavõtmine ning keskkonna seadistamine dune'i kogumissüsteemi rakendamiseks. Kogumine toimub otse dune'i tööriistadega.
  • Esitatud korduv kogumisprotsess. Lukufailide kasutamine tagab sõltuvuste versioonidele kinnitumise ja võimaldab igal ajal täielikult kordata kogumisprotsessi sama koodiga.
  • Uus ristkompileerimise protsess on rakendatud, mis võimaldab ristkompileerimist kõigi toetatud sihtplatvormide jaoks ühest ühest ehituskeskkonnast, kus toimub ka sõltuvuste ja C-keeles seotud raamatukogude ristkompileerimine ilma, et neid siduvaid komponente pea paketti lisada. Ristkompileerimine on korraldatud ehitus süsteemi dune pakkuda töötavate ruumide kasutamisega.
  • Uute sihtplatvormide tugi on lisatud, sealhulgas on antud eksperimentaalne võimalus iseseisvate rakenduste koostamiseks Raspberry Pi 4 plaatidel.
  • MirageOS-i osade integreerimine OCaml-i arendusökosüsteemidele on lihtsustanud rakenduste koostamist unikernel'i vormis. Paljud MirageOS paketid on portitud kogumissüsteemi dune jaoks. Opam-monorepo utiliit on saadaval installimiseks opam pakihalduri kaudu ning seda saab kasutada projektides, mis rakendavad dune'i kogumissüsteemi. Dune'i sõltuvuste koostamisprobleemide lahendamiseks on loodud kaks hoidlat: dune-universe/opam-overlays ja dune-universe/mirage-opam-overlays, mis on vaikimisi kaasatud mirage CLI utiliidi kasutamisel.
  • MirageOS-i integreerimine C- ja Rust-keelte raamatukogudega on lihtsustatud.
  • Pakutud on uus OCaml käitusraamistik, mis ei vaja libc-d (libc-free).
  • Merlin teenuse kasutamise võimalus on antud integreerimiseks integreeritud arendusreisid.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster