Fa'asa'olotoina o le MirageOS 3.6, o se fa'avae mo le fa'atinoina o talosaga i luga o le hypervisor

na tupu fa'amatu'u galuega Mirage OS 3.6, lea e mafai ai e oe ona fatuina faiga faʻaoga mo se talosaga e tasi, lea e tuʻuina atu ai le talosaga e avea o se "unikernel" e mafai ona faʻatinoina e aunoa ma le faʻaogaina o faiga faʻaoga, se isi OS kernel ma soʻo se laulau. O le gagana OCaml e faʻaaogaina e atiaʻe ai talosaga. Poloketi code tufatufaina e i lalo ole laisene ISC e leai se totogi.

O galuega fa'atino uma e maualalo i le fa'aogaina o lo'o fa'atinoina i le tulaga o se faletusi o lo'o fa'apipi'i i le talosaga. O le talosaga e mafai ona atiaʻe i soʻo se OS, a maeʻa ona tuʻufaʻatasia i totonu o se fatu faʻapitoa (le manatu tulaga ese), lea e mafai ona tamo'e sa'o i luga ole Xen, KVM, BHyve ma VMM (OpenBSD) hypervisors, i luga o luga ole telefoni feavea'i, o se fa'agasologa i totonu ole si'osi'omaga POSIX, po'o totonu ole Amazon Elastic Compute Cloud ma Google Compute Engine cloud environments.

O le si'osi'omaga fa'atupuina e leai se mea e sili atu ma fegalegaleai sa'o ma le hypervisor e aunoa ma ni ta'avale po'o ni mea fa'apipi'i, lea e mafai ai mo se fa'aitiitiga tele o tau i luga ma fa'ateleina le saogalemu. Galulue faʻatasi ma MirageOS e oʻo mai i laʻasaga e tolu: saunia le faʻatulagaina ma le faʻailoaina o mea o loʻo faʻaaogaina i le siosiomaga OPAM afifi, fausiaina o le siosiomaga ma faʻalauiloa le siosiomaga. Taimi e tamo'e i luga o le Xen e fa'avae i luga o se fatu ua ta'e i lalo Mini-OS, ma mo isi hypervisors ma faiga fa'avae fatu Naʻo le 5.

E ui lava i le mea moni o talosaga ma faletusi o loʻo faia i le maualuga o le gagana OCaml, o siosiomaga e maua mai e faʻaalia ai le lelei lelei ma le laʻititi laʻititi (mo se faʻataʻitaʻiga, o le DNS server e naʻo le 200 KB). O le tausiga o siosiomaga e faʻafaigofieina foi, talu ai afai e manaʻomia le faʻafouina o le polokalame poʻo le suia o le faʻatulagaga, ua lava le fatuina ma faʻalauiloa se siosiomaga fou. Lagolagoina ni nai faletusi i le gagana OCaml e faʻatino ai fesoʻotaʻiga fesoʻotaʻiga (DNS, SSH, OpenFlow, HTTP, XMPP, ma isi), galue ma le teuina ma tuʻuina atu faʻamaumauga tutusa.

O suiga autu i le faʻasalalauga fou e fesoʻotaʻi ma le tuʻuina atu o le lagolago mo foliga fou o loʻo ofoina atu i le meafaigaluega Solo5 0.6.0 (siosiomaga sandbox mo le fa'agaioia o le uniernel):

  • Faʻaopoopoina le mafai ona faʻatautaia le unikernel MirageOS i se siosiomaga tuʻufua spt (“Pepa oneone tauofoga”) saunia e le pusa meafaigaluega Naʻo le 5. Pe a faʻaogaina le spt backend, MirageOS kernels o loʻo tamomoe i faiga faʻaoga Linux lea e faʻaogaina ai le tuʻueseeseina itiiti e faʻavae ile seccomp-BPF;
  • Fa'atino lagolago tusi talosaga mai le Poloketi Solo5, lea e mafai ai e oe ona faʻamalamalamaina le tele o fesoʻotaʻiga fesoʻotaʻiga ma mea e teu ai mea faʻapipiʻi i se unikernel i le vavae ese e faʻavae i luga o le hvt, spt ma muen backends (faʻaoga mo genode ma virtio backends o loʻo faʻatapulaʻaina nei i le masini e tasi);
  • O le puipuiga o pito i tua e faʻavae i luga ole Solo5 (hvt, spt) ua faʻamalosia, mo se faʻataʻitaʻiga, o le fausiaina i le SSP (Stack Smashing Protection) ua tuʻuina atu.

puna: opennet.ru

Faaopoopo i ai se faamatalaga