Väga töökindlate süsteemide loomiseks mõeldud avatud lähtekoodiga mikrokerneli Muen 1.0 väljalase

Pärast kaheksa aastat kestnud arendustööd lasti välja Muen 1.0 projekt, mis arendas eraldustuuma, mille lähtekoodis vigade puudumine kinnitati formaalse usaldusväärsuse kontrollimise matemaatiliste meetodite abil. Kernel on saadaval x86_64 arhitektuuri jaoks ja seda saab kasutada missioonikriitilistes süsteemides, mis nõuavad suuremat töökindlust ja tõrgeteta garantiid. Projekti lähtekood on kirjutatud Ada keeles ja selle kontrollitavas murdes SPARK 2014. Koodi levitatakse GPLv3 litsentsi all.

Eraldustuum on mikrotuum, mis pakub keskkonda üksteisest eraldatud komponentide täitmiseks, mille koostoime on etteantud reeglitega rangelt reguleeritud. Isolatsioon põhineb Intel VT-x virtualiseerimislaiendite kasutamisel ja sisaldab turvamehhanisme varjatud sidekanalite korraldamise blokeerimiseks. Jaotustuum on minimalistlikum ja staatilisem kui teised mikrotuumad, mis vähendab tõrkeid põhjustada võivate olukordade arvu.

Kernel töötab VMX-juurrežiimis, sarnaselt hüperviisorile, ja kõik muud komponendid töötavad VMX-i mittejuurerežiimis, sarnaselt külalissüsteemidega. Juurdepääs seadmetele toimub Intel VT-d DMA laienduste ja katkestuste ümberkaardistamise abil, mis võimaldab rakendada PCI-seadmete turvalist sidumist Mueni all töötavate komponentidega.

Väga töökindlate süsteemide loomiseks mõeldud avatud lähtekoodiga mikrokerneli Muen 1.0 väljalase

Mueni võimalused hõlmavad mitmetuumaliste süsteemide, pesastatud mälulehtede (EPT, Extended Page Tables), MSI (Message Signaled Interrupts) ja mälulehe atribuutide tabelite (PAT, Page Attribute Table) tuge. Muen pakub ka Inteli VMX-i ennetaval taimeril põhinevat fikseeritud ümmarguse ajakava, kompaktset tööaega, mis ei mõjuta jõudlust, krahhi auditeerimissüsteemi, reeglipõhist staatilise ressursside määramise mehhanismi, sündmuste käsitlemise süsteemi ja jagatud mälukanaleid. suhtlemine töötavate komponentide sees.

See toetab 64-bitise masinkoodiga töötavaid komponente, 32- või 64-bitisi virtuaalmasinaid, 64-bitisi rakendusi Ada ja SPARK 2014 keeltes, Linuxi virtuaalmasinaid ja Mueni peal MirageOS-il põhinevaid iseseisvaid "unikerneleid".

Peamised Muen 1.0 väljalaskmisel pakutavad uuendused:

  • Tuuma (seade ja arhitektuur), süsteemi (süsteemipoliitikad, Tau0 ja tööriistakomplekt) ja komponentide spetsifikatsioonidega on avaldatud dokumendid, mis dokumenteerivad projekti kõiki aspekte.
  • Lisatud on Tau0 (Muen System Composer) tööriistakomplekt, mis sisaldab komplekti valmis kontrollitud komponente süsteemipiltide koostamiseks ja Mueni peal töötavate standardteenuste arendamiseks. Pakutavate komponentide hulka kuuluvad AHCI (SATA) draiver, seadmehaldur (DM), alglaadur, süsteemihaldur, virtuaalne terminal jne.
  • Muenblock Linuxi draiver (Mueni ühismälu peal töötava plokkseadme teostus) on teisendatud kasutama blockdev 2.0 API-t.
  • Rakendatud tööriistad algkomponentide elutsükli haldamiseks.
  • Süsteemi kujutised on terviklikkuse kaitsmiseks teisendatud kasutama SBS-i (Signed Block Stream) ja CSL-i (Command Stream Loader).
  • Rakendatud on kontrollitud AHCI-DRV draiver, mis on kirjutatud SPARK 2014 keeles ja võimaldab komponentidega ühendada ATA-liidest toetavaid draive või üksikuid kettasektsioone.
  • MirageOS-i ja Solo5 projektide täiustatud unikerneli tugi.
  • Ada keele tööriistakomplekti on GNAT Community 2021 versiooni jaoks värskendatud.
  • Pideva integreerimise süsteem on üle viidud Bochsi emulaatorist QEMU/KVM-i pesastatud keskkondadesse.
  • Linuxi komponendi kujutised kasutavad Linuxi 5.4.66 tuuma.

Allikas: opennet.ru

Lisa kommentaar