Ութ տարվա մշակումից հետո թողարկվեց Muen 1.0 նախագիծը՝ զարգացնելով Separation միջուկը, որի սկզբնական կոդում սխալների բացակայությունը հաստատվեց՝ օգտագործելով պաշտոնական հուսալիության ստուգման մաթեմատիկական մեթոդները։ Միջուկը հասանելի է x86_64 ճարտարապետության համար և կարող է օգտագործվել առաքելության համար կարևոր համակարգերում, որոնք պահանջում են հուսալիության բարձր մակարդակ և ոչ մի խափանումների երաշխիք: Նախագծի սկզբնական կոդը գրված է Ada լեզվով և դրա ստուգելի բարբառով SPARK 2014: Կոդը տարածվում է GPLv3 լիցենզիայի ներքո:
Տարանջատման միջուկը միկրոմիջուկ է, որն ապահովում է միմյանցից մեկուսացված բաղադրիչների կատարման միջավայր, որոնց փոխազդեցությունը խստորեն կարգավորվում է տվյալ կանոններով։ Մեկուսացումը հիմնված է Intel VT-x վիրտուալացման ընդլայնումների օգտագործման վրա և ներառում է անվտանգության մեխանիզմներ՝ արգելափակելու գաղտնի կապի ուղիների կազմակերպումը: Բաժանման միջուկն ավելի մինիմալիստական և ստատիկ է, քան մյուս միկրոմիջուկները, ինչը նվազեցնում է այն իրավիճակների քանակը, որոնք կարող են ձախողման պատճառ դառնալ:
Միջուկն աշխատում է VMX արմատային ռեժիմով, որը նման է հիպերվիզորին, իսկ մյուս բոլոր բաղադրիչներն աշխատում են VMX ոչ արմատային ռեժիմով, ինչպես հյուր համակարգերին: Սարքավորումների հասանելիությունը կատարվում է Intel VT-d DMA ընդլայնումների և ընդհատումների վերարտադրման միջոցով, ինչը հնարավորություն է տալիս PCI սարքերի անվտանգ կապակցումը Muen-ի տակ աշխատող բաղադրիչներին:

Muen-ի հնարավորությունները ներառում են բազմամիջուկ համակարգերի աջակցություն, հիշողության մեջ տեղադրված էջեր (EPT, Extended Page Tables), MSI (Message Signaled Interrupts) և հիշողության էջի հատկանիշի աղյուսակներ (PAT, Page Attribute Table): Muen-ը նաև տրամադրում է ֆիքսված շրջանաձև ժամանակացույց՝ հիմնված Intel VMX կանխարգելիչ ժամանակաչափի վրա, կոմպակտ գործարկման ժամանակ, որը չի ազդում աշխատանքի վրա, վթարի աուդիտի համակարգ, կանոնների վրա հիմնված ստատիկ ռեսուրսների նշանակման մեխանիզմ, իրադարձությունների մշակման համակարգ և ընդհանուր հիշողության ալիքներ: հաղորդակցություն գործող բաղադրիչների շրջանակներում:
Այն աջակցվում է Muen բաղադրիչների վրա աշխատել 64-բիթանոց մեքենայական կոդով, 32-բիթանոց կամ 64-բիթանոց տարբերակներով։ վիրտուալ մեքենա, 64-բիթային ծրագրեր Ada և SPARK 2014 լեզուներով, վիրտուալ մեքենաներ Linux և ինքնաբավ «ունիկերնելներ», որոնք հիմնված են MirageOS-ի վրա։
Muen 1.0-ի թողարկման մեջ առաջարկվող հիմնական նորամուծությունները.
- Հրապարակվել են փաստաթղթեր միջուկի (սարք և ճարտարապետություն), համակարգի (համակարգի քաղաքականություն, Tau0 և գործիքակազմ) և բաղադրիչների բնութագրերով, որոնք փաստում են նախագծի բոլոր ասպեկտները:
- Ավելացվել է Tau0 (Muen System Composer) գործիքակազմը, որը ներառում է պատրաստի ստուգված բաղադրիչների հավաքածու՝ համակարգի պատկերներ կազմելու և ստանդարտ ծառայություններ մշակելու համար, որոնք աշխատում են Muen-ի վերևում: Տրամադրված բաղադրիչները ներառում են AHCI (SATA) վարորդ, Սարքի կառավարիչ (DM), բեռնիչ, համակարգի կառավարիչ, վիրտուալ տերմինալ և այլն:
- Linux- muenblock դրայվերը (Muen-ի համօգտագործվող հիշողության վրա աշխատող բլոկային սարքի իրականացում) փոխարկվել է blockdev 2.0 API-ն օգտագործելու համար։
- Իրականացված գործիքներ հայրենի բաղադրիչների կյանքի ցիկլը կառավարելու համար:
- Համակարգի պատկերները փոխակերպվել են՝ օգտագործելու SBS (Signed Block Stream) և CSL (Command Stream Loader)՝ ամբողջականությունը պաշտպանելու համար:
- Ներդրվել է ստուգված AHCI-DRV դրայվեր, որը գրված է SPARK 2014 լեզվով և թույլ է տալիս միացնել կրիչներ, որոնք աջակցում են ATA ինտերֆեյսին կամ առանձին սկավառակի միջնորմները բաղադրիչներին:
- Բարելավված unikernel աջակցություն MirageOS և Solo5 նախագծերից:
- Ada լեզվի գործիքակազմը թարմացվել է GNAT Community 2021 թողարկման համար:
- Շարունակական ինտեգրման համակարգը Bochs էմուլյատորից տեղափոխվել է QEMU/KVM ներդրված միջավայրեր:
- Բաղադրիչների պատկերներում Linux միջուկը ներգրավված է Linux 5.4.66:
Source: opennet.ru
