Vietējās OS Phantom prototips, kura pamatā ir Genode, būs gatavs līdz gada beigām

Dmitrijs ZavaļiÅ”ins stāstÄ«ja par projektu Phantom operētājsistēmas virtuālās maŔīnas pārneÅ”anai darbam Genode mikrokodolu OS vidē. Intervijā atzÄ«mēts, ka Phantom galvenā versija jau ir gatava pilotprojektiem, un uz Genode balstÄ«tā versija tiks sagatavota lietoÅ”anai gada beigās. Tajā paŔā laikā projekta mājaslapā pagaidām ir izziņots tikai funkcionējoÅ”s konceptuālais prototips, kura stabilitāte un funkcionalitāte nav nogādāta rÅ«pnieciskai lietoÅ”anai piemērotā lÄ«menÄ« un starp tuvākajiem plāniem ir alfa versijas veidoÅ”ana. piemērots treÅ”o puÅ”u izstrādātāju eksperimentiem.

Projekta kods tiek izplatÄ«ts ar LGPL licenci, bet pēdējās izmaiņas galvenajā repozitorijā ir datētas ar 2019. gada novembri. Ar projektu saistÄ«tā sabiedriskā darbÄ«ba koncentrēta krātuvē ar dakÅ”iņu Genodei, kuru kopÅ” 2020. gada decembra uztur Innopolis Universitātes students Antons Antonovs.

KopÅ” 2000. gadu sākuma Phantom operētājsistēma tika izstrādāta kā Dmitrija ZavaļiÅ”ina personÄ«gais projekts, un kopÅ” 2010. gada tā tika nodota Dmitrija izveidotā uzņēmuma Digital Zone paspārnē. Sistēma ir ievērojama ar savu fokusu uz augstu uzticamÄ«bu un jēdziena "viss ir objekts" izmantoÅ”anu, nevis "viss ir fails", kas novērÅ” failu izmantoÅ”anu atmiņas stāvokļa saglabāŔanas un nepārtraukta cikla dēļ. strādāt. Lietojumprogrammas Phantom netiek pārtrauktas, bet tikai apturētas un atsāktas no vietas, kur tās tika pārtrauktas. Visus mainÄ«gos un datu struktÅ«ras var glabāt tik ilgi, cik lietojumprogrammai nepiecieÅ”ams, un programmētājam nav Ä«paÅ”i jārÅ«pējas par datu saglabāŔanu.

Programmas Phantom lietojumprogrammas tiek apkopotas baitkodā, kas darbojas uz steku balstÄ«tā virtuālajā maŔīnā, lÄ«dzÄ«gi kā Java virtuālajai maŔīnai. Virtuālā maŔīna nodroÅ”ina lietojumprogrammu atmiņas noturÄ«bu ā€” sistēma periodiski izskalo virtuālās maŔīnas stāvokļa momentuzņēmumus pastāvÄ«gā datu nesējā. Pēc izslēgÅ”anas vai avārijas darbu var turpināt, sākot no pēdējā saglabātā atmiņas momentuzņēmuma. Momentuzņēmumi tiek izveidoti asinhroni un bez virtuālās maŔīnas darbÄ«bas apturÄ“Å”anas, bet momentuzņēmums tver vienreizēju daļu, it kā virtuālā maŔīna tiktu apturēta, saglabāta diskā un sākta no jauna.

Visas lietojumprogrammas darbojas kopējā globālajā adreÅ”u telpā, kas novērÅ” nepiecieÅ”amÄ«bu pēc konteksta pārslēgÅ”anas starp kodolu un lietojumprogrammām, kā arÄ« ievērojami vienkārÅ”o un paātrina saziņu starp lietojumprogrammām, kas darbojas virtuālajā maŔīnā, kas var apmainÄ«ties ar objektiem, izmantojot atsauces nodoÅ”anu. Piekļuves atdalÄ«Å”ana tiek veikta objektu lÄ«menÄ«, uz kuriem atsauces var iegÅ«t, tikai izsaucot atbilstoŔās metodes (nav rādÄ«tāja aritmētikas). Jebkuri dati, tostarp skaitliskās vērtÄ«bas, tiek uzskatÄ«ti par atseviŔķiem objektiem.

Lietojumprogrammai darbs izskatās nepārtraukts un nav atkarÄ«gs no OS atsāknÄ“Å”anas, avārijām un datora izslēgÅ”anas. Phantom programmÄ“Å”anas modelis tiek salÄ«dzināts ar nepārtrauktu lietojumprogrammu servera darbÄ«bu objektu programmÄ“Å”anas valodai. Java programmu pārneÅ”ana priekÅ” Phantom tiek uzskatÄ«ta par vienu no galvenajiem lietojumprogrammu izstrādes veidiem, ko veicina Phantom virtuālās maŔīnas lÄ«dzÄ«ba ar JVM. Papildus Java valodas baitkoda kompilatoram projektā plānots izveidot kompilatorus Python un C#, kā arÄ« ieviest tulkotāju no WebAssembly starpkoda.

Lai veiktu darbÄ«bas, kurām nepiecieÅ”ama augsta veiktspēja, piemēram, video un audio apstrādi, ir iespējams palaist bināros objektus ar vietējo kodu atseviŔķos pavedienos (bināro objektu veidoÅ”anai izmanto LLVM). Lai piekļūtu zema lÄ«meņa kodola pakalpojumiem, dažas VM klases (ā€œiekŔējāsā€ klases) ir ieviestas OS kodola lÄ«menÄ«. Lai palaistu Linux lietojumprogrammas, tiek nodroÅ”ināts POSIX slānis, kas emulē Unix procesu darbÄ«bai nepiecieÅ”amos izsaukumus (noturÄ«ba lietojumprogrammām POSIX slānÄ« vēl nav nodroÅ”ināta).

Vietējās OS Phantom prototips, kura pamatā ir Genode, būs gatavs līdz gada beigām

Tradicionālajā Phantom OS papildus virtuālajai maŔīnai ir savs kodols ar pavedienu ievieÅ”anu, atmiņas pārvaldnieks, atkritumu savācējs, sinhronizācijas mehānismi, I / O sistēma un draiveri darbam ar aprÄ«kojumu, kas ievērojami apgrÅ«tina ievieÅ”anu. projekts ir gatavs plaÅ”ai lietoÅ”anai. AtseviŔķi tiek izstrādāti komponenti ar tÄ«kla steku, grafisko apakÅ”sistēmu un lietotāja interfeisu. JāatzÄ«mē, ka grafikas apakÅ”sistēma un logu pārvaldnieks darbojas kodola lÄ«menÄ«.

Lai uzlabotu projekta stabilitāti, pārnesamÄ«bu un droŔību, tika mēģināts Phantom virtuālo maŔīnu nodot darbā, izmantojot atvērtās mikrokodolu operētājsistēmas Genode komponentus, kuru izstrādi uzrauga Vācijas kompānija Genode Labs. Tiem, kas vēlas eksperimentēt ar Phantom, kura pamatā ir Genode, ir sagatavota Ä«paÅ”a bÅ«vÄ“Å”anas vide, kuras pamatā ir Docker.

Izmantojot Genode, bÅ«s iespējams izmantot jau pārbaudÄ«tus mikrokodolus un draiverus, kā arÄ« ievest draiverus lietotāja telpā (paÅ”reizējā formā draiveri ir rakstÄ«ti C un darbojas Phantom kodola lÄ«menÄ«). Jo Ä«paÅ”i bÅ«s iespējams izmantot seL4 mikrokodolu, kas ir izgājis matemātisko uzticamÄ«bas pārbaudi, apliecinot, ka ievieÅ”ana pilnÄ«bā atbilst oficiālajā valodā norādÄ«tajām specifikācijām. Tiek apsvērta iespēja sagatavot lÄ«dzÄ«gu Phantom virtuālās maŔīnas uzticamÄ«bas apliecinājumu, kas ļaus pārbaudÄ«t visu OS vidi.

Genode balstÄ«tā porta galvenā pielietojuma joma ir lietojumprogrammu izstrāde dažādām rÅ«pnieciskajām un iegultajām ierÄ«cēm. Å obrÄ«d jau ir sagatavots izmaiņu kopums virtuālajai maŔīnai un ir pievienoti saitÄ«jumi, kas darbojas virs Genode kodola noturÄ«bas komponentiem un galvenajām zemā lÄ«meņa saskarnēm. Tiek atzÄ«mēts, ka Phantom virtuālā maŔīna jau var darboties 64 bitu Genode vidē, taču VM vēl ir jāievieÅ” noturÄ«bas režīmā, jāpārstrādā draiveru apakÅ”sistēma, kā arÄ« komponentiem ar tÄ«kla steku un grafikas apakÅ”sistēmu. jāpielāgo Genodei.

Vietējās OS Phantom prototips, kura pamatā ir Genode, būs gatavs līdz gada beigām
Vietējās OS Phantom prototips, kura pamatā ir Genode, būs gatavs līdz gada beigām
Vietējās OS Phantom prototips, kura pamatā ir Genode, būs gatavs līdz gada beigām


Avots: opennet.ru

Pievieno komentāru