Kutolewa kwa Muen 1.0, chanzo wazi cha microkernel kwa ajili ya kujenga mifumo inayotegemewa sana

Baada ya miaka minane ya maendeleo, mradi wa Muen 1.0 ulitolewa, ukiendeleza kernel ya Kutenganisha, kutokuwepo kwa makosa katika msimbo wa chanzo ambao ulithibitishwa kwa kutumia mbinu za hisabati za uthibitishaji rasmi wa kuaminika. Kernel inapatikana kwa usanifu wa x86_64 na inaweza kutumika katika mifumo muhimu ya dhamira ambayo inahitaji kiwango cha juu cha kutegemewa na dhamana ya kutoshindwa. Msimbo wa chanzo wa mradi umeandikwa katika lugha ya Ada na lahaja yake inayoweza kuthibitishwa SPARK 2014. Msimbo huo unasambazwa chini ya leseni ya GPLv3.

Kernel ya kujitenga ni microkernel ambayo hutoa mazingira ya utekelezaji wa vipengele vilivyotengwa kutoka kwa kila mmoja, mwingiliano ambao umewekwa madhubuti na sheria zilizopewa. Kutengwa kunatokana na utumiaji wa viendelezi vya uboreshaji vya Intel VT-x na inajumuisha njia za usalama ili kuzuia upangaji wa njia za siri za mawasiliano. Kerneli ya kugawa ni ndogo zaidi na tuli kuliko vijidudu vingine, ambayo hupunguza idadi ya hali ambazo zinaweza kusababisha kutofaulu.

Kokwa huendesha katika hali ya mizizi ya VMX, sawa na hypervisor, na vipengele vingine vyote huendeshwa katika hali isiyo ya mizizi ya VMX, sawa na mifumo ya wageni. Ufikiaji wa kifaa unafanywa kwa kutumia viendelezi vya Intel VT-d DMA na kukatiza upangaji upya, ambayo inafanya uwezekano wa kutekeleza ufungaji salama wa vifaa vya PCI kwa vipengele vinavyoendesha chini ya Muen.

Kutolewa kwa Muen 1.0, chanzo wazi cha microkernel kwa ajili ya kujenga mifumo inayotegemewa sana

Uwezo wa Muen ni pamoja na usaidizi wa mifumo ya msingi-nyingi, kurasa za kumbukumbu zilizowekwa (EPT, Majedwali ya Ukurasa Zilizopanuliwa), MSI (Vikwazo vyenye Saini ya Ujumbe), na jedwali za sifa za ukurasa wa kumbukumbu (PAT, Jedwali la Sifa ya Ukurasa). Muen pia hutoa kipanga ratiba kisichobadilika kulingana na kipima saa cha mapema cha Intel VMX, muda wa kukimbia wa kompakt ambao hauathiri utendakazi, mfumo wa ukaguzi wa hitilafu, utaratibu wa ugawaji wa rasilimali tulivu unaotegemea kanuni, mfumo wa kushughulikia matukio, na njia za kumbukumbu zinazoshirikiwa kwa mawasiliano ndani ya vipengele vinavyoendesha.

Inaauni vipengee vinavyoendesha na msimbo wa mashine ya biti 64, mashine dhahania za 32- au 64-bit, programu-tumizi za biti 64 katika lugha za Ada na SPARK 2014, mashine pepe za Linux na "unikernel" zinazojitosheleza kulingana na MirageOS juu ya Muen.

Ubunifu kuu unaotolewa katika kutolewa kwa Muen 1.0:

  • Nyaraka zimechapishwa na vipimo vya kernel (kifaa na usanifu), mfumo (sera za mfumo, Tau0 na zana) na vipengele, vinavyoandika vipengele vyote vya mradi.
  • Zana ya zana ya Tau0 (Muen System Composer) imeongezwa, ambayo inajumuisha seti ya vipengee vilivyothibitishwa tayari vya kuunda picha za mfumo na kutengeneza huduma za kawaida zinazoendeshwa juu ya Muen. Vipengee vilivyotolewa ni pamoja na kiendeshi cha AHCI (SATA), Kidhibiti cha Kifaa (DM), kipakiaji cha buti, meneja wa mfumo, terminal pepe n.k.
  • Kiendeshaji cha Linux cha muenblock (utekelezaji wa kifaa cha kuzuia kinachoendesha juu ya kumbukumbu iliyoshirikiwa ya Muen) kimebadilishwa ili kutumia blockdev 2.0 API.
  • Zana zilizotekelezwa za kudhibiti mzunguko wa maisha wa vipengee asili.
  • Picha za mfumo zimebadilishwa ili kutumia SBS (Mtiririko wa Uzuiaji Uliosainiwa) na CSL (Command Stream Loader) ili kulinda uadilifu.
  • Dereva iliyothibitishwa ya AHCI-DRV imetekelezwa, imeandikwa katika lugha ya SPARK 2014 na kukuruhusu kuunganisha viendeshi vinavyounga mkono kiolesura cha ATA au sehemu za diski za mtu binafsi kwa vipengele.
  • Usaidizi wa unikernel ulioboreshwa kutoka kwa miradi ya MirageOS na Solo5.
  • Zana ya lugha ya Ada imesasishwa kwa toleo la Jumuiya ya GNAT 2021.
  • Mfumo unaoendelea wa ujumuishaji umehamishwa kutoka kwa kiigaji cha Bochs hadi kwa mazingira yaliyowekwa kwenye QEMU/KVM.
  • Picha za vipengele vya Linux hutumia kernel ya Linux 5.4.66.

Chanzo: opennet.ru

Kuongeza maoni