Rhyddhau MirageOS 3.6, llwyfan ar gyfer rhedeg cymwysiadau ar ben hypervisor

cymryd lle rhyddhau prosiect Mirage OS 3.6, sy'n eich galluogi i greu systemau gweithredu o un cais, lle mae'r cais yn cael ei gyflwyno fel "unikernel" hunangynhaliol sy'n gallu rhedeg heb ddefnyddio systemau gweithredu, cnewyllyn OS ar wahΓ’n, ac unrhyw haenau. Yr iaith datblygu cymwysiadau yw OCaml. Cod y Prosiect dosbarthu gan dan drwydded ISC am ddim.

Mae'r holl swyddogaethau lefel isel sy'n frodorol i'r system weithredu yn cael eu gweithredu fel llyfrgell sy'n gysylltiedig Γ’'r rhaglen. Gellir datblygu cymhwysiad ar unrhyw OS, ac ar Γ΄l hynny caiff ei lunio i gnewyllyn arbenigol (y cysyniad unicernel) a all redeg yn uniongyrchol ar ben hypervisors Xen, KVM, BHyve, a VMM (OpenBSD), ar lwyfannau symudol, fel proses mewn amgylchedd sy'n cydymffurfio Γ’ POSIX, neu ar amgylcheddau cwmwl Amazon Elastic Compute Cloud a Google Compute Engine.

Nid yw'r amgylchedd a gynhyrchir yn cynnwys unrhyw beth diangen ac mae'n rhyngweithio'n uniongyrchol Γ’'r hypervisor heb yrwyr a haenau system, sy'n caniatΓ‘u gostyngiad sylweddol mewn costau gorbenion a chynyddu diogelwch. Mae gweithio gyda MirageOS yn dod i lawr i dri cham: paratoi cyfluniad gyda phenderfynu pa rai a ddefnyddir yn yr amgylchedd pecynnau OPAM, adeiladu'r amgylchedd, a lansio'r amgylchedd. Mae amser rhedeg i redeg ar ben Xen yn seiliedig ar gnewyllyn wedi'i dynnu i lawr OS mini, ac ar gyfer hypervisors eraill a systemau sy'n seiliedig ar gnewyllyn Solo5.

Er gwaethaf y ffaith bod cymwysiadau a llyfrgelloedd yn cael eu ffurfio yn yr iaith lefel uchel OCaml, mae'r amgylcheddau canlyniadol yn dangos perfformiad eithaf da a maint lleiaf (er enghraifft, dim ond 200 KB y mae'r gweinydd DNS yn ei gymryd). Mae cynnal a chadw amgylcheddau hefyd yn cael ei symleiddio, oherwydd os oes angen i chi ddiweddaru'r rhaglen neu newid y ffurfweddiad, mae'n ddigon i greu a rhedeg amgylchedd newydd. Cefnogir dwsinau o lyfrgelloedd yn yr iaith OCaml i gyflawni gweithrediadau rhwydwaith (DNS, SSH, OpenFlow, HTTP, XMPP, ac ati), gweithio gyda storfeydd a darparu prosesu data cyfochrog.

Mae'r prif newidiadau yn y datganiad newydd yn ymwneud Γ’ darparu cefnogaeth ar gyfer nodweddion newydd a gynigir yn y pecyn cymorth Unawd5 0.6.0 (amgylchedd blwch tywod ar gyfer rhedeg unikernel):

  • Ychwanegwyd y gallu i redeg unikernel MirageOS mewn amgylchedd ynysig sbt ("tendr proses blwch tywod") a ddarperir gan y pecyn cymorth Solo5. Wrth ddefnyddio'r backend spt, mae cnewyllyn MirageOS yn rhedeg mewn prosesau defnyddwyr Linux, sy'n destun ychydig iawn o ynysu yn seiliedig ar seccomp-BPF;
  • Cefnogaeth wedi'i rhoi ar waith maniffest cais o'r prosiect Solo5, sy'n eich galluogi i ddiffinio addaswyr rhwydwaith lluosog a dyfeisiau storio sydd ynghlwm wrth unikernel ar wahΓ’n yn seiliedig ar hvt, spt a muen backends (defnydd ar gyfer backends genod a virtio yn gyfyngedig ar hyn o bryd i un ddyfais);
  • Darperir amddiffyniad cryfach o backends yn seiliedig ar Solo5 (hvt, spt), er enghraifft, cynulliad yn y modd SSP (Stack Smashing Protection).

Ffynhonnell: opennet.ru

Ychwanegu sylw