Genode-ի վրա հիմնված հայրենական OS Phantom-ի նախատիպը պատրաստ կլինի մինչև տարեվերջ

Դմիտրի Զավալիշինը խոսել է Phantom օպերացիոն համակարգի վիրտուալ մեքենայի տեղափոխման նախագծի մասին՝ Genode microkernel OS միջավայրում աշխատելու համար։ Հարցազրույցում նշվում է, որ Phantom-ի հիմնական տարբերակն արդեն պատրաստ է պիլոտային նախագծերի համար, իսկ Genode-ի վրա հիմնված տարբերակը պատրաստության կհասցվի օգտագործման տարեվերջին։ Միևնույն ժամանակ, նախագծի կայքում մինչ այժմ հայտարարվել է միայն գործունակ հայեցակարգային նախատիպ, որի կայունությունն ու ֆունկցիոնալությունը չեն հասցվել արդյունաբերական օգտագործման համար հարմար մակարդակի, և մոտակա ծրագրերից է ալֆա տարբերակի ձևավորումը։ հարմար է երրորդ կողմի մշակողների փորձերի համար:

Ծրագրի կոդը բաշխված է LGPL լիցենզիայի ներքո, սակայն հիմնական պահոցում վերջին փոփոխությունը թվագրված է 2019 թվականի նոյեմբերին: Ծրագրի հետ կապված հասարակական գործունեությունը կենտրոնացած է Genode-ի պատառաքաղով պահեստում, որը 2020 թվականի դեկտեմբերից պահպանում է Իննոպոլիսի համալսարանի ուսանող Անտոն Անտոնովը:

2000-ականների սկզբից Phantom օպերացիոն համակարգը մշակվել է որպես Դմիտրի Զավալիշինի անձնական նախագիծ, իսկ 2010 թվականից այն փոխանցվել է Դմիտրիի կողմից ստեղծված Digital Zone ընկերության թևի ներքո: Համակարգն աչքի է ընկնում բարձր հուսալիության վրա կենտրոնացած և «ամեն ինչ օբյեկտ է» հասկացության կիրառմամբ՝ «ամեն ինչ ֆայլ է» հասկացության կիրառմամբ, որը վերացնում է ֆայլերի օգտագործումը հիշողության վիճակի պահպանման և շարունակական ցիկլի պատճառով։ աշխատանք. Phantom-ում հավելվածները չեն դադարեցվում, այլ միայն դադարեցվում են և վերսկսվում այնտեղից, որտեղ նրանք դադարեցվել են: Բոլոր փոփոխականները և տվյալների կառուցվածքները կարող են պահվել այնքան ժամանակ, որքան անհրաժեշտ է հավելվածը, և ծրագրավորողը պարտավոր չէ հատուկ խնամք ցուցաբերել տվյալների պահպանման համար:

Phantom-ի հավելվածները կազմվում են բայթկոդի մեջ, որն աշխատում է ստեկի վրա հիմնված վիրտուալ մեքենայի մեջ, որը նման է Java վիրտուալ մեքենային: Վիրտուալ մեքենան ապահովում է հավելվածի հիշողության կայունությունը. համակարգը պարբերաբար մաքրում է վիրտուալ մեքենայի վիճակի լուսանկարները մշտական ​​լրատվամիջոցների վրա: Անջատումից կամ խափանումից հետո աշխատանքը կարող է շարունակվել՝ սկսած վերջին պահված հիշողության լուսանկարից: Snapshot-ները ստեղծվում են ասինխրոն և առանց վիրտուալ մեքենայի կասեցման, սակայն լուսանկարը մեկանգամյա հատված է գրավում, կարծես վիրտուալ մեքենան դադարեցվել է, պահվել սկավառակի վրա և նորից սկսել:

Բոլոր հավելվածներն աշխատում են ընդհանուր գլոբալ հասցեների տարածությունում, որը վերացնում է միջուկի և հավելվածների միջև համատեքստի փոխարկիչների անհրաժեշտությունը, և մեծապես պարզեցնում և արագացնում է հաղորդակցությունը վիրտուալ մեքենայում աշխատող հավելվածների միջև, որը կարող է առարկաներ փոխանակել հղումների միջոցով: Մուտքի բաժանումն իրականացվում է օբյեկտների մակարդակով, որոնց հղումները կարելի է ստանալ միայն համապատասխան մեթոդները կանչելով (ցուցիչի թվաբանություն չկա): Ցանկացած տվյալ, ներառյալ թվային արժեքները, դիտվում են որպես առանձին օբյեկտներ:

Հավելվածի համար աշխատանքը շարունակական է թվում և կախված չէ ՕՀ-ի վերագործարկումից, խափանումներից և համակարգչի անջատումից: Phantom-ի ծրագրավորման մոդելը համեմատվում է օբյեկտի ծրագրավորման լեզվի համար երբեք չդադարող հավելվածի սերվերի գործարկման հետ: Phantom-ի համար Java ծրագրերի տեղափոխումը համարվում է հավելվածների մշակման հիմնական ուղիներից մեկը, ինչին նպաստում է Phantom վիրտուալ մեքենայի նմանությունը JVM-ի հետ: Java լեզվի համար բայթկոդ կազմողից բացի, նախագիծը նախատեսում է ստեղծել Python-ի և C#-ի համար կոմպիլյատորներ, ինչպես նաև WebAssembly միջանկյալ կոդից թարգմանիչի ներդրում։

