Afọwọkọ ti OS Phantom abele ti o da lori Genode yoo ṣetan ṣaaju opin ọdun

Dmitry Zavalishin sọrọ nipa iṣẹ akanṣe kan lati gbe ẹrọ foju kan ti ẹrọ iṣẹ Phantom lati ṣiṣẹ ni agbegbe Genode microkernel OS. Ifọrọwanilẹnuwo naa ṣe akiyesi pe ẹya akọkọ ti Phantom ti ṣetan fun awọn iṣẹ akanṣe awakọ, ati pe ẹya ti o da lori Genode yoo ṣetan fun lilo ni opin ọdun. Ni akoko kanna, nikan afọwọṣe imọran ti o ṣiṣẹ ni a ti kede lori oju opo wẹẹbu iṣẹ akanṣe, iduroṣinṣin ati iṣẹ ṣiṣe eyiti ko ti mu wa si ipele ti o dara fun lilo ile-iṣẹ, ati laarin awọn ero lẹsẹkẹsẹ dida ẹya alpha ti o dara fun awọn adanwo. nipasẹ ẹni-kẹta Difelopa ti mẹnuba.

Koodu ise agbese ti pin labẹ iwe-aṣẹ LGPL, ṣugbọn iyipada ti o kẹhin ninu ibi ipamọ akọkọ jẹ ọjọ Oṣu kọkanla ọdun 2019. Iṣẹ ṣiṣe ti gbogbo eniyan ti o ni ibatan si iṣẹ akanṣe naa ni ogidi ni ibi ipamọ kan pẹlu orita kan fun Genode, eyiti o ti ṣetọju lati Oṣu kejila ọdun 2020 nipasẹ Anton Antonov, ọmọ ile-iwe kan lati Ile-ẹkọ giga Innopolis.

Lati ibẹrẹ ọdun 2000, ẹrọ iṣẹ Phantom ti n dagbasoke bi iṣẹ akanṣe ti ara ẹni ti Dmitry Zavalishin, ati pe lati ọdun 2010 o ti gbe labẹ apakan ti ile-iṣẹ Digital Zone ti a ṣẹda nipasẹ Dmitry. Eto naa jẹ akiyesi fun idojukọ rẹ lori igbẹkẹle giga ati lilo ero ti “ohun gbogbo jẹ ohun” dipo “ohun gbogbo jẹ faili”, eyiti o fun ọ laaye lati ṣe laisi lilo awọn faili nitori titọju ipo iranti ati a lemọlemọfún ọmọ ti ise. Awọn ohun elo ni Phantom ko ti pari, ṣugbọn ti daduro nikan ati tun bẹrẹ lati aaye ti o da duro. Gbogbo awọn oniyipada ati awọn ẹya data le wa ni ipamọ fun igba ti ohun elo nilo, ati pe olupilẹṣẹ ko nilo lati ṣe aniyan ni pataki nipa fifipamọ data naa.

Awọn ohun elo ni Phantom ti wa ni akopọ sinu bytecode, eyiti o nṣiṣẹ ninu ẹrọ foju ti o da lori akopọ, ti o jọra si ẹrọ foju Java. Ẹrọ foju ṣe idaniloju itẹramọ ti iranti ohun elo - eto lorekore tun awọn aworan ifaworanhan ti ipo ẹrọ foju si media ayeraye. Lẹhin tiipa tabi jamba, iṣẹ le tẹsiwaju lati bẹrẹ lati aworan iranti ti o fipamọ kẹhin. Awọn fọto fọto ni a ṣẹda ni ipo asynchronous ati laisi idaduro iṣẹ ti ẹrọ foju, ṣugbọn bibẹ pẹlẹbẹ ẹyọkan ni a gbasilẹ ninu fọtoyiya, bi ẹnipe ẹrọ foju duro, fipamọ si disk ati bẹrẹ lẹẹkansi.

Gbogbo awọn ohun elo nṣiṣẹ ni aaye adirẹsi agbaye ti o wọpọ, eyiti o yọkuro iwulo fun awọn iyipada ipo laarin ekuro ati awọn ohun elo, ati tun ṣe irọrun pupọ ati yiyara ibaraenisepo laarin awọn ohun elo ti n ṣiṣẹ ni ẹrọ foju, eyiti o le ṣe paṣipaarọ awọn nkan nipasẹ gbigbe itọkasi. Iyapa wiwọle ni a ṣe ni ipele ti awọn nkan, awọn itọkasi eyiti o le gba nikan nipasẹ pipe awọn ọna ti o yẹ (ko si iṣiro itọka). Eyikeyi data, pẹlu awọn iye nomba, ni ilọsiwaju bi awọn nkan lọtọ.

Fun ohun elo naa, iṣẹ yoo han pe o tẹsiwaju ati pe ko dale lori awọn atunbere OS, awọn ipadanu, ati awọn titiipa kọnputa. Awoṣe siseto fun Phantom jẹ akawe si ṣiṣiṣẹ olupin ohun elo ti ko duro lailai fun ede siseto ohun. Gbigbe awọn eto Java si Phantom jẹ ọkan ninu awọn ọna akọkọ ti idagbasoke ohun elo, eyiti o jẹ irọrun nipasẹ ibajọra ti ẹrọ foju Phantom si JVM. Ni afikun si olupilẹṣẹ bytecode fun ede Java, iṣẹ akanṣe naa ngbero lati ṣẹda awọn olupilẹṣẹ fun Python ati C #, bakannaa ṣe imuse onitumọ lati koodu agbedemeji WebAssembly.

Lati ṣe awọn iṣẹ ṣiṣe ti o nilo iṣẹ ṣiṣe giga, bii fidio ati sisẹ ohun, o ṣee ṣe lati ṣiṣẹ awọn nkan alakomeji pẹlu koodu abinibi ni awọn okun lọtọ (LLVM ni a lo lati pejọ awọn nkan alakomeji). Lati wọle si awọn iṣẹ ekuro kekere, diẹ ninu awọn kilasi VM (awọn kilasi “inu”) ni imuse ni ipele ekuro OS. Lati ṣiṣẹ awọn ohun elo Lainos, Layer POSIX ti pese ti o ṣe apẹẹrẹ awọn ipe pataki fun sisẹ awọn ilana Unix (iduroṣinṣin fun awọn ohun elo ninu Layer POSIX ko ti pese).

Afọwọkọ ti OS Phantom abele ti o da lori Genode yoo ṣetan ṣaaju opin ọdun

Ibile Phantom OS, ni afikun si ẹrọ foju, pẹlu ekuro tirẹ pẹlu imuse ti awọn okun, oluṣakoso iranti, ikojọpọ idoti, awọn ọna imuṣiṣẹpọ, eto igbewọle / o wu ati awọn awakọ fun ṣiṣẹ pẹlu ohun elo, eyiti o ṣe idiwọ mu iṣẹ akanṣe naa ni pataki. lati imurasilẹ fun lilo ni ibigbogbo. Lọtọ, awọn paati pẹlu akopọ nẹtiwọọki kan, eto ipilẹ awọn aworan ati wiwo olumulo ni idagbasoke. O jẹ akiyesi pe awọn eto awọn eya aworan ati oluṣakoso window ṣiṣẹ ni ipele ekuro.

Lati mu iduroṣinṣin pọ si, gbigbe ati aabo ti iṣẹ akanṣe naa, a ṣe igbiyanju lati gbe ẹrọ foju Phantom lati ṣiṣẹ nipa lilo awọn paati ti ẹrọ ṣiṣe microkernel ṣiṣi Genode, idagbasoke eyiti o jẹ abojuto nipasẹ ile-iṣẹ German Genode Labs. Fun awọn ti o fẹ lati ṣe idanwo pẹlu Phantom ti o da lori Genode, agbegbe idasile Docker pataki kan ti pese sile.

Lilo Genode yoo jẹ ki o ṣee ṣe lati lo awọn microkernels ti a fihan tẹlẹ ati awọn awakọ, bakannaa gbe awọn awakọ sinu aaye olumulo (ni fọọmu lọwọlọwọ wọn, awọn awakọ ti kọ sinu C ati ṣiṣe ni ipele ekuro Phantom). Ni pataki, yoo ṣee ṣe lati lo seL4 microkernel, eyiti o ti ṣe ijẹrisi igbẹkẹle mathematiki, ti o jẹrisi pe imuse ni kikun ni ibamu pẹlu awọn pato pato ninu ede ti iṣe. O ṣeeṣe ti ngbaradi iru ẹri ti igbẹkẹle fun ẹrọ foju Phantom ni a gbero, eyiti yoo gba ijẹrisi gbogbo agbegbe OS.

Agbegbe ohun elo akọkọ fun ibudo orisun Genode jẹ idagbasoke awọn ohun elo fun ọpọlọpọ ile-iṣẹ ati awọn ẹrọ ifibọ. Lọwọlọwọ, ṣeto awọn ayipada fun ẹrọ foju ti pese tẹlẹ ati pe a ti ṣafikun awọn abuda ti o ṣiṣẹ lori oke Genode fun idaniloju itẹramọṣẹ ti awọn paati kernel ati awọn atọkun ipele kekere akọkọ. O ṣe akiyesi pe ẹrọ foju Phantom le ti ṣiṣẹ tẹlẹ ni agbegbe 64-bit Genode, ṣugbọn o tun jẹ dandan lati ṣe VM ni ipo itẹramọṣẹ, tun ṣiṣẹ subsystem awakọ ati mu awọn paati pọ si pẹlu akopọ nẹtiwọọki kan ati eto ipilẹ awọn aworan fun Genode.

Afọwọkọ ti OS Phantom abele ti o da lori Genode yoo ṣetan ṣaaju opin ọdun
Afọwọkọ ti OS Phantom abele ti o da lori Genode yoo ṣetan ṣaaju opin ọdun
Afọwọkọ ti OS Phantom abele ti o da lori Genode yoo ṣetan ṣaaju opin ọdun


orisun: opennet.ru

Fi ọrọìwòye kun