Paglabas ng MirageOS 3.6, isang platform para sa pagpapatakbo ng mga application sa ibabaw ng hypervisor

naganap pagpapalabas ng proyekto Mirage OS 3.6, na nagpapahintulot sa iyo na lumikha ng mga operating system para sa isang application, kung saan ang application ay inihahatid bilang isang self-contained na "unikernel" na maaaring isagawa nang hindi gumagamit ng mga operating system, isang hiwalay na OS kernel at anumang mga layer. Ang wikang OCaml ay ginagamit upang bumuo ng mga application. Code ng proyekto ipinamahagi ni sa ilalim ng libreng lisensya ng ISC.

Ang lahat ng low-level functionality na likas sa operating system ay ipinatupad sa anyo ng isang library na naka-attach sa application. Ang application ay maaaring binuo sa anumang OS, pagkatapos nito ay pinagsama-sama sa isang dalubhasang kernel (ang konsepto unikernel), na maaaring direktang tumakbo sa ibabaw ng Xen, KVM, BHyve at VMM (OpenBSD) hypervisors, sa itaas ng mga mobile platform, bilang isang proseso sa isang POSIX-compliant na environment, o sa Amazon Elastic Compute Cloud at Google Compute Engine cloud environment.

Ang nabuong kapaligiran ay hindi naglalaman ng anumang labis at direktang nakikipag-ugnayan sa hypervisor nang walang mga driver o layer ng system, na nagbibigay-daan para sa isang makabuluhang pagbawas sa mga gastos sa overhead at pagtaas ng seguridad. Ang pagtatrabaho sa MirageOS ay bumaba sa tatlong yugto: paghahanda ng pagsasaayos sa pagtukoy sa mga ginagamit sa kapaligiran Mga pakete ng OPAM, pagbuo ng kapaligiran at paglulunsad ng kapaligiran. Ang runtime na tumakbo sa tuktok ng Xen ay batay sa isang natanggal na kernel Mini-OS, at para sa iba pang hypervisors at kernel-based system 5 lang.

Sa kabila ng katotohanan na ang mga application at library ay nilikha sa mataas na antas ng OCaml na wika, ang mga resultang kapaligiran ay nagpapakita ng medyo mahusay na pagganap at minimal na laki (halimbawa, ang DNS server ay tumatagal lamang ng 200 KB). Ang pagpapanatili ng mga kapaligiran ay pinasimple din, dahil kung kinakailangan upang i-update ang programa o baguhin ang pagsasaayos, sapat na upang lumikha at maglunsad ng isang bagong kapaligiran. Sinusuportahan ilang dosenang mga aklatan sa wikang OCaml upang magsagawa ng mga pagpapatakbo ng network (DNS, SSH, OpenFlow, HTTP, XMPP, atbp.), gumana sa storage at magbigay ng parallel na pagproseso ng data.

Ang mga pangunahing pagbabago sa bagong release ay nauugnay sa pagbibigay ng suporta para sa mga bagong feature na inaalok sa toolkit Solo5 0.6.0 (sandbox environment para sa pagpapatakbo ng unikernel):

  • Idinagdag ang kakayahang magpatakbo ng unikernel MirageOS sa isang nakahiwalay na kapaligiran spt (β€œsandboxed process tender”) na ibinigay ng toolkit 5 lang. Kapag ginagamit ang spt backend, tumatakbo ang mga kernel ng MirageOS sa mga proseso ng user ng Linux kung saan inilalapat ang minimal na paghihiwalay batay sa seccomp-BPF;
  • Ipinatupad ang suporta manifest ng aplikasyon mula sa proyekto ng Solo5, na nagbibigay-daan sa iyong tukuyin ang maramihang mga network adapter at storage device na naka-attach sa isang unikernel nang nakahiwalay batay sa hvt, spt at muen backends (ang paggamit para sa genode at virtio backend ay kasalukuyang limitado sa isang device);
  • Ang proteksyon ng mga backend batay sa Solo5 (hvt, spt) ay pinalakas, halimbawa, ang pagbuo sa SSP (Stack Smashing Protection) mode ay ibinigay.

Pinagmulan: opennet.ru

Magdagdag ng komento