Pärast kaheksat aastat arendustöö nägi ilmavalgust Muen 1.0 projekti väljaanne, mis arendab lahususe tuuma (Separation kernel), mille koodis esinevaid vigu on kinnitatud matemaatiliste formaalse verifitseerimise meetoditega. Tuum on saadaval x86_64 arhitektuuri jaoks ja seda saab kasutada kriitilistes süsteemides, mis vajavad kõrgemat usaldusväärsuse taset ja tõrgete puudumise garantiid. Projekti lähtekood on kirjutatud Ada keeles ja tema verifitseeritavas dialektis SPARK 2014. Kood on levitatud GPLv3 litsentsi alusel.
Lahususe tuum on mikrotuum, mis pakub keskkonda isolatsiooniga komponentide käitamiseks, mille vaheline suhtlemine on rangelt reguleeritud kehtestatud reeglitega. Isolatsioon põhineb Intel VT-x virtualiseerimise laienduste rakendamisel ja eelkõige hõlmab see kaitsemehhanisme varjatud sidekanalite organisationi blokeerimiseks. Lahususe tuum on minimalistlikum ja staatisem võrreldes teiste mikrotuumadega, mis võimaldab vähendada olukordade arvu, mis võivad põhjustada tõrkeid.
Ydrol töötab juurerežiimis VMX, sarnaselt hüperviisorile, samas kui kõik teised komponendid töötavad mittejuurerežiimis VMX, sarnaselt külalisüsteemidele. Riistvarale pääsemiseks kasutatakse Intel VT-d DMA laiendusi ja katkestuste ümbermapitamist, mis võimaldab turvalist PCI-seadmete sidumist Muen'i halduses töötavate komponentidega.

Muen'i võimalustest tasub mainida mitme tuuma toetust, pesastatud mälulehti (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), mälulehtede atribuutide tabeleid (PAT, Page Attribute Table). Muen pakub ka fikseeritud tsüklilist ajakavade koostamist, mis põhineb Intel VMX-i premeerimisseadmel, kompaktset runtime'i, mis ei mõjuta jõudlust, kokkuvarisemiste auditeerimise süsteemi, staatilise ressursijaotuse mehhanismi reeglite alusel, sündmuste töötlemise süsteemi ja jagatud mälu kanaleid käivitatavate komponentide vaheliseks suhtlemiseks.
Toetatakse 64-bitiste masinkoodiga Muen'i komponentide ning 32- või 64-bitiste rakenduste käivitamist virtuaalmasinad, 64-bitiste rakenduste jaoks, mis on kirjutatud Ada ja SPARK 2014 keeltes, Linuxi virtuaalmasinates ja iseseisvates "unikernelides", mis põhinevad MirageOS-il.
Muen 1.0 versiooni peamised uuendused:
- Avaldatud on tuumade (seade ja arhitektuur), süsteemide (süsteemipoliitikad, Tau0 ja tööriistakomplekt) ning komponentide spetsifikatsioonid, kus on dokumenteeritud kõik projekti töö aspektid.
- Lisatud on Tau0 tööriistakomplekt (Muen System Composer), mis sisaldab komplekti valmis kinnitatud komponente süsteemipiltide koostamiseks ja tüüpiliste teenuste arendamiseks, mida käitatakse Muen'i peal. Pakutavate komponentide seas on AHCI (SATA) draiver, seadmehaldur (DM), laadija, süsteemihaldur, virtuaalne terminal jne.
- Linuxi draiver muenblock (blokiseadme teostus, mis töötab Muen'i jagatud mälu peal) on muudetud kasutama blockdev 2.0 API-d.
- Teostatud on tööriistad kohalike komponentide elutsükli haldamiseks.
- Süsteemipildid on muudetud kasutama SBS (Signed Block Stream) ja CSL (Command Stream Loader) integriteedi kaitseks.
- Teostatud on kinnitatud AHCI-DRV draiver, kirjutatud SPARK 2014 keeles, mis võimaldab ühendatud komponentide juurde lisada ATA liidest toetavaid seadmeid või eraldi kettajaotusi.
- Parandatud unikernel'i tuge MirageOS ja Solo5 projektidest.
- Ada keele tööriistakomplekt on uuendatud GNAT Community 2021 väljaandele.
- Jätkuva integratsiooni süsteem on üle viidud Bochs emulaatorilt QEMU/KVM sisemistele keskkondadele.
- Linuxi komponentide piltides on kasutusele võetud Linuxi 5.4.66 kern.
Allikas: opennet.ru
