Genode-n oinarritutako etxeko OS Phantom-aren prototipoa prest egongo da urtea amaitu baino lehen

Dmitry Zavalishin Phantom sistema eragilearen makina birtual bat Genode microkernel OS ingurunean lan egiteko proiektu bati buruz hitz egin zuen. Elkarrizketan dio Phantom-en bertsio nagusia dagoeneko proiektu pilotuetarako prest dagoela, eta Genode-n oinarritutako bertsioa urte amaieran erabiltzeko prest egongo dela. Aldi berean, proiektuaren webgunean egin daitekeen prototipo kontzeptual bat baino ez da iragarri, zeinaren egonkortasuna eta funtzionaltasuna erabilera industrialerako egokia den maila batera eraman gabe, eta berehalako planen artean esperimentuetarako egokia den alfa bertsioa sortzea. hirugarrenen garatzaileenak aipatzen dira.

Proiektuaren kodea LGPL lizentziapean banatzen da, baina biltegi nagusiko azken aldaketa 2019ko azarokoa izan zen. Proiektuarekin lotutako jarduera publikoa Genoderako sardexka duen biltegi batean kontzentratzen da, 2020ko abenduaz geroztik Anton Antonov Innopolis Unibertsitateko ikasleak mantentzen duena.

2000ko hamarkadaren hasieratik, Phantom sistema eragilea Dmitry Zavalishinen proiektu pertsonal gisa garatzen ari da, eta 2010etik Dmitryk sortutako Digital Zone konpainiaren hegalpean transferitu da. Sistema fidagarritasun handiko arretagatik nabarmentzen da eta "dena objektu bat da" kontzeptua erabiltzeagatik "dena fitxategi bat da" ordez, fitxategiak erabili gabe egin ahal izateko aukera ematen du memoria-egoeraren kontserbazioa dela eta. lan-ziklo jarraitua. Phantom-en aplikazioak ez dira amaitzen, baizik eta eten eta eteten den puntutik berrekingo dira. Aldagai eta datu-egitura guztiak aplikazioak behar duen bitartean gorde daitezke, eta programatzaileak ez du datuak gordetzeaz bereziki kezkatu behar.

Phantom-en aplikazioak bytecode batean konpilatzen dira, pila batean oinarritutako makina birtual batean exekutatzen dena, Java makina birtualen antzera. Makina birtualak aplikazioaren memoriaren iraunkortasuna bermatzen du - sistemak aldian-aldian makina birtualaren egoeraren argazkiak berrezartzen ditu euskarri iraunkorrera. Itzali edo hutsegite baten ondoren, lanean jarrai daiteke gordetako azken memoriaren argazkitik hasita. Argazkiak modu asinkronoan eta makina birtualaren funtzionamendua eten gabe sortzen dira, baina argazkian behin-behineko zati bat grabatzen da, makina birtuala gelditu, diskoan gorde eta berriro abiaraziko balitz bezala.

Aplikazio guztiak helbide-espazio global komun batean exekutatzen dira, eta horrek nukleoaren eta aplikazioen arteko testuinguru-aldaketaren beharra ezabatzen du, eta, gainera, nabarmen sinplifikatu eta bizkortzen du makina birtualean exekutatzen diren aplikazioen arteko elkarrekintza, zeinak objektuak trukatu ditzakete erreferentzia-pasaketaren bidez. Sarbideen bereizketa objektuen mailan egiten da, eta horien erreferentziak metodo egokiak deituz soilik lor daitezke (ez dago erakusleen aritmetikarik). Edozein datu, zenbakizko balioak barne, objektu bereizi gisa prozesatzen dira.

Aplikaziorako, lana etengabea dela dirudi eta ez dago sistema eragilearen berrabiarazteko, hutsegiteen eta ordenagailuaren itzaltzeen menpe. Phantom-en programazio-eredua objektuen programazio-lengoaia baterako aplikazio-zerbitzari bat exekutatzen ari denarekin alderatzen da. Java programak Phantom-era eramatea aplikazioak garatzeko metodo nagusietako bat da, Phantom makina birtualak JVMrekin duen antzekotasunak errazten duelako. Java lengoairako bytecode konpilatzaileaz gain, proiektuak Python eta C# konpiladoreak sortzea aurreikusten du, baita WebAssembly bitarteko kodearen itzultzaile bat ezartzea ere.

Errendimendu handia eskatzen duten eragiketak egiteko, hala nola, bideoa eta audioa prozesatzea, posible da jatorrizko kodedun objektu bitarrak hari bereizietan exekutatu (LLVM objektu bitarrak muntatzeko erabiltzen da). Maila baxuko kernel zerbitzuetara sartzeko, VM klase batzuk (Β«barnekoΒ» klaseak) OS kernel mailan ezartzen dira. Linux aplikazioak exekutatzeko, POSIX geruza bat eskaintzen da, Unix prozesuen funtzionamendurako beharrezkoak diren deiak emulatzen dituena (oraindik ez da ematen POSIX geruzako aplikazioen iraunkortasuna).

Genode-n oinarritutako etxeko OS Phantom-aren prototipoa prest egongo da urtea amaitu baino lehen

Phantom OS tradizionalak, makina birtualaz gain, bere nukleoa barne hartzen ditu harien ezarpenarekin, memoria kudeatzailea, zabor biltzailea, sinkronizazio mekanismoak, sarrera/irteera sistema eta hardwarearekin lan egiteko kontrolatzaileak, eta horrek nabarmen zailtzen du proiektua ekartzea. erabilera zabalerako prest egotea. Bereiz, sare-pila bat, azpisistema grafikoa eta erabiltzaile-interfazea dituzten osagaiak garatzen ari dira. Azpimarratzekoa da azpisistema grafikoak eta leiho-kudeatzaileak nukleo mailan funtzionatzen dutela.

Proiektuaren egonkortasuna, eramangarritasuna eta segurtasuna areagotzeko, Phantom makina birtuala Genode sistema eragilearen mikrokernel irekiko osagaiak erabiliz lan egiteko ahalegina egin zen, zeinaren garapena Alemaniako Genode Labs konpainiak gainbegiratzen duen. Genode-n oinarritutako Phantom-ekin esperimentatu nahi dutenentzat, Docker-en oinarritutako eraikuntza-ingurune berezi bat prestatu da.

Genode erabiltzeak dagoeneko frogatutako mikrokernelak eta kontrolatzaileak erabiltzea ahalbidetuko du, baita kontrolatzaileak erabiltzaileen espaziora eraman (uneko forman, kontrolatzaileak C-n idatzita daude eta Phantom kernel mailan exekutatzen dira). Bereziki, fidagarritasun matematikoaren egiaztapena egin duen seL4 mikrokernel-a erabili ahal izango da, ezarpenak hizkuntza formalean zehaztutako zehaztapenak guztiz betetzen dituela baieztatuz. Phantom makina birtualerako fidagarritasunaren antzeko froga bat prestatzeko aukera aztertzen ari da, sistema eragilearen ingurune osoa egiaztatzea ahalbidetuko duena.

Genodean oinarritutako portuaren aplikazio-eremu nagusia hainbat gailu industrial eta txertatuetarako aplikazioen garapena da. Gaur egun, makina birtualerako aldaketa multzo bat prestatu da dagoeneko eta Genode-ren gainean funtzionatzen duten loturak gehitu dira, nukleoko osagaien eta behe-mailako interfaze nagusien iraunkortasuna bermatzeko. Kontuan izan da Phantom makina birtualak 64 biteko Genode ingurunean lan egin dezakeela dagoeneko, baina oraindik beharrezkoa da VM-a iraunkortasun moduan inplementatzea, kontrolatzailearen azpisistema birlantzea eta osagaiak sare-pila batekin eta Genoderako grafiko-azpisistema batekin egokitzea.

Genode-n oinarritutako etxeko OS Phantom-aren prototipoa prest egongo da urtea amaitu baino lehen
Genode-n oinarritutako etxeko OS Phantom-aren prototipoa prest egongo da urtea amaitu baino lehen
Genode-n oinarritutako etxeko OS Phantom-aren prototipoa prest egongo da urtea amaitu baino lehen


Iturria: opennet.ru

Gehitu iruzkin berria