Te tukunga o MirageOS 4.0, he papa mo te whakahaere tono i runga ake o te hypervisor

I muri i te tau me te hawhe o te whakawhanaketanga, kua whakaputaina te tukunga o te kaupapa MirageOS 4.0, e taea ai te hanga i nga punaha whakahaere mo te tono kotahi, ka tukuna te tono hei "unikernel", ka taea te rere me te kore. te whakamahi i nga punaha whakahaere, he kakano OS motuhake me etahi paparanga. Ka whakamahia te reo OCaml ki te hanga tono. Ka tohatohahia te waehere kaupapa i raro i te raihana ISC kore utu.

Ko nga mahi taumata-iti katoa kei roto i te punaha whakahaere ka whakatinanahia i te ahua o te whare pukapuka e hono ana ki te tono. Ka taea te whakawhanake i te tono ki runga i tetahi OS, muri iho ka whakahiatohia ki roto i te kakano motuhake (unikernel ariā), ka taea te rere tika ki runga ake o Xen, KVM, BHyve me VMM (OpenBSD) hypervisors, i runga ake o nga papaa waea, i te ahua o te tukanga i roto i te taiao POSIX-ture, i roto ranei i nga taiao kapua Amazon Elastic Compute Cloud me Google Compute Engine.

Ko te taiao i hangaia kaore he mea nui me te taunekeneke tika me te hypervisor kaore he taraiwa, he paparanga punaha ranei, e taea ai te whakahekenga nui o nga utu o runga me te whakanui ake i te haumarutanga. Ko te mahi tahi me MirageOS ka heke ki nga wahanga e toru: te whakarite i te whirihoranga me te tautuhi i nga kohinga OPAM e whakamahia ana i te taiao, te whakahiato i te taiao, me te whakarewa i te taiao. Hei whakarite i te mahi i runga ake o nga hypervisors, ka hangaia te Runtime i runga i te kakano Solo5.

Ahakoa te mea i hangaia nga tono me nga whare pukapuka i roto i te reo OCaml taumata-tiketike, ko nga taiao hua e whakaatu ana i te pai o te mahi me te iti o te rahi (hei tauira, ko te 200 KB anake te mahi a te tūmau DNS). Ko te tiaki i nga taiao ka ngawari ake, na te mea he mea tika ki te whakahou i te kaupapa, ki te whakarereke ranei i te whirihoranga, he nui ki te hanga me te whakarewa i tetahi taiao hou. He maha nga rau whare pukapuka i roto i te reo OCaml e tautokohia ana mo te mahi i nga mahi whatunga (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, me etahi atu), e mahi ana me te rokiroki me te whakarato i te tukatuka raraunga whakarara.

Nga whakapainga matua:

  • Kua hurihia te tukanga o te whakahiato kaupapa me te unikernel. Engari i te punaha huihuinga ocamlbuild i whakamahia i mua, ka whakamahia te kete utauta me nga putunga o te rohe (monorepo). Hei hanga i aua putunga, kua taapirihia he taputapu opam-monorepo hou, na reira ka taea te wehe i te whakahaerenga kete mai i te hanga mai i te waehere puna. Ko te mahi opam-monorepo he mahi penei i te hanga i nga konae raka mo nga whakawhirinakitanga e pa ana ki te kaupapa, te uta me te tango i te waehere whakawhirinaki, me te whakarite i te taiao ki te whakamahi i te punaha hanga onepu. Ko te huihuinga tuturu ka mahia e te kete utauta.
  • Ka whakaratohia he tukanga hanga tukurua. Ma te whakamahi i nga konae maukati ka tuku hononga ki nga putanga whakawhirinakitanga ka taea e koe te whakahoki ano i te tukanga hanga me te waehere kotahi i nga wa katoa.
  • Kua whakatinanahia he tukanga whakahiato-whakahiato hou me te kaha ki te whakawhiti-whakahiato mo nga papaapapa whainga katoa e tautokohia ana mai i tetahi taiao hanga noa, ka whakahiato-whakahiato hoki nga whakawhirinakitanga me nga wharepukapuka he herenga C, kaore he hiahia ki te taapiri i enei here ki te kete matua. Ka whakaritea te whakahiato-whakawhitinga ma te whakamahi i nga mokowāmahi e whakaratohia ana e te punaha hanga onepu.
  • Kua taapirihia te tautoko mo nga papaaapapa hou, hei tauira, he kaha whakamatautau ki te hanga tono-whaiaro mo te whakahaere i runga i nga papa Raspberry Pi 4 kua whakaratohia.
  • Kua mahia nga mahi ki te whakauru i nga waahanga o MirageOS ki roto i nga rauwiringa kaiao e pa ana ki te whanaketanga i roto i te reo OCaml hei whakangawari i te huihuinga o nga tono i te ahua o te unikernel. He maha nga kohinga MirageOS kua tauranga ki te punaha hanga onepu. Kei te waatea te taputapu opam-monorepo mo te whakaurunga ma te whakamahi i te kaiwhakahaere kete opam ka taea te whakamahi i roto i nga kaupapa e whakamahi ana i te punaha hanga dune. Hei pupuri i nga papanga hei whakaoti rapanga ki te hanga whare i roto i te onepu, kua hangaia e rua nga putunga: dune-universe/opam-overlays me dune-universe/mirage-opam-overlays, ka taea te taunoa ina whakamahi i te taputapu mirage CLI.
  • Ko te whakaurunga o MirageOS me nga whare pukapuka C me Rust kua ngawari.
  • Kua tukuna he wa whakahaere OCaml hou e taea ai e koe te mahi me te kore libc (libc-kore).
  • Ka taea te whakamahi i te ratonga Merlin mo te whakauru ki nga taiao whanaketanga whakauru paerewa.

Source: opennet.ru

Tāpiri i te kōrero