Pwototip domestik OS Phantom ki baze sou Genode pral pare anvan fen ane a

Dmitry Zavalishin te pale sou yon pwojè pou pò yon machin vityèl nan sistèm operasyon Phantom pou travay nan anviwònman OS microkernel Genode. Entèvyou a fè remake ke vèsyon prensipal la nan Phantom deja pare pou pwojè pilòt, ak vèsyon an ki baze sou Genode yo pral pare pou itilize nan fen ane a. An menm tan an, se sèlman yon pwototip konseptyèl eksklizif te anonse sou sit entènèt pwojè a, estabilite ak fonksyonalite yo pa te pote nan yon nivo apwopriye pou itilizasyon endistriyèl, ak nan mitan plan imedya fòmasyon yon vèsyon alfa apwopriye pou eksperyans. pa devlopè twazyèm pati yo mansyone.

Kòd pwojè a distribye anba lisans LGPL, men dènye chanjman nan depo prensipal la te dat Novanm 2019. Aktivite piblik ki gen rapò ak pwojè a konsantre nan yon depo ak yon fouchèt pou Genode, ki te konsève depi Desanm 2020 pa Anton Antonov, yon etidyan nan Innopolis University.

Depi kòmansman ane 2000 yo, sistèm operasyon Phantom te devlope kòm yon pwojè pèsonèl Dmitry Zavalishin, e depi 2010 li te transfere anba zèl konpayi Zòn Dijital la ki te kreye pa Dmitry. Sistèm nan remakab pou konsantre li sou segondè fyab ak itilizasyon konsèp nan "tout bagay se yon objè" olye pou yo "tout bagay se yon dosye", ki pèmèt ou fè san yo pa itilize nan dosye akòz prezèvasyon eta memwa ak yon sik kontinyèl nan travay. Aplikasyon nan Phantom yo pa sispann, men yo sèlman sispann epi rekòmanse soti nan pwen entèwonp la. Tout varyab ak estrikti done yo ka estoke pou osi lontan ke aplikasyon an bezwen, epi pwogramè a pa bezwen espesyalman enkyete sou ekonomize done yo.

Aplikasyon nan Phantom yo konpile nan bytecode, ki kouri nan yon machin vityèl ki baze sou pile, menm jan ak machin vityèl Java a. Machin vityèl la asire pèsistans memwa aplikasyon an - sistèm nan detanzantan retabli snapshots nan eta a nan machin vityèl la nan medya pèmanan. Apre yon are oswa aksidan, travay ka kontinye kòmanse nan dènye snapshot memwa ki te sove a. Snapshots yo kreye nan mòd asynchrone ak san yo pa pran poz operasyon an nan machin nan vityèl, men yon tranch yon sèl-fwa anrejistre nan snapshot la, kòm si machin nan vityèl te sispann, sove sou disk epi li te kòmanse ankò.

Tout aplikasyon yo kouri nan yon espas adrès mondyal komen, ki elimine nesesite pou chanjman kontèks ant nwayo a ak aplikasyon yo, epi tou siyifikativman senplifye ak akselere entèraksyon ki genyen ant aplikasyon ki kouri nan machin vityèl la, ki ka echanj objè atravè pas referans. Se separasyon aksè te pote soti nan nivo a nan objè, referans yo ka sèlman jwenn nan rele metòd ki apwopriye yo (pa gen okenn aritmetik konsèy). Nenpòt done, ki gen ladan valè nimerik, trete kòm objè separe.

Pou aplikasyon an, travay parèt kontinyèl epi li pa depann de redemaraj OS, aksidan, ak fèmen òdinatè. Yo konpare modèl pwogramasyon Phantom ak kouri yon sèvè aplikasyon ki pa janm sispann pou yon langaj pwogramasyon objè. Pòt pwogram Java yo nan Phantom konsidere kòm youn nan metòd prensipal yo nan devlopman aplikasyon, ki se fasilite pa resanblans nan machin nan Phantom vityèl ak JVM la. Anplis de konpilatè bytecode pou lang Java a, pwojè a planifye pou kreye konpilateur pou Python ak C#, epi tou pou aplike yon tradiktè nan kòd entèmedyè WebAssembly.