Բարձր կատարողականություն պահանջող գործողություններ կատարելու համար, ինչպիսիք են վիդեո և աուդիո մշակումը, հնարավոր է գործարկել երկուական օբյեկտները բնիկ կոդով առանձին թելերով (LLVM-ն օգտագործվում է երկուական օբյեկտներ կառուցելու համար): Միջուկի ցածր մակարդակի ծառայություններ մուտք գործելու համար VM-ի որոշ դասեր («ներքին» դասեր) իրականացվում են ՕՀ միջուկի մակարդակում: Linux հավելվածները գործարկելու համար տրամադրվում է POSIX շերտ, որը կրկնօրինակում է Unix գործընթացների գործարկման համար անհրաժեշտ զանգերը (POSIX շերտի հավելվածների կայունությունը դեռ ապահովված չէ):

Genode-ի վրա հիմնված հայրենական OS Phantom-ի նախատիպը պատրաստ կլինի մինչև տարեվերջ

Ավանդական Phantom OS-ն, ի լրումն վիրտուալ մեքենայի, ներառում է իր միջուկը թելերի ներդրմամբ, հիշողության կառավարիչ, աղբահանող, համաժամացման մեխանիզմներ, I/O համակարգ և սարքավորումների հետ աշխատելու վարորդներ, ինչը զգալիորեն բարդացնում է բերումը: նախագիծը լայնածավալ օգտագործման պատրաստակամության համար: Առանձին-առանձին, մշակվում են ցանցային կույտ ունեցող բաղադրիչներ, գրաֆիկական ենթահամակարգ և օգտատիրոջ միջերես: Հատկանշական է, որ գրաֆիկական ենթահամակարգը և պատուհանի մենեջերը աշխատում են միջուկի մակարդակով։

Նախագծի կայունությունը, դյուրատարությունը և անվտանգությունը բարելավելու համար փորձ է արվել գործի տեղափոխել Phantom վիրտուալ մեքենան՝ օգտագործելով Genode բաց միկրոմիջուկի օպերացիոն համակարգի բաղադրիչները, որի մշակումը վերահսկում է գերմանական Genode Labs ընկերությունը: Նրանց համար, ովքեր ցանկանում են Genode-ի հիման վրա Phantom-ով փորձարկել, պատրաստվել է Docker-ի վրա հիմնված հատուկ build միջավայր։

Genode-ի օգտագործումը հնարավորություն կտա օգտագործել արդեն փորձարկված միկրոմիջուկներ և դրայվերներ, ինչպես նաև դրայվերներ բերել օգտատերերի տարածք (իրենց ներկայիս ձևով դրայվերները գրված են C-ով և աշխատում են Phantom միջուկի մակարդակում): Մասնավորապես, հնարավոր կլինի օգտագործել seL4 միկրոմիջուկը, որն անցել է հուսալիության մաթեմատիկական ստուգում` հաստատելով, որ իրականացումը լիովին համապատասխանում է պաշտոնական լեզվով սահմանված բնութագրերին: Դիտարկվում է Phantom վիրտուալ մեքենայի համար հուսալիության նմանատիպ ապացույց պատրաստելու հնարավորությունը, որը թույլ կտա ստուգել ողջ ՕՀ միջավայրը։

Genode-ի վրա հիմնված նավահանգստի կիրառման հիմնական ոլորտը տարբեր արդյունաբերական և ներկառուցված սարքերի համար հավելվածների մշակումն է: Ներկայումս վիրտուալ մեքենայի համար փոփոխությունների մի շարք արդեն պատրաստ է, և Genode-ի վերևում աշխատող կապեր են ավելացվել միջուկի կայուն բաղադրիչների և հիմնական ցածր մակարդակի ինտերֆեյսերի համար: Նշվում է, որ Phantom վիրտուալ մեքենան արդեն կարող է աշխատել 64-բիթանոց Genode միջավայրում, սակայն VM-ը դեռ պետք է ներդրվի կայուն ռեժիմում, վարորդի ենթահամակարգը պետք է վերամշակվի, իսկ ցանցային ստեկով և գրաֆիկական ենթահամակարգով բաղադրիչները հարմարեցվել Գենոդին։

Genode-ի վրա հիմնված հայրենական OS Phantom-ի նախատիպը պատրաստ կլինի մինչև տարեվերջ
Genode-ի վրա հիմնված հայրենական OS Phantom-ի նախատիպը պատրաստ կլինի մինչև տարեվերջ
Genode-ի վրա հիմնված հայրենական OS Phantom-ի նախատիպը պատրաստ կլինի մինչև տարեվերջ


Source: opennet.ru

Добавить комментарий