Siideynta MirageOS 4.0, oo ah goob lagu socodsiiyo codsiyada korka sare ee hypervisor

Hal sano iyo badh ka dib horumarinta, sii deynta mashruuca MirageOS 4.0 ayaa la daabacay, taas oo u oggolaanaysa abuurista nidaamyada hawlgalka hal codsi, kaas oo codsiga loo dhiibo sida "unikernel" iskiis u ah, oo awood u leh inuu socdo iyada oo aan lahayn. isticmaalka nidaamyada hawlgalka, kernel OS gaar ah iyo lakab kasta. Luuqadda Ocaml waxa loo isticmaalaa in lagu horumariyo codsiyada. Xeerka mashruuca waxa lagu qaybiyaa shatiga ISC ee bilaashka ah.

Dhammaan shaqada hoose ee ku jirta nidaamka qalliinka waxaa lagu hirgeliyay qaab maktabad ku xiran codsiga. Codsiga waxaa lagu horumarin karaa OS kasta, ka dib markaa waxaa lagu soo ururiyaa kernel khaas ah (fikrad Unikernel), kaas oo si toos ah ugu socon kara korka Xen, KVM, BHyve iyo VMM (OpenBSD) hypervisors, oo ku yaal dusha sare ee moobiilka, gudaha qaabka hab-socodka deegaanka POSIX-u hoggaansan ama gudaha deegaanka daruuraha Amazon Elastic Compute Cloud iyo Google Compute Engine.

Deegaanka la soo saaray kuma jiraan wax xad-dhaaf ah oo si toos ah ula falgala hypervisor-ka iyada oo aan lahayn darawallo ama lakabyo nidaam, taas oo u oggolaanaysa hoos u dhigista kharashka dheeraadka ah iyo kordhinta amniga. La shaqaynta MirageOS waxay hoos ugu dhacdaa saddex marxaladood: diyaarinta qaabaynta iyadoo la qeexayo baakadaha OPAM ee loo isticmaalo deegaanka, ururinta deegaanka, iyo bilaabista deegaanka. Si loo hubiyo in lagu shaqeeyo dusha sare ee kor-u-qaadayaasha, Runtime-ku wuxuu ku salaysan yahay kernel-ka Solo5.

In kasta oo xaqiiqda ah in codsiyada iyo maktabadaha lagu abuuray luqadda OCaml ee heerka sare ah, bay'adaha ka soo baxay waxay muujinayaan waxqabad aad u wanaagsan iyo cabbirka ugu yar (tusaale ahaan, server-ka DNS wuxuu qaataa kaliya 200 KB). Dayactirka deegaanka ayaa sidoo kale la fududeeyay, maadaama haddii ay lagama maarmaan tahay in la cusbooneysiiyo barnaamijka ama la beddelo qaabeynta, waa ku filan in la abuuro oo la bilaabo jawi cusub. Dhawr boqol oo maktabadood oo ku yaal luqadda OCaml ayaa lagu taageeraa fulinta hawlgallada shabakadda (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, iwm.), la shaqaynta kaydinta iyo bixinta habaynta xogta barbar socota.

Horumarinta muhiimka ah:

  • Habka ururinta mashaariicda iyo unikernel waa la bedelay. Halkii laga isticmaali lahaa nidaamka isku-xidhka ocamlbuild ee hore loo isticmaali jiray, qalabka dune Toolkit iyo kaydka maxaliga ah (monorepo) ayaa la isticmaalaa. Si loo abuuro bakhaarro noocan oo kale ah, qalab cusub, opam-monorepo, ayaa lagu daray, taas oo suurtogal ka dhigaysa in la kala saaro maareynta xirmooyinka iyo dhismaha laga soo bilaabo koodhka isha. Utility opam-monorepo wuxuu qabtaa shaqo sida abuurista faylalka qufulka ee ku tiirsanaanta mashruuca, rarista iyo soo saarista koodhka ku-tiirsanaanta, iyo dejinta deegaanka si loo isticmaalo nidaamka dhismaha dune. Isku dhafka dhabta ah waxaa sameeya qalabka dune.
  • Nidaam dhisme dib loo celin karo ayaa la bixiyaa. Isticmaalka feylasha qufulku waxay ku siinaysaa isku xidhka noocyada ku-tiirsanaanta waxayna kuu ogolaanaysaa inaad si buuxda ugu celiso habka dhisidda isla koodka wakhti kasta.
  • Nidaam cusub oo iskutallaab ah ayaa la hirgeliyay iyo awoodda isku-gudbinta dhammaan goobaha la taageerayo ee laga keenay hal deegaan dhismo oo wadaag ah ayaa la bixiyay, kaas oo sidoo kale isku-dubbarid ku-tiirsanaanta iyo maktabadaha leh C-bindings, iyada oo aan loo baahnayn in lagu daro xirmooyinkan xirmada ugu weyn . Isku-dubbarididda waxaa loo habeeyaa iyadoo la adeegsanayo goobo shaqo oo uu bixiyo nidaamka dhisidda dune.
  • Taageerada goobaha cusub ee bartilmaameedka ah ayaa lagu daray, tusaale ahaan, awood tijaabo ah oo lagu dhisayo codsiyada iskood u shaqeeya ee looxyada Raspberry Pi 4 ayaa la bixiyay.
  • Shaqada ayaa la qabtay in lagu dhex daro qaybaha MirageOS ee nidaamka deegaanka ee la xidhiidha horumarinta luqadda OCaml si loo fududeeyo isu imaatinka codsiyada qaabka unikernel. Baakado badan oo MirageOS ah ayaa loo gudbiyay nidaamka dhismaha dune. Utility opam-monorepo ayaa diyaar u ah in lagu rakibo iyada oo la adeegsanayo maareeyaha xirmada opam waxaana loo isticmaali karaa mashaariicda isticmaala nidaamka dhismaha dune. Si loo ilaaliyo balastarrada xallinta mashaakilaadka ku-tiirsanaanta dune, laba kayd ayaa la sameeyay: dune-universe/opam-overlays iyo dune-universe/mirage-opam-overlays, kuwaas oo si toos ah loo awoodo marka la isticmaalayo mirage CLI utility.
  • Is dhexgalka MirageOS ee maktabadaha C iyo Rust waa la fududeeyay.
  • OCaml runtime cusub ayaa la soo jeediyay kaas oo kuu ogolaanaya inaad samayso libc la'aan (libc-free).
  • Waa suurtogal in adeega Merlin loo isticmaalo is dhexgalka iyo deegaanka horumarinta isku dhafan ee caadiga ah.

Source: opennet.ru

Add a comment