Prototip domaćeg operativnog sistema Phantom zasnovan na Genode biće spreman do kraja godine

Dmitrij Zavališin povedal o projektu prelaska virtualne mašine operacijskog sistema Phantom za rad u okruženju mikrokernel OS-a Genode. U intervjuu se navodi da je glavna verzija Phantoma već spremna za pilot projekte, dok će verzija zasnovana na Genode biti dovršena do kraja godine. Ipak, na web stranici projekta trenutno je naveden samo funkcionalni konceptualni prototip, čija stabilnost i funkcionalnost nisu dovedene do nivoa pogodnog za industrijsku upotrebu, a među najbližim planovima pominje se formiranje alfa verzije pogodnej za eksperimentisanje drugih programera.

Kod projekta se distribuira pod LGPL licencom, ali je poslednja izmena u glavnom repozitorijumu datirana novembrom 2019. godine. Povezana javna aktivnost projekta fokusirana je u repozitorijumu s fork-om za Genode, koji od decembra 2020. godine održava Anton Antonov, student univerziteta Innopolis.

Operacijski sistem Phantom se od početka 2000-ih godina razvijao kao lični projekat Dmitrija Zavališina, a od 2010. godine prelazi pod okrilje kompanije Digital Zone, koju je osnovao Dmitrij. Sistem je poznat po usredsređenosti na visoku pouzdanost i korišćenju koncepta 'sve je objekat' umesto 'sve je datoteka', što omogućava izbegavanje korišćenja datoteka zahvaljujući čuvanju stanja memorije i neprekidnom radnom ciklusu. Aplikacije u Phantomu se ne završavaju, već se samo pauziraju i nastavljaju s radom s prekinute tačke. Sve promenljive i strukture podataka mogu se čuvati onoliko dugo koliko je potrebno aplikaciji, pri čemu programer posebno ne mora brinuti o čuvanju podataka.

Aplikacije u Phantom-u se kompajliraju u bajtkod koji se izvršava u stekovnoj virtuelnoj mašini, slično Java virtuelnoj mašini. Virtuelna mašina obezbeđuje persistenciju memorije aplikacija — sistem periodično skladišti snimke stanja virtuelne mašine na trajni medij. Nakon isključenja ili neplaniranog gašenja, rad se može nastaviti od poslednjeg sačuvanog snimka memorije. Snimci se kreiraju u asinkronom režimu i bez obustavljanja rada virtuelne mašine, ali u snimku se fiksira jedinstven trenutak, kao da je virtuelna mašina zaustavljena, sačuvana na disk i ponovo pokrenuta.

Sve aplikacije se izvršavaju u zajedničkom globalnom adresnom prostoru, što omogućava izbegavanje promene konteksta između jezgra i aplikacija, kao i značajno pojednostavljuje i ubrzava interakciju između aplikacija koje se izvršavaju u virtuelnoj mašini, a koje mogu razmenjivati objekte preko prenosa referenci. Razdvajanje pristupa vrši se na nivou objekata, čije se reference mogu dobiti samo putem poziva odgovarajućih metoda (aritmetika pokazivača je odsutna). Bilo koji podaci, uključujući numeričke vrednosti, se obrađuju kao posebni objekti.

Za aplikaciju rad izgleda neprekinuto i ne zavisi od ponovnog pokretanja operativnog sistema, neplaniranih gašenja i isključivanja računara. Programski model za Phantom se poredi sa pokretanjem aplikacija koje se nikada ne zaustavljaju. strežnika To su aplikacije za objektni jezik programiranja. Kao jedan od glavnih načina razvoja aplikacija smatra se portovanje Java programa za Phantom, što olakšava sličnost virtuelne mašine Phantom sa JVM. Pored kompajlera bajtkoda za jezik Java, projekat planira izradu kompajlera za Python i C#, kao i implementaciju prevodioca iz intermedijarnog koda WebAssembly.

Za izvajanje operacij, ki zahtevajo visoko zmogljivost, kot sta obdelava videa in zvoka, je omogočeno izvajanje ločenih nitk binarnih objektov z nativno kodo (za zbiranje binarnih objektov se uporablja LLVM). Za dostop do nizko nivojskih storitev jedra je del razredov VM ('notranji' razredi) implementiran na ravni jedra OS. Za zagon Linux aplikacij je predvidena POSIX plast, ki izvaja emulacijo klicev potrebnih za delovanje Unix procesov (trdnost za aplikacije v POSIX plasti trenutno ni zagotovljena).

Prototip domaćeg operativnog sistema Phantom zasnovan na Genode biće spreman do kraja godine

Tradicionalni operacijski sistem Phantom poleg virtualne naprave vključuje lastno jedro z implementacijo niti, upravljalnikom pomnilnika, zbiralnikom odpadkov, mehanizmi sinhronizacije, sistemom vhod/izhod in gonilniki za delo s strojno opremo, kar znatno otežuje dokončanje projekta za široko uporabo. Komponente z omrežnim stekom, grafično podmorsko in uporabniškim vmesnikom se razvijajo ločeno. Kar je zanimivo, je to, da grafični podsistem in upravljalnik oken delujeta na ravni jedra.

Za povečanje stabilnosti, prenosljivosti in varnosti projekta je bila sprejeta odločitev za prenos virtualne naprave Phantom za delo z uporabo komponent odprtokodne mikro-jedrne operacijske sistema Genode, katere razvoj vodi nemško podjetje Genode Labs. Za tiste, ki želijo eksperimentirati s Phantom na osnovi Genode, je pripravljeno posebno gradbeno okolje na osnovi Docker.

Uporaba Genode bo omogočila uporabo že preverjenih mikrojedr in gonilnikov, ter prenos gonilnikov v prostor uporabnika (v trenutni obliki so gonilniki napisani v C in delujejo na nivoju jedra Phantom). Med drugim bo mogoče uporabiti mikrojedro seL4, ki je prešlo matematično verifikacijo zanesljivosti, ki potrjuje, da implementacija v celoti ustreza specifikacijam, določenim v formalnem jeziku. Razmatra se možnost priprave podobnega dokazila o zanesljivosti tudi za virtualno napravo Phantom, kar bo omogočilo verifikacijo celotnega operacijskega okolja.

Glavna uporaba porta temeljenog na Genode je razvoj aplikacija za različite industrijske i ugrađene uređaje. Trenutno je već pripremljen niz promjena za virtualnu mašinu i dodane su funkcionalne omotnice koje rade na Genode za osiguranje postojanosti komponenti jezgre i osnovnih niskonivojnih sučelja. Primjećuje se da virtualni stroj Phantom već može raditi u 64-bitnom okruženju Genode, ali još uvijek je potrebno implementirati rad VM u režimu postojanosti, revidirati sustav upravljačkih programa i prilagoditi za Genode komponente s mrežnim stakom i grafičkim sustavom.

Prototip domaćeg operativnog sistema Phantom zasnovan na Genode biće spreman do kraja godine
Prototip domaćeg operativnog sistema Phantom zasnovan na Genode biće spreman do kraja godine
Prototip domaćeg operativnog sistema Phantom zasnovan na Genode biće spreman do kraja godine


Izvor: opennet.ru
Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster