Die prototipe van die binnelandse OS Phantom gebaseer op Genode sal voor die einde van die jaar gereed wees

Dmitry Zavalishin het gepraat oor 'n projek om 'n virtuele masjien van die Phantom-bedryfstelsel oor te dra om in die Genode-mikrokern OS-omgewing te werk. Die onderhoud wys daarop dat die hoofweergawe van Phantom reeds gereed is vir loodsprojekte, en die Genode-gebaseerde weergawe sal gereed wees vir gebruik aan die einde van die jaar. Terselfdertyd is slegs 'n werkbare konseptuele prototipe op die projekwebwerf aangekondig, waarvan die stabiliteit en funksionaliteit nie op 'n vlak gebring is wat geskik is vir industriële gebruik nie, en onder die onmiddellike planne die vorming van 'n alfa-weergawe wat geskik is vir eksperimente deur derdeparty-ontwikkelaars genoem word.

Die projekkode word onder die LGPL-lisensie versprei, maar die laaste verandering in die hoofbewaarplek is gedateer November 2019. Openbare aktiwiteite wat met die projek verband hou, is gekonsentreer in 'n bewaarplek met 'n vurk vir Genode, wat sedert Desember 2020 onderhou word deur Anton Antonov, 'n student van die Innopolis Universiteit.

Sedert die vroeë 2000's het die Phantom-bedryfstelsel ontwikkel as 'n persoonlike projek van Dmitry Zavalishin, en sedert 2010 is dit oorgedra onder die vlerk van die Digital Zone-maatskappy wat deur Dmitry geskep is. Die stelsel is opvallend vir sy fokus op hoë betroubaarheid en die gebruik van die konsep van "alles is 'n voorwerp" in plaas van "alles is 'n lêer", wat jou toelaat om sonder die gebruik van lêers klaar te kom as gevolg van die behoud van geheue toestand en 'n aaneenlopende siklus van werk. Aansoeke in Phantom word nie beëindig nie, maar word slegs opgeskort en hervat vanaf die onderbreekte punt. Alle veranderlikes en datastrukture kan gestoor word vir so lank as wat die toepassing benodig, en die programmeerder hoef nie spesifiek bekommerd te wees oor die stoor van die data nie.

Toepassings in Phantom word saamgestel in greepkode, wat in 'n stapelgebaseerde virtuele masjien loop, soortgelyk aan die Java virtuele masjien. Die virtuele masjien verseker volharding van toepassingsgeheue - die stelsel stel momentopnames van die toestand van die virtuele masjien terug na permanente media. Na 'n afskakeling of ongeluk, kan werk voortgaan vanaf die laaste gestoorde geheue momentopname. Snapshots word in asynchrone modus geskep en sonder om die werking van die virtuele masjien te onderbreek, maar 'n eenmalige sny word in die kiekie aangeteken, asof die virtuele masjien gestop, op skyf gestoor en weer begin is.

Alle toepassings loop in 'n gemeenskaplike globale adresruimte, wat die behoefte aan konteksskakelaars tussen die kern en toepassings uitskakel, en ook aansienlik vereenvoudig en bespoedig die interaksie tussen toepassings wat in die virtuele masjien loop, wat voorwerpe kan uitruil deur verwysing deur te gee. Toegangskeiding word uitgevoer op die vlak van voorwerpe, waarna verwysings slegs verkry kan word deur die toepaslike metodes aan te roep (daar is geen wyserrekenkunde nie). Enige data, insluitend numeriese waardes, word as aparte voorwerpe verwerk.

Vir die toepassing lyk dit of werk deurlopend is en nie afhanklik is van OS-herlaai, ineenstortings en rekenaarafskakelings nie. Die programmeringsmodel vir Phantom word vergelyk met die bestuur van 'n nimmereindigende toepassingsbediener vir 'n objekprogrammeertaal. Die oordrag van Java-programme na Phantom word beskou as een van die hoofmetodes van toepassingsontwikkeling, wat vergemaklik word deur die ooreenkoms van die Phantom virtuele masjien met die JVM. Benewens die bytecode-samesteller vir die Java-taal, beplan die projek om samestellers vir Python en C# te skep, asook om 'n vertaler vanaf die WebAssembly-tussenkode te implementeer.

Om bewerkings uit te voer wat hoë werkverrigting vereis, soos video- en klankverwerking, is dit moontlik om binêre voorwerpe met inheemse kode in aparte drade te laat loop (LLVM word gebruik om binêre voorwerpe saam te stel). Om toegang tot laevlak-kerndienste te verkry, word sommige VM-klasse (“interne” klasse) op die OS-kernvlak geïmplementeer. Om Linux-toepassings te laat loop, word 'n POSIX-laag voorsien wat oproepe naboots wat nodig is vir die werking van Unix-prosesse (volharding vir toepassings in die POSIX-laag word nog nie verskaf nie).

Die prototipe van die binnelandse OS Phantom gebaseer op Genode sal voor die einde van die jaar gereed wees

Tradisionele Phantom-bedryfstelsel, benewens die virtuele masjien, bevat sy eie kern met die implementering van drade, 'n geheuebestuurder, 'n vullisverwyderaar, sinchronisasiemeganismes, 'n invoer-/afvoerstelsel en drywers om met hardeware te werk, wat die bring van die projek aansienlik bemoeilik tot gereedheid vir wydverspreide gebruik. Afsonderlik word komponente met 'n netwerkstapel, 'n grafiese substelsel en 'n gebruikerskoppelvlak ontwikkel. Dit is opmerklik dat die grafiese substelsel en vensterbestuurder op kernvlak werk.

Om die stabiliteit, oordraagbaarheid en sekuriteit van die projek te verhoog, is 'n poging aangewend om die Phantom virtuele masjien te oordra om te werk met behulp van komponente van die oop mikrokern-bedryfstelsel Genode, waarvan die ontwikkeling onder toesig van die Duitse maatskappy Genode Labs is. Vir diegene wat wil eksperimenteer met Phantom gebaseer op Genode, is 'n spesiale Docker-gebaseerde bou-omgewing voorberei.

Die gebruik van Genode sal dit moontlik maak om reeds bewese mikropitte en drywers te gebruik, asook om die drywers na gebruikersruimte te skuif (in hul huidige vorm word die drywers in C geskryf en op die Phantom-kernvlak uitgevoer). Dit sal veral moontlik wees om die seL4-mikrokern te gebruik, wat wiskundige betroubaarheidverifikasie ondergaan het, wat bevestig dat die implementering ten volle voldoen aan die spesifikasies wat in die formele taal gespesifiseer word. Die moontlikheid om 'n soortgelyke bewys van betroubaarheid vir die Phantom virtuele masjien voor te berei, word oorweeg, wat die verifikasie van die hele OS-omgewing moontlik sal maak.

Die hooftoepassingsgebied vir die Genode-gebaseerde hawe is die ontwikkeling van toepassings vir verskeie industriële en ingebedde toestelle. Tans is 'n stel veranderinge vir die virtuele masjien reeds voorberei en bindings is bygevoeg wat bo-op Genode werk om die volharding van kernkomponente en die belangrikste laevlak-koppelvlakke te verseker. Daar word kennis geneem dat die Phantom virtuele masjien reeds in die 64-bis Genode-omgewing kan werk, maar dit is steeds nodig om die VM in volhardingsmodus te implementeer, die bestuurdersubstelsel te herwerk en komponente met 'n netwerkstapel en 'n grafiese substelsel vir Genode aan te pas.

Die prototipe van die binnelandse OS Phantom gebaseer op Genode sal voor die einde van die jaar gereed wees
Die prototipe van die binnelandse OS Phantom gebaseer op Genode sal voor die einde van die jaar gereed wees
Die prototipe van die binnelandse OS Phantom gebaseer op Genode sal voor die einde van die jaar gereed wees


Bron: opennet.ru

Voeg 'n opmerking