Itusilẹ ti Muen 1.0, microkernel orisun ṣiṣi fun kikọ awọn eto igbẹkẹle gaan

Lẹhin ọdun mẹjọ ti idagbasoke, iṣẹ akanṣe Muen 1.0 ti tu silẹ, ti o dagbasoke ekuro Iyapa, isansa ti awọn aṣiṣe ninu koodu orisun eyiti o jẹrisi nipa lilo awọn ọna mathematiki ti ijẹrisi igbẹkẹle deede. Ekuro naa wa fun faaji x86_64 ati pe o le ṣee lo ni awọn ọna ṣiṣe pataki-ipinfunni ti o nilo ipele igbẹkẹle ti o pọ si ati iṣeduro ti awọn ikuna kankan. Awọn koodu orisun ti ise agbese ti wa ni kikọ ni Ada ede ati awọn oniwe-verifiable dialect SPARK 2014. Awọn koodu ti wa ni pin labẹ awọn GPLv3 iwe-ašẹ.

Ekuro Iyapa jẹ microkernel ti o pese agbegbe fun ipaniyan ti awọn paati ti o ya sọtọ si ara wọn, ibaraenisepo eyiti o jẹ ilana ti o muna nipasẹ awọn ofin ti a fun. Ipinya da lori lilo awọn amugbooro agbara agbara Intel VT-x ati pẹlu awọn ọna aabo lati ṣe idiwọ iṣeto ti awọn ikanni ibaraẹnisọrọ ni aabo. Ekuro ipin jẹ diẹ minimalistic ati aimi ju awọn microkernels miiran, eyiti o dinku nọmba awọn ipo ti o le fa ikuna.

Ekuro naa n ṣiṣẹ ni ipo root VMX, iru si hypervisor, ati gbogbo awọn paati miiran nṣiṣẹ ni ipo VMX ti kii-root, iru si awọn eto alejo. Wiwọle si ohun elo naa ni a ṣe pẹlu awọn amugbooro Intel VT-d DMA ati da gbigbi atunkọ, eyiti o jẹ ki o ṣee ṣe lati ṣe imuduro aabo ti awọn ẹrọ PCI si awọn paati ti n ṣiṣẹ labẹ Muen.

Itusilẹ ti Muen 1.0, microkernel orisun ṣiṣi fun kikọ awọn eto igbẹkẹle gaan

Awọn agbara Muen pẹlu atilẹyin fun awọn ọna ṣiṣe-pupọ, awọn oju-iwe iranti itẹle (EPT, Awọn tabili Oju-iwe ti o gbooro), MSI (Awọn ifasilẹ Ifiranṣẹ Ifiranṣẹ), ati awọn tabili ikawe oju-iwe iranti (PAT, Tabili ikasi oju-iwe). Muen tun pese oluṣeto iyipo-robin ti o wa titi ti o da lori akoko akoko iṣaju Intel VMX, akoko isunmọ ti ko ni ipa iṣẹ ṣiṣe, eto iṣayẹwo jamba, ilana iṣẹ iyansilẹ orisun orisun ipilẹ ofin, eto mimu iṣẹlẹ, ati awọn ikanni iranti pinpin fun ibaraẹnisọrọ laarin nṣiṣẹ irinše.

O ṣe atilẹyin awọn paati ti nṣiṣẹ pẹlu koodu ẹrọ 64-bit, 32- tabi 64-bit foju ero, awọn ohun elo 64-bit ni Ada ati awọn ede SPARK 2014, awọn ẹrọ foju Linux ati awọn “unikernels” ti ara ẹni ti o da lori MirageOS lori oke Muen.

Awọn imotuntun akọkọ ti a funni ni itusilẹ ti Muen 1.0:

  • Awọn iwe aṣẹ ti ṣe atẹjade pẹlu awọn pato fun ekuro (ẹrọ ati faaji), eto (awọn eto imulo eto, Tau0 ati ohun elo irinṣẹ) ati awọn paati, eyiti o ṣe akosile gbogbo awọn ẹya ti iṣẹ akanṣe naa.
  • Ohun elo irinṣẹ Tau0 (Muen System Composer) ti ni afikun, eyiti o pẹlu ṣeto ti awọn ohun elo ti a rii daju ti a ti ṣetan fun kikọ awọn aworan eto ati idagbasoke awọn iṣẹ boṣewa ti o ṣiṣẹ lori oke Muen. Awọn paati ti a pese pẹlu AHCI (SATA) awakọ, Oluṣakoso ẹrọ (DM), agberu bata, oluṣakoso eto, ebute foju, ati bẹbẹ lọ.
  • Awakọ Linux muenblock (imuse ti ẹrọ idina kan ti o nṣiṣẹ lori oke ti iranti pinpin Muen) ti yipada lati lo blockdev 2.0 API.
  • Awọn irinṣẹ ti a ṣe imuse fun ṣiṣakoso ọna igbesi aye ti awọn paati abinibi.
  • Awọn aworan eto ti ni iyipada lati lo SBS (Ṣiṣe Blocked Block) ati CSL (Aṣẹ Loader Stream) lati daabobo iduroṣinṣin.
  • Awakọ AHCI-DRV ti o ni idaniloju ti ni imuse, ti a kọ sinu ede SPARK 2014 ati gbigba ọ laaye lati so awọn awakọ ti o ṣe atilẹyin wiwo ATA tabi awọn ipin disk kọọkan si awọn paati.
  • Imudara atilẹyin unikernel lati MirageOS ati awọn iṣẹ akanṣe Solo5.
  • Ohun elo irinṣẹ ede Ada ti ni imudojuiwọn fun itusilẹ Agbegbe GNAT 2021.
  • Eto iṣọpọ lemọlemọfún ti gbe lati emulator Bochs si awọn agbegbe itẹle QEMU/KVM.
  • Awọn aworan paati Linux lo ekuro Linux 5.4.66.

orisun: opennet.ru

Fi ọrọìwòye kun