Dmitri Zavalyshin ka folur për projektin e portimit të makinës virtuale të sistemit operativ Phantom për të punuar në një ambient të sistemit të mikrokernelit Genode. Në intervistë theksohet se versioni kryesor i Phantom është tashmë gati për projekte pilot, dhe versioni mbi bazën e Genode do të përfundohet për përdorim deri në fund të vitit. Në të njëjtën kohë, në faqen e projektit aktualisht është shpallur vetëm një prototip konceptual funksional, stabiliteti dhe funksionaliteti i të cilit nuk janë arritur në një nivel të përshtatshëm për përdorim industrial, dhe midis planeve të afërta përmendet formimi i një versioni alfa, i përshtatshëm për eksperimente nga zhvillues të tjerë.
Kodi i projektit shpërndahet nën licencën LGPL, por ndryshimi i fundit në depozitën kryesore daton nga nëntori i vitit 2019. Aktiviteti publik i lidhur me projektin është përqendruar në depozitën me forkun për Genode, e cila mbështetet nga Anton Antonov, një student nga universiteti Innopolis që nga dhjetori i vitit 2020.
Sistemi operativ Phantom ka zhvilluar si një projekt personal i Dmitrit Zavalyshin që nga fillimi i viteve 2000, dhe që nga viti 2010 është kaluar nën menaxhimin e kompanisë Digital Zone, të themeluar nga Dmitri. Sistemi është i njohur për orientimin e tij në besueshmëri të lartë dhe për përdorimin e konceptit "çdo gjë është një objekt" në vend të "çdo gjë është një skedar", i cili lejon që të shmangen përdorimi i skedareve përmes ruajtjes së gjendjes së memories dhe ciklit të vazhdueshëm të punës. Aplikacionet në Phantom nuk përfundojnë, por vetëm pezullohen dhe rinisën nga pika e ndërprerë. Të gjitha variablet dhe strukturat e të dhënave mund të ruhen për aq kohë sa kërkohet nga aplikacioni, pa përdoruesi e programuesit që të ketë nevojë të shqetësohet për ruajtjen e të dhënave.
Aplikacionet në Phantom kompilohen në bytecode, i cili ekzekutohet në një makinë virtuale me stack, të ngjashme me makinën virtuale Java. Makinë virtuale siguron qëndrueshmërinë e memories së aplikacioneve - sistemi herë pas here ruan blloqet e gjendjes së makinës virtuale në një medium të përhershëm. Pas fikjes ose përfundimit të papritur, puna mund të vazhdojë duke filluar nga blloku i fundit i ruajtur i memories. Blloqet krijohen në mënyrë asinkrone dhe pa ndalur punën e makinës virtuale, por në snapshot regjistrohet një prerje e përkohshme, sikur makina virtuale të ishte ndalur, ruajtur në disk dhe më pas rinisur.
Të gjitha aplikacionet ekzekutohen në një hapësirë globale adrese që lejon të shmangen kalimet e kontekstit mes bërthamës dhe aplikacioneve, si dhe ndihmon shumë në thjeshtimin dhe përshpejtimin e ndërveprimit ndërmjet aplikacioneve të ekzekutuara në makinën virtuale, të cilat mund të ndajnë objekte përmes transferimit të referencave. Ndërseparimi i aksesit realizohet në nivelin e objekteve, referencat e të cilave mund të merren vetëm përmes thirrjes së metodave përkatëse (aritmetika e treguesve mungon). Të dhënat e çdo lloji, përfshirë vlerat numerike, trajtohen si objekte të veçanta.
Për aplikacionin punimi duket i vazhdueshëm dhe nuk varet nga rinstalimet e OS-së, përfundimet e papritura të punës dhe fikjet e kompjuterit. Modeli i programimit për Phantom krahasohet me ekzekutimin e aplikacioneve që nuk ndalen kurrë. serverë si një nga mënyrat kryesore të zhvillimit të aplikacioneve është konsideruar portimi i programeve për Phantom në gjuhën Java, për të cilin ndihmon ngjashmëria e makinës virtuale Phantom me JVM. Përveç kompilatorit të bytecode për gjuhën Java, projekti parashikon krijimin e kompilatorëve për Python dhe C#, si dhe realizimin e një përkthyesi nga kodi ndërmjetës WebAssembly.
PĂ«r kryerjen e operacioneve qĂ« kĂ«rkojnĂ« performancĂ« tĂ« lartĂ«, si pĂ«rpunimi i videove dhe audios, Ă«shtĂ« parashikuar mundĂ«sia e ekzekutimit nĂ« rrjedha tĂ« veçanta tĂ« objekteve binare me kod natyror (pĂ«r ndĂ«rtimin e objekteve binare pĂ«rdoret LLVM). PĂ«r qasje nĂ« shĂ«rbimet e nivelit tĂ« ulĂ«t tĂ« bĂ«rthamĂ«s, disa klasa VM (âklasa tĂ« brendshmeâ) janĂ« implementuar nĂ« nivelin e bĂ«rthamĂ«s sĂ« OS. PĂ«r ekzekutimin e aplikacioneve Linux Ă«shtĂ« parashikuar njĂ« ndĂ«rfaqe POSIX, qĂ« realizon emulimin e thirrjeve tĂ« nevojshme pĂ«r funksionimin e proceseve Unix (pĂ«r aplikacionet nĂ« ndĂ«rfaqen POSIX, pĂ«r momentin nuk sigurohet qĂ«ndrueshmĂ«ria).

Sistemi operativ tradicional Phantom, përveç makinës virtuale, përfshin një bërthamë të vetën me realizimin e rrjedhave, menaxherit të memories, grumbulluesit të mbeturinave, mekanizmave të sinkronizimit, sistemin e hyrje/dalje dhe drejtuesit për të punuar me pajisjet, gjë që e komplikon ndjeshëm përfundimin e projektit për përdorim të gjerë. Komponentët me paketën rrjetore, sistemin grafik dhe ndërfaqen e përdoruesit zhvillohen veçmas. E veçantë është që sistemi grafik dhe menaxheri i dritareve punojnë në nivelin e bërthamës.
Për të rritur stabilitetin, portabilitetin dhe sigurinë e projektit, është bërë një përpjekje për të kaluar makinën virtuale Phantom për të punuar me komponentët e sistemit operativ mikro-njësor me kod të hapur Genode, zhvillimin e të cilit e mbikëqyr kompania gjermane Genode Labs. Për ata që dëshirojnë të eksperimentojnë me Phantom mbi Genode, është përgatitur një ambient ndërtimi të veçantë mbi bazën e Docker.
Përdorimi i Genode do të ofrojë mundësinë për të përdorur mikro-bërthamat dhe drejtuesit e provuar, si dhe për të nxjerrë drejtuesit në hapësirën e përdoruesit (në formën aktuale, drejtuesit janë të shkruar në C dhe ekzekutohen në nivelin e bërthamës së Phantom). Po ashtu do të shfaqet mundësia e përdorimit të mikro-bërthamës seL4, e cila ka kaluar verifikimin matematikor të besueshmërisë, duke konfirmuar se implementimi përputhet plotësisht me specifikimet e caktuara në gjuhën formale. Po shqyrtohet mundësia e përgatitjes së një prove të ngjashme të besueshmërisë edhe për makinën virtuale Phantom, që do të mundësojë verifikimin e gjithë ambientit të sistemit operativ.
Si njĂ« fushĂ« kryesore aplikimi, porta mbi bazĂ«n e Genode Ă«shtĂ« e dedikuar pĂ«r zhvillimin e aplikacioneve pĂ«r pajisje tĂ« ndryshme industriale dhe tĂ« integruara. Aktualisht, Ă«shtĂ« pĂ«rgatitur njĂ« set ndryshimesh pĂ«r makinĂ« virtuale dhe janĂ« shtuar lidhje funksionale sipĂ«r Genode pĂ«r tĂ« siguruar qĂ« komponentĂ«t e bĂ«rthamĂ«s dhe interfeset e ulta tĂ« jenĂ« tĂ« qĂ«ndrueshme. ĂshtĂ« e theksuar se makina virtuale Phantom tani mund tĂ« funksionojĂ« nĂ« njĂ« mjedis 64-bit tĂ« Genode, por ende duhet tĂ« realizohet funksionimi i VM nĂ« modin e qĂ«ndrueshmĂ«risĂ«, tĂ« ri-inxizhohet nĂ«n-sistemi i drejtuesve dhe tĂ« adaptohen pĂ«r Genode komponentĂ«t me grumbullin e rrjetit dhe nĂ«n-sistemin grafik.



Burimi: opennet.ru
