Ukukhishwa kwe-Muen 1.0, i-microkernel yomthombo ovulekile yokwakha amasistimu athembeke kakhulu

Ngemva kweminyaka eyisishiyagalombili yokuthuthukiswa, iphrojekthi ye-Muen 1.0 yakhululwa, ithuthukisa i-Separation kernel, ukungabi khona kwamaphutha kukhodi yomthombo okuqinisekisiwe kusetshenziswa izindlela zezibalo zokuqinisekisa ukwethembeka okusemthethweni. I-kernel iyatholakala nge-architecture ye-x86_64 futhi ingasetshenziswa kumasistimu abalulekile emishini adinga izinga elikhuphukile lokuthembeka kanye nesiqinisekiso sokungahluleki. Ikhodi yomthombo wephrojekthi ibhalwe ngolimi lwe-Ada kanye nolimi lwayo lwesigodi olungaqinisekiswa i-SPARK 2014. Ikhodi isatshalaliswa ngaphansi kwelayisensi ye-GPLv3.

I-kernel yokuhlukanisa i-microkernel ehlinzeka ngendawo yokwenziwa kwezingxenye ezihlukanisiwe komunye nomunye, ukusebenzisana kulawulwa ngokuqinile ngemithetho enikeziwe. Ukuzihlukanisa kusekelwe ekusetshenzisweni kwezandiso ze-Intel VT-x ezibonakalayo futhi kufaka phakathi izindlela zokuphepha zokuvimba inhlangano yeziteshi zokuxhumana eziyimfihlo. I-kernel yokuhlukanisa i-minimalistic futhi imile kakhulu kunamanye ama-microkernel, okunciphisa inani lezimo ezingabangela ukwehluleka.

I-kernel isebenza ngemodi yempande ye-VMX, efana ne-hypervisor, futhi zonke ezinye izingxenye zisebenza ngemodi engeyona impande ye-VMX, efana nezinhlelo zesivakashi. Ukufinyelela okokusebenza kwenziwa kusetshenziswa izandiso ze-Intel VT-d DMA nokuphazamisa ukuklanywa kabusha, okwenza kube nokwenzeka ukusebenzisa ukubophezela okuvikelekile kwamadivayisi e-PCI ezingxenyeni ezisebenza ngaphansi kwe-Muen.

Ukukhishwa kwe-Muen 1.0, i-microkernel yomthombo ovulekile yokwakha amasistimu athembeke kakhulu

Amandla ka-Muen ahlanganisa ukusekelwa kwezinhlelo eziyinhloko, amakhasi enkumbulo afakwe esidlekeni (i-EPT, Amathebula Ekhasi Anwetshiwe), i-MSI (Ukuphazamiseka Okusayiniwe Komlayezo), namathebula esibaluli sekhasi lememori (i-PAT, Ithebula Lesici Sekhasi). I-Muen iphinde inikeze isihleli se-robin esingaguquki esisekelwe ku-Intel VMX preemptive timer, isikhathi sokusebenza esihlangene esingathinti ukusebenza, uhlelo lokuhlola ukuphahlazeka, injini yokwabiwa kwensiza emile esekelwe emthethweni, uhlelo lokusingatha imicimbi, kanye neziteshi zenkumbulo ezabelwana ngazo. ukuxhumana phakathi kwezingxenye ezisebenzayo.

Isekela izingxenye ezisebenzayo ezinekhodi yomshini we-64-bit, imishini ebonakalayo engu-32- noma engu-64-bit, izinhlelo zokusebenza ezingu-64-bit ngezilimi ze-Ada ne-SPARK 2014, imishini ebonakalayo ye-Linux kanye "nama-unikernel" azimele asekelwe ku-MirageOS phezu kwe-Muen.

Okuqanjiwe okuyinhloko okunikezwayo ekukhishweni kwe-Muen 1.0:

  • Amadokhumenti ashicilelwe anemininingwane ye-kernel (idivayisi nezakhiwo), uhlelo (izinqubomgomo zesistimu, i-Tau0 kanye nekhithi yamathuluzi) kanye nezingxenye, ezibhala zonke izici zephrojekthi.
  • Ikhithi yamathuluzi ye-Tau0 (Muen System Composer) yengeziwe, ehlanganisa isethi yezingxenye eziqinisekisiwe esezivele zenziwe ukuze kuhlanganiswe izithombe zesistimu nokuthuthukisa amasevisi ajwayelekile asebenza phezu kwe-Muen. Izingxenye ezinikeziwe zifaka umshayeli we-AHCI (SATA), Isiphathi Sedivayisi (DM), isilayishi sebhuthi, imenenja yesistimu, itheminali ebonakalayo, njll.
  • Umshayeli we-muenblock Linux (ukusetshenziswa kwensiza evinjiwe esebenza phezu kwenkumbulo eyabelwe ye-Muen) iguqulelwe ukuze isebenzise i-blockdev 2.0 API.
  • Amathuluzi asetshenzisiwe okuphatha umjikelezo wempilo wezingxenye zomdabu.
  • Izithombe zesistimu ziguqulelwe ekusebenziseni i-SBS (Signed Block Stream) kanye ne-CSL (Command Stream Loader) ukuze kuvikelwe ubuqotho.
  • Umshayeli oqinisekisiwe we-AHCI-DRV uqalisiwe, obhalwe ngolimi lwe-SPARK 2014 futhi ikuvumela ukuthi uxhume amadrayivu asekela isixhumi esibonakalayo se-ATA noma ukuhlukaniswa kwediski ngakunye ezingxenyeni.
  • Ukusekelwa kwe-unikernel okuthuthukisiwe okuvela kumaphrojekthi we-MirageOS ne-Solo5.
  • Ikhithi yamathuluzi yolimi lwe-Ada ibuyekeziwe ukuze ikhishwe i-GNAT Community 2021.
  • Isistimu yokuhlanganisa eqhubekayo idlulisiwe isuka kusifanisi se-Bochs yayiswa ezindaweni ezisidleke ze-QEMU/KVM.
  • Izithombe zengxenye ye-Linux zisebenzisa i-Linux 5.4.66 kernel.

Source: opennet.ru

Engeza amazwana