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

i tupu tuku kaupapa Mirage OS 3.6, ka taea e koe te hanga i nga punaha whakahaere mo te tono kotahi, ka tukuna te tono hei "unikernel" motuhake ka taea te mahi me te kore whakamahi i nga punaha whakahaere, he kernel OS motuhake me etahi paparanga. Ka whakamahia te reo OCaml ki te whakawhanake tono. Waehere kaupapa tohaina e i raro i te raihana ISC kore utu.

Ko nga taumahinga 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 i roto i tetahi OS, muri iho ka whakahiatohia ki roto i te kakano motuhake (te ariā ahurei), ka taea te rere tika ki runga ake o Xen, KVM, BHyve me VMM (OpenBSD) hypervisors, i runga ake i nga papaaho waea, hei mahinga i roto i te taiao POSIX, i te Amazon Elastic Compute Cloud me te Google Compute Engine kapua taiao.

Ko te taiao i hangaia kaore he mea nui me te taunekeneke tika me te hypervisor me te kore 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 mea e whakamahia ana i te taiao OPAM mōkihi, te hanga i te taiao me te whakarewa i te taiao. Ko te wa whakahaere ki runga ake o Xen e ahu mai ana i runga i te kakano kua tihorea Mini-OS, me etahi atu kaitirotiro me nga punaha-a-karo 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 XNUMX KB). 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. Tautokona maha tatini whare pukapuka i roto i te reo OCaml ki te mahi i nga mahi whatunga (DNS, SSH, OpenFlow, HTTP, XMPP, me etahi atu), mahi me te rokiroki me te whakarato i te tukatuka raraunga whakarara.

Ko nga huringa matua o te tukunga hou e pa ana ki te whakarato tautoko mo nga ahuatanga hou e tukuna ana i roto i te kete taputapu Solo5 0.6.0 (te taiao pouaka kirikiri mo te whakahaere ahurei):

  • Kua taapirihia te kaha ki te whakahaere i te unikernel MirageOS i roto i te taiao taratahi spt (“tender tukanga pouaka kirikiri”) na te kete taputapu Solo5. I te wa e whakamahi ana i te spt backend, ka rere nga kakano MirageOS i roto i nga tukanga kaiwhakamahi Linux e whakamahia ana te wehenga iti i runga i te seccomp-BPF;
  • Kua whakatinanahia te tautoko whakaaturanga tono mai i te kaupapa Solo5, e taea ai e koe te tautuhi i nga taapiri whatunga maha me nga taputapu rokiroki e piri ana ki te unikernel i roto i te motuhake i runga i te hvt, spt me muen backends (whakamahia mo te genode me te virtio backends he iti noa ki te taputapu kotahi);
  • Ko te whakamarumaru o nga tuara i runga i te Solo5 (hvt, spt) kua kaha ake, hei tauira, ko te hanga i te aratau SSP (Stack Smashing Protection) kua whakaratohia.

Source: opennet.ru

Tāpiri i te kōrero