Kuburitswa kweMirageOS 4.0, chikuva chekushandisa maapplication pamusoro pe hypervisor

Mushure megore nehafu yebudiriro, kuburitswa kweiyo MirageOS 4.0 purojekiti yakadhindwa, iyo inobvumira kusikwa kwemaitiro ekushandisa kune imwe application, iyo iyo application inounzwa seyakazvimiririra "unikernel", inokwanisa kumhanya pasina. kushandiswa kwemaitiro ekushanda, imwe OS kernel yakasiyana uye chero zvidimbu. Mutauro weOCaml unoshandiswa kugadzira maapplication. Iyo kodhi yeprojekiti yakagoverwa pasi peyemahara ISC rezinesi.

Yese iyo yakaderera-chikamu mashandiro eiyo sisitimu yekushandisa inoiswa muchimiro cheraibhurari inosungirirwa kune application. Chishandiso chinogona kuvandudzwa pane chero OS, mushure mezvo chinounganidzwa kuita yakasarudzika kernel (unikernel pfungwa), iyo inogona kumhanya yakananga pamusoro peXen, KVM, BHyve uye VMM (OpenBSD) hypervisors, pamusoro penharembozha, mu chimiro chemaitiro munzvimbo yePOSIX-inoenderana kana munzvimbo dzemakore Amazon Elastic Compute Cloud uye Google Compute Injini.

Iyo inogadzirwa nharaunda haina chero chinhu chakanyanya uye inodyidzana yakanangana ne hypervisor isina madhiraivha kana masisitimu masisitimu, ayo anobvumira kuderedzwa kwakanyanya mumutengo wepamusoro uye kuwedzera kuchengetedzeka. Kushanda neMirageOS kunodzika kusvika pamatanho matatu: kugadzirira gadziriro nekutsanangura mapakeji eOPAM anoshandiswa munharaunda, kuunganidza nharaunda, uye kutanga nharaunda. Kuve nechokwadi chekushanda pamusoro pe hypervisors, Runtime inovakwa pahwaro hweSolo5 kernel.

Kunyangwe ichokwadi chekuti maapplication nemaraibhurari anogadzirwa mumutauro wepamusoro-level OCaml, nharaunda dzinobuda dzinoratidza kuita kwakanaka uye saizi shoma (semuenzaniso, sevha yeDNS inotora 200 KB chete). Kugadziriswa kwenzvimbo zvakare zvakareruka, nekuti kana zvichidikanwa kugadzirisa chirongwa kana kushandura dhizaini, zvakakwana kugadzira uye kutanga nharaunda nyowani. Mazana akawanda maraibhurari mumutauro weOCaml anotsigirwa kuita network mashandiro (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, nezvimwewo), kushanda nekuchengetedza uye nekupa parallel data processing.

Kunatsiridza kukuru:

  • Maitiro ekuunganidza mapurojekiti uye unikernel akachinjwa. Panzvimbo peiyo yakamboshandiswa ocamlbuild assembly system, iyo dune toolkit uye yemuno repositories (monorepo) inoshandiswa. Kuti ugadzire marekodhi akadaro, chishandiso chitsva, opam-monorepo, chakawedzerwa, chinoita kuti zvikwanise kuparadzanisa manejimendi epakeji kubva pakuvaka kubva kune kodhi kodhi. Iyo opam-monorepo utility inoshanda senge kugadzira kukiya mafaera ekutsamira-ane purojekiti, kurodha uye kubvisa kodhi yekutsamira, uye kumisikidza nharaunda kushandisa dune kuvaka system. Iko kuungana chaiko kunoitwa nedune toolkit.
  • Iyo inodzokororwa yekuvaka maitiro inopihwa. Kushandisa kukiya mafaera kunopa chinongedzo kune kutsamira shanduro uye inobvumidza iwe kuti udzokorore zvizere maitiro ekuvaka nekodhi imwechete chero nguva.
  • Iyo nyowani-yekusanganisa maitiro yakaitwa uye kugona kuyambuka-kuunganidza kune ese anotsigirwa anotsigirwa mapuratifomu kubva kune imwe yakajairwa nharaunda yekuvaka inopihwa, iyo zvakare inoyambuka-inounganidza zvinoenderana nemaraibhurari ane C inosungirwa, pasina chikonzero chekuwedzera izvi zvinosungirwa iyo huru package . Cross-compilation inorongwa uchishandisa nzvimbo dzekushandira dzakapihwa nedune kuvaka system.
  • Tsigiro yemapuratifomu matsva anotariswa akawedzerwa, semuenzaniso, kugona kwekuyedza kuvaka-ega zvikumbiro zvekumhanya paRaspberry Pi 4 mabhodhi akapihwa.
  • Basa rakaitwa kubatanidza zvikamu zveMirageOS mune ecosystems ine chekuita nebudiriro mumutauro weOCaml kurerutsa kuunganidzwa kwezvikumbiro muchimiro cheunikernel. Mazhinji MirageOS mapakeji akaiswa kune dune kuvaka system. Iyo opam-monorepo utility inowanikwa yekumisikidza uchishandisa opam package maneja uye inogona kushandiswa mumapurojekiti anoshandisa dune kuvaka system. Kuchengetedza zvigamba zvinogadzirisa matambudziko nekutsamira kwekuvaka mudune, matura maviri akagadzirwa: dune-universe/opam-overlays uye dune-universe/mirage-opam-overlays, ayo anogoneswa nekusarudzika kana uchishandisa mirage CLI utility.
  • MirageOS kubatanidzwa neC uye Rust maraibhurari akarerutswa.
  • Iyo itsva OCaml yekumhanyisa nguva yakatsanangurwa iyo inokutendera iwe kuti uite pasina libc (libc-yemahara).
  • Zvinogoneka kushandisa iyo Merlin sevhisi yekubatanidza neyakajairwa yakabatanidzwa budiriro nharaunda.

Source: opennet.ru

Voeg