Pou fè operasyon ki mande pèfòmans segondè, tankou pwosesis videyo ak odyo, li posib pou kouri objè binè ak kòd natif natal nan fil separe (LLVM yo itilize pou rasanble objè binè). Pou jwenn aksè nan sèvis nwayo ki ba yo, gen kèk klas VM (klas "entèn") aplike nan nivo nwayo OS. Pou kouri aplikasyon Linux, yo bay yon kouch POSIX ki imite apèl ki nesesè pou operasyon pwosesis Unix (pèsistans pou aplikasyon yo nan kouch POSIX la poko bay).

Pwototip domestik OS Phantom ki baze sou Genode pral pare anvan fen ane a

Tradisyonèl Phantom OS, anplis machin vityèl la, gen ladann pwòp nwayo li yo ak aplikasyon fil, yon manadjè memwa, yon pèseptè fatra, mekanis senkronizasyon, yon sistèm antre / pwodiksyon ak chofè pou travay ak pyès ki nan konpitè, ki konplike siyifikativman pote pwojè a. nan preparasyon pou itilizasyon toupatou. Separeman, eleman ki gen yon pile rezo, yon sous-sistèm grafik ak yon koòdone itilizatè yo ap devlope. Li enpòtan pou remake ke sous-sistèm grafik la ak manadjè fenèt yo opere nan nivo nwayo a.

Pou ogmante estabilite, portabilite ak sekirite nan pwojè a, yo te fè tantativ pou pò machin vityèl Phantom nan travay lè l sèvi avèk konpozan nan sistèm operasyon mikrokernel louvri Genode, devlopman nan ki se sipèvize pa konpayi Alman Genode Labs la. Pou moun ki vle fè eksperyans ak Phantom ki baze sou Genode, yo te prepare yon anviwònman bati espesyal ki baze sou Docker.

Sèvi ak Genode pral fè li posib pou sèvi ak mikrokernel ak chofè ki deja pwouve, osi byen ke deplase chofè yo nan espas itilizatè (nan fòm aktyèl yo, chofè yo ekri an C epi egzekite nan nivo nwayo Phantom). An patikilye, li pral posib yo sèvi ak seL4 mikrokernel la, ki te sibi verifikasyon fyab matematik, ki konfime ke aplikasyon an konplètman konfòme yo ak espesifikasyon yo espesifye nan langaj fòmèl la. Yo konsidere posiblite pou prepare yon prèv ki sanble sou fyab pou machin vityèl Phantom, ki pral pèmèt verifikasyon tout anviwònman OS.

Zòn aplikasyon prensipal pou pò ki baze sou Genode la se devlopman aplikasyon pou divès kalite aparèy endistriyèl ak entegre. Kounye a, gen yon seri chanjman pou machin vityèl la deja prepare epi yo te ajoute atachman ki travay sou Genode pou asire pèsistans yap ogmante jiska konpozan nwayo ak entèfas prensipal ki ba yo. Li te note ke Phantom machin vityèl la ka deja travay nan anviwònman Genode 64-bit, men li toujou nesesè pou aplike VM a nan mòd pèsistans yap ogmante jiska, retravay sous-sistèm chofè a ak adapte konpozan ak yon pile rezo ak yon sous-sistèm grafik pou Genode.

Pwototip domestik OS Phantom ki baze sou Genode pral pare anvan fen ane a
Pwototip domestik OS Phantom ki baze sou Genode pral pare anvan fen ane a
Pwototip domestik OS Phantom ki baze sou Genode pral pare anvan fen ane a


Sous: opennet.ru

Add nouvo kòmantè