Kutulutsidwa kwa MirageOS 4.0, nsanja yoyendetsera mapulogalamu pamwamba pa hypervisor

Pambuyo pa chaka ndi theka la chitukuko, kutulutsidwa kwa pulojekiti ya MirageOS 4.0 kwasindikizidwa, yomwe imalola kupanga machitidwe opangira ntchito imodzi, momwe ntchitoyo imaperekedwa ngati "unikernel" yokhayokha, yokhoza kuthamanga popanda kugwiritsa ntchito makina opangira opaleshoni, kernel yosiyana ya OS ndi zigawo zilizonse. Chilankhulo cha OCaml chimagwiritsidwa ntchito kupanga mapulogalamu. Khodi ya polojekiti imagawidwa pansi pa layisensi ya ISC yaulere.

Magwiridwe onse otsika omwe amapangidwa ndi makina ogwiritsira ntchito akugwiritsidwa ntchito ngati laibulale yomwe imalumikizidwa ndi pulogalamuyi. Pulogalamuyi imatha kupangidwa pa OS iliyonse, pambuyo pake imapangidwa kukhala kernel yapadera (unikernel concept), yomwe imatha kuthamanga molunjika pamwamba pa Xen, KVM, BHyve ndi VMM (OpenBSD) hypervisors, pamwamba pa nsanja zam'manja, mu mawonekedwe a njira mu malo ogwirizana ndi POSIX kapena m'malo amtambo Amazon Elastic Compute Cloud ndi Google Compute Engine.

Chilengedwe chopangidwa sichikhala ndi chilichonse chopanda kanthu ndipo chimagwirizana mwachindunji ndi hypervisor popanda madalaivala kapena zigawo za dongosolo, zomwe zimalola kuchepetsa kwakukulu kwa mtengo wapamwamba ndi kuwonjezeka kwa chitetezo. Kugwira ntchito ndi MirageOS kumabwera pazigawo zitatu: kukonzekera kasinthidwe ndikutanthauzira mapaketi a OPAM omwe amagwiritsidwa ntchito m'chilengedwe, kusonkhanitsa chilengedwe, ndikuyambitsa chilengedwe. Kuwonetsetsa kugwira ntchito pamwamba pa hypervisors, Runtime imamangidwa pamaziko a Solo5 kernel.

Ngakhale kuti mapulogalamu ndi malaibulale amapangidwa m'chinenero chapamwamba cha OCaml, madera omwe amatsatira amawonetsa ntchito yabwino komanso kukula kochepa (mwachitsanzo, seva ya DNS imangotenga 200 KB). Kusamalira madera kumakhalanso kosavuta, chifukwa ngati kuli kofunikira kusintha pulogalamuyo kapena kusintha kasinthidwe, ndikokwanira kupanga ndi kukhazikitsa malo atsopano. Ma library mazana angapo a chilankhulo cha OCaml amathandizidwa kuti azigwira ntchito pamanetiweki (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, etc.), akugwira ntchito posungira komanso kupereka ma data ofanana.

Kusintha kwakukulu:

  • Njira yopangira ma projekiti ndi unikernel yasinthidwa. M'malo mwa dongosolo la msonkhano wa ocamlbuild lomwe linagwiritsidwa ntchito kale, zida za dune ndi nkhokwe zam'deralo (monorepo) zimagwiritsidwa ntchito. Kuti apange nkhokwe zotere, chida chatsopano, opam-monorepo, chawonjezedwa, chomwe chimatheketsa kulekanitsa kasamalidwe ka phukusi kuchokera pakumanga kuchokera ku code source. Opam-monorepo utility imagwira ntchito monga kupanga mafayilo okhoma pazodalira zokhudzana ndi projekiti, kutsitsa ndikuchotsa ma code odalira, ndikukhazikitsa chilengedwe kuti mugwiritse ntchito dongosolo lomanga la dune. Kusonkhanitsa kwenikweni kumachitika ndi zida za dune.
  • Njira yobwerezabwereza yomanga imaperekedwa. Kugwiritsa ntchito mafayilo otseka kumapereka ulalo kumitundu yodalira ndikukulolani kuti mubwerezenso ntchito yomanga ndi code yomweyi nthawi iliyonse.
  • Njira yatsopano yophatikizira yakhazikitsidwa ndikutha kuphatikizira pamapulatifomu onse omwe amathandizidwa kuchokera kumalo amodzi omwe amamangidwa amaperekedwa, omwe amaphatikizanso zodalira ndi malaibulale omwe ali ndi zomangira za C, popanda kufunikira kowonjezera zomangira izi. phukusi lalikulu . Kuphatikizikako kumapangidwa pogwiritsa ntchito malo ogwirira ntchito omwe amaperekedwa ndi dongosolo lomanga la dune.
  • Thandizo la mapulaneti atsopano omwe akuwafunira awonjezedwa, mwachitsanzo, luso loyesera kupanga mapulogalamu odzipangira okha kuti ayendetse pa matabwa a Raspberry Pi 4 aperekedwa.
  • Ntchito yachitidwa kuti aphatikize magawo a MirageOS muzinthu zachilengedwe zokhudzana ndi chitukuko cha chilankhulo cha OCaml kuti muchepetse kusonkhana kwa mapulogalamu mu mawonekedwe a unikernel. Maphukusi ambiri a MirageOS adatumizidwa ku dongosolo lomanga la dune. Chida cha opam-monorepo chilipo kuti chiyike pogwiritsa ntchito opam package manager ndipo chingagwiritsidwe ntchito pama projekiti omwe amagwiritsa ntchito dune build system. Kusunga zigamba zomwe zimathetsa mavuto ndi kudalira kwa zomangamanga mu dune, nkhokwe ziwiri zapangidwa: dune-universe/opam-overlays ndi dune-universe/mirage-opam-overlays, zomwe zimayatsidwa mwachisawawa mukamagwiritsa ntchito mirage CLI.
  • Kuphatikiza kwa MirageOS ndi malaibulale a C ndi Rust kwakhala kosavuta.
  • Nthawi yothamanga ya OCaml yatsopano yaperekedwa yomwe imakulolani kuchita popanda libc (libc-free).
  • Ndizotheka kugwiritsa ntchito ntchito ya Merlin kuti muphatikizidwe ndi malo okhazikika ophatikizidwa.

Source: opennet.ru

Kuwonjezera ndemanga