Sakin MirageOS 4.0, dandamali don gudanar da aikace-aikace a saman hypervisor

Bayan shekara daya da rabi na ci gaba, an buga sakin aikin MirageOS 4.0, wanda ke ba da damar ƙirƙirar tsarin aiki don aikace-aikacen guda ɗaya, wanda aka ba da aikace-aikacen a matsayin "unikernel" mai zaman kansa, mai iya aiki ba tare da aiki ba. amfani da tsarin aiki, keɓaɓɓen kernel OS da kowane yadudduka. Ana amfani da yaren OCaml don haɓaka aikace-aikace. Ana rarraba lambar aikin a ƙarƙashin lasisin ISC na kyauta.

Ana aiwatar da duk ƙananan ayyukan da ke cikin tsarin aiki a cikin hanyar ɗakin karatu wanda ke haɗe zuwa aikace-aikacen. Ana iya haɓaka aikace-aikacen akan kowane OS, bayan haka an haɗa shi cikin ƙwaya ta musamman (tunanin Unikernel), wanda zai iya gudana kai tsaye a saman Xen, KVM, BHyve da VMM (OpenBSD) hypervisors, saman dandamalin wayar hannu, a cikin nau'i na tsari a cikin yanayin da ya dace da POSIX ko a cikin yanayin girgije Amazon Elastic Compute Cloud da Google Compute Engine.

Yanayin da aka samar ba ya ƙunshi wani abu mai banƙyama kuma yana hulɗa kai tsaye tare da hypervisor ba tare da direbobi ko matakan tsarin ba, wanda ke ba da damar rage yawan farashi da kuma ƙara tsaro. Yin aiki tare da MirageOS ya sauko zuwa matakai uku: shirya tsari tare da ayyana fakitin OPAM da aka yi amfani da su a cikin muhalli, haɗa muhalli, da ƙaddamar da yanayin. Don tabbatar da aiki a saman hypervisors, an gina Runtime akan tushen kernel na Solo5.

Duk da cewa an ƙirƙiri aikace-aikace da ɗakunan karatu a cikin babban yaren OCaml, abubuwan da suka haifar suna nuna kyakkyawan aiki da ƙaramin girman (misali, sabar DNS yana ɗaukar 200 KB kawai). Hakanan ana sauƙaƙe kula da yanayin, tunda idan ya cancanta don sabunta shirin ko canza tsarin, ya isa ya ƙirƙira da ƙaddamar da sabon yanayi. Ana tallafawa ɗakunan karatu ɗari da yawa a cikin yaren OCaml don gudanar da ayyukan cibiyar sadarwa (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, da sauransu), aiki tare da ajiya da samar da sarrafa bayanai daidai gwargwado.

Mahimmin haɓakawa:

  • An canza tsarin tattara ayyuka da unikernel. Maimakon tsarin haɗin gwiwar ocamlbuild da aka yi amfani da shi a baya, ana amfani da kayan aikin dune da ma'ajiyar gida (monorepo). Don ƙirƙirar irin waɗannan ma'ajiyar, an ƙara sabon mai amfani, opam-monorepo, wanda ke ba da damar raba sarrafa fakiti daga gini daga lambar tushe. Mai amfani na opam-monorepo yana aiki kamar ƙirƙirar fayilolin kulle don abubuwan da suka danganci aikin, lodi da cire lambar dogaro, da kuma kafa yanayi don amfani da tsarin gina dune. Ainihin taron ana yin shi ta kayan aikin dune.
  • An ba da tsarin ginawa mai maimaitawa. Yin amfani da fayilolin kulle yana ba da hanyar haɗi zuwa nau'ikan dogaro kuma yana ba ku damar sake maimaita aikin gaba ɗaya tare da lamba iri ɗaya a kowane lokaci.
  • An aiwatar da sabon tsarin haɗar giciye kuma an samar da ikon haɗe-haɗe don duk dandamalin da aka goyan baya daga mahallin ginin gama gari, wanda kuma ke haɗa abubuwan dogaro da ɗakunan karatu waɗanda ke da ɗaurin C, ba tare da buƙatar ƙara waɗannan ɗaurin zuwa ba. babban kunshin . An tsara tafsirin giciye ta amfani da wuraren aiki da tsarin ginin dune ya samar.
  • An ƙara goyon baya ga sababbin dandamali na manufa, alal misali, an samar da ikon gwaji don gina aikace-aikacen da ke da kai don gudana akan allon Rasberi Pi 4.
  • An yi aiki don haɗa sassan MirageOS cikin tsarin halittu masu alaƙa da haɓakawa a cikin yaren OCaml don sauƙaƙe taron aikace-aikacen ta hanyar unikernel. Yawancin fakitin MirageOS an tura su zuwa tsarin ginin dune. Ana samun kayan aikin opam-monorepo don shigarwa ta amfani da mai sarrafa kunshin opam kuma ana iya amfani dashi a cikin ayyukan da ke amfani da tsarin ginin dune. Don kula da facin da ke magance matsaloli tare da dogaro da gini a cikin dune, an ƙirƙiri ma'ajin ajiya guda biyu: dune-universe/opam-overlays da dune-universe/mirage-opam-overlays, waɗanda aka kunna ta tsohuwa yayin amfani da kayan aikin mirage CLI.
  • An sauƙaƙe haɗin MirageOS tare da ɗakunan karatu na C da Rust.
  • An gabatar da sabon lokacin aiki na OCaml wanda ke ba ku damar yin ba tare da libc (free libc).
  • Yana yiwuwa a yi amfani da sabis na Merlin don haɗin kai tare da daidaitattun yanayin haɓaka haɓaka.

source: budenet.ru

Add a comment