Prototipi i Phantom OS vendas i bazuar në Genode do të jetë gati deri në fund të vitit

Dmitry Zavalishin foli për një projekt për të transferuar një makinë virtuale të sistemit operativ Phantom për të punuar në mjedisin OS mikrokernel Genode. Intervista vëren se versioni kryesor i Phantom është tashmë gati për projekte pilot dhe versioni i bazuar në Genode do të jetë gati për përdorim në fund të vitit. Në të njëjtën kohë, në faqen e projektit është shpallur vetëm një prototip konceptual i zbatueshëm, stabiliteti dhe funksionaliteti i të cilit nuk janë sjellë në një nivel të përshtatshëm për përdorim industrial, dhe ndër planet imediate formimi i një versioni alfa të përshtatshëm për eksperimente. përmendet nga zhvilluesit e palëve të treta.

Kodi i projektit shpërndahet nën licencën LGPL, por ndryshimi i fundit në depon kryesore është datë nëntor 2019. Aktiviteti publik në lidhje me projektin është i përqendruar në një depo me një pirun për Genode, e cila mbahet që nga dhjetori 2020 nga Anton Antonov, student nga Universiteti Innopolis.

Që nga fillimi i viteve 2000, sistemi operativ Phantom është zhvilluar si një projekt personal i Dmitry Zavalishin, dhe që nga viti 2010 është transferuar nën krahun e kompanisë Digital Zone të krijuar nga Dmitry. Sistemi shquhet për fokusin e tij në besueshmërinë e lartë dhe përdorimin e konceptit "çdo gjë është një objekt" në vend të "gjithçka është një skedar", gjë që ju lejon të bëni pa përdorimin e skedarëve për shkak të ruajtjes së gjendjes së kujtesës dhe një cikël të vazhdueshëm pune. Aplikimet në Phantom nuk ndërpriten, por vetëm pezullohen dhe rifillojnë nga pika e ndërprerë. Të gjitha variablat dhe strukturat e të dhënave mund të ruhen për aq kohë sa ka nevojë aplikacioni, dhe programuesi nuk ka nevojë të shqetësohet në mënyrë specifike për ruajtjen e të dhënave.

Aplikacionet në Phantom përpilohen në bytecode, i cili funksionon në një makinë virtuale të bazuar në stek, e ngjashme me makinën virtuale Java. Makina virtuale siguron qëndrueshmëri të memories së aplikacionit - sistemi periodikisht rivendos fotografitë e gjendjes së makinës virtuale në media të përhershme. Pas një mbylljeje ose përplasjeje, puna mund të vazhdojë duke filluar nga fotografia e fundit e kujtesës së ruajtur. Fotot e çastit krijohen në modalitetin asinkron dhe pa ndërprerë funksionimin e makinës virtuale, por një pjesë e njëhershme regjistrohet në pamjen e çastit, sikur makina virtuale të ndalohej, të ruhej në disk dhe të rifillonte.

Të gjitha aplikacionet ekzekutohen në një hapësirë ​​të përbashkët adresash globale, e cila eliminon nevojën për ndërrime të kontekstit midis kernelit dhe aplikacioneve, dhe gjithashtu thjeshton dhe shpejton ndjeshëm ndërveprimin midis aplikacioneve që ekzekutohen në makinën virtuale, të cilat mund të shkëmbejnë objekte përmes kalimit të referencës. Ndarja e aksesit kryhet në nivelin e objekteve, referencat për të cilat mund të merren vetëm duke thirrur metodat e duhura (nuk ka aritmetikë treguese). Çdo e dhënë, duke përfshirë vlerat numerike, përpunohet si objekte të veçanta.

Për aplikacionin, puna duket të jetë e vazhdueshme dhe nuk varet nga rindezja e OS, përplasjet dhe mbylljet e kompjuterit. Modeli i programimit për Phantom krahasohet me ekzekutimin e një serveri aplikacioni të pandërprerë për një gjuhë programimi objektesh. Transferimi i programeve Java në Phantom konsiderohet si një nga metodat kryesore të zhvillimit të aplikacionit, i cili lehtësohet nga ngjashmëria e makinës virtuale Phantom me JVM. Përveç përpiluesit të bytekodit për gjuhën Java, projekti planifikon të krijojë përpilues për Python dhe C#, si dhe të implementojë një përkthyes nga kodi i ndërmjetëm WebAssembly.

Për të kryer operacione që kërkojnë performancë të lartë, të tilla si përpunimi video dhe audio, është e mundur të ekzekutohen objekte binare me kod vendas në fije të veçanta (LLVM përdoret për të mbledhur objekte binare). Për të hyrë në shërbimet e kernelit të nivelit të ulët, disa klasa VM (klasa "të brendshme") zbatohen në nivelin e kernelit OS. Për të ekzekutuar aplikacionet Linux, sigurohet një shtresë POSIX që imiton thirrjet e nevojshme për funksionimin e proceseve Unix (nuk ofrohet ende këmbëngulje për aplikacionet në shtresën POSIX).

Prototipi i Phantom OS vendas i bazuar në Genode do të jetë gati deri në fund të vitit

Phantom OS tradicional, përveç makinës virtuale, përfshin kernelin e vet me implementimin e threads, një menaxher memorie, një grumbullues mbeturinash, mekanizma sinkronizimi, një sistem hyrje/dalje dhe drejtues për të punuar me harduer, gjë që e ndërlikon ndjeshëm sjelljen e projektit. gatishmërisë për përdorim të gjerë. Më vete, janë duke u zhvilluar komponentë me një pirg rrjeti, një nënsistem grafik dhe një ndërfaqe përdoruesi. Vlen të përmendet se nënsistemi grafik dhe menaxheri i dritareve funksionojnë në nivelin e kernelit.

Për të rritur stabilitetin, transportueshmërinë dhe sigurinë e projektit, u bë një përpjekje për të transferuar makinën virtuale Phantom në punë duke përdorur përbërës të sistemit operativ të hapur të mikrokernelit Genode, zhvillimi i të cilit mbikëqyret nga kompania gjermane Genode Labs. Për ata që duan të eksperimentojnë me Phantom bazuar në Genode, është përgatitur një mjedis i veçantë ndërtimi i bazuar në Docker.

Përdorimi i Genode do të bëjë të mundur përdorimin e mikrokernelëve dhe drejtuesve tashmë të provuar, si dhe zhvendosjen e drejtuesve në hapësirën e përdoruesit (në formën e tyre aktuale, drejtuesit janë shkruar në C dhe ekzekutohen në nivelin e kernelit Phantom). Në veçanti, do të jetë e mundur të përdoret mikrokerneli seL4, i cili i është nënshtruar verifikimit matematikor të besueshmërisë, duke konfirmuar se zbatimi përputhet plotësisht me specifikimet e specifikuara në gjuhën zyrtare. Po shqyrtohet mundësia e përgatitjes së një prove të ngjashme të besueshmërisë për makinën virtuale Phantom, e cila do të lejojë verifikimin e të gjithë mjedisit OS.

Zona kryesore e aplikimit për portin me bazë Genode është zhvillimi i aplikacioneve për pajisje të ndryshme industriale dhe të integruara. Aktualisht, një grup ndryshimesh për makinën virtuale janë përgatitur tashmë dhe janë shtuar lidhjet që punojnë në krye të Genode për të siguruar qëndrueshmërinë e komponentëve të kernelit dhe ndërfaqeve kryesore të nivelit të ulët. Vihet re se makina virtuale Phantom mund të funksionojë tashmë në mjedisin Genode 64-bit, por është ende e nevojshme të zbatohet VM në modalitetin e qëndrueshmërisë, të ripunohet nënsistemi i drejtuesit dhe të përshtaten komponentët me një pirg rrjeti dhe një nënsistem grafik për Genode.

Prototipi i Phantom OS vendas i bazuar në Genode do të jetë gati deri në fund të vitit
Prototipi i Phantom OS vendas i bazuar në Genode do të jetë gati deri në fund të vitit
Prototipi i Phantom OS vendas i bazuar në Genode do të jetë gati deri në fund të vitit


Burimi: opennet.ru

Shto një koment