Չինաստանից ժամանած ծրագրավորողների խումբը զարգացնում է Asterinas միջուկը, որը գրված է Rust լեզվով և նախատեսված է ընդհանուր նշանակության գործող համակարգերում օգտագործման համար: Հաստատված համակարգային բաղադրիչների հետ արագ բազմակողմանի ինտեգրման համար միջուկը առաջարկում է ABI (Application Binary Interface), որը համատեղելի է Linux միջուկի հետ և կարող է օգտագործվել դրա փոխարեն: Ծրագրի կոդը տրամադրվում է MPL (Mozilla Public License) лицензիայի ներքո:
Ծրագրն առաջ է գնում 2022 թվականի աշնանից և նպատակ ունի արդեն այս տարի հասնել լայն օգտագործման համար համապատասխան մակարդակներին virtual machines x86-64 ճարտարապետությամբ: Հաջորդ տարուց կենտրոնացումը ծրագրավորում է տեղափոխել սարքավորումների և այլ CPU ճարտարապետությունների աջակցությանը: Նախորդառաջարկվող ոլորտների թվում են Linux ABI-ի վրա հիմնված համակարգերը, բայց պահանջող ավելի բարձր մակարդակի անվտանգության ապահովման: Օրինակ, Asterinas-ի առաջարկվում է օգտագործել պաշտպանված համակարգային միջավայրերի ձևավորման համար օգտագործման համար կիրառվում է KubeVirt տեխնոլոգիան, որը թույլ է տալիս աշխատեցնել դասական վիրտուալ մեքենաներ ուղղակի Kubernetes կոնտեյներում և արդեն ունի բոլոր անհրաժեշտ ինտեգրացիաները Cluster API-ի հետ՝ կառավարվող Kubernetes կլաստերներ սկսելու համար «երևակայական» Kubernetes կլաստերում:, որոնց յուրահատկությունների համար օգտագործվում են նման տեխնոլոգիաներ, ինչպիսիք են ARM CCA, AMD SEV և Intel TDX, ինչպես նաև հոստ համակարգի կողմից, որը աջակցում է տակտերի գործարկմանը:
Ամենաթույլեցված դժվարությունները հիշողության հետ աշխատելու ժամանակ, որոնք հանդիսանում են առավել վտանգավոր խոցելիությունների հիմնական աղբյուրը, Asterinas-ի մշակման ընթացքում օգտագործվում է Rust լեզուն և անապահով հատվածների սահմանափակ օգտագործման ռազմավարությունը: Միջուկը կառուցված է framekernel ճարտարապետությամբ, որտեղ մշակողներն ակնարկելու քայլեր են ձեռնարկում միկրոարդյունուղների մեկուսացման հնարավորությունները մոնոլիտ միջուկների արդյունավետության հետ:
Asterinas միջուկի բաղադրիչները տեղադրվում են ընդհանուր հասցեական տարածքում, իսկ անվտանգությունը ապահովվում է անվտանգության քայլին անմիջապես չմեղադրել հնարավոր խնդիրների կոդի տարածման համակարգով: Միջուկը բաժանվում է երկու մասերի, որոնք գրված են Rust-ով. OS Framework և OS Services: OS Services-ում արգելվում է անապահով հատվածների օգտագործումը, իսկ բոլոր ցածր մակարդակի գործողությունները, որոնք պահանջում են անապահով հատվածում կոդի կատարումը, տեղափոխվում են OS Framework և հասանելի են միայն բարձր մակարդակի API-ի միջոցով: Բոլոր համակարգային կոչերը, ֆայլային համակարգերը և վարորդները իրակացվում են OS Services-ի մակարդակում և չեն կարող ընդգրկել անապահով հատվածներ:
Համակարգային ծառայությունների և միջուկի մոդուլների մշակման ընթացքում առաջարկվում է օգտագործել OSDK (Operating System Development Kit) գործիքակազմը, որն ապահովում է cargo-osdk օգտակար ծրագիրը, որը պատասխանատու է գործող համակարգի բաղադրիչների ստեղծման, հավաքման, փորձարկման և գործարկման համար: Մշակողների համար պատրաստված է OSTD (Operating System Standard Library) գրադարանների հավաքածու, որը ներկայացնում է Rust-ի ստանդարտ գրադարանների խմբագրություն (crate std), որը հարմարեցված է գործող համակարգի բաղադրիչների համար:
Ընտանիք: opennet.ru
