It prototype fan it ynlânske OS Phantom basearre op Genode sil foar it ein fan it jier klear wêze

Dmitry Zavalishin spruts oer it projekt fan it portearjen fan de firtuele masine fan it Phantom-bestjoeringssysteem om te wurkjen yn 'e Genode-mikrokernel OS-omjouwing. It ynterview merkt op dat de haadferzje fan Phantom al klear is foar pilotprojekten, en de ferzje basearre op Genode sil oan 'e ein fan it jier klear wêze foar gebrûk. Tagelyk is oant no ta allinich in wurkber konseptueel prototype oankundige op 'e projektwebside, wêrfan de stabiliteit en funksjonaliteit net op in nivo brocht binne dat geskikt is foar yndustrieel gebrûk, en ûnder de neiste plannen is de formaasje fan in alfaferzje geskikt foar eksperiminten troch ûntwikkelders fan tredden.

De projektkoade wurdt ferspraat ûnder de LGPL-lisinsje, mar de lêste feroaring yn 'e haadrepository is datearre novimber 2019. De iepenbiere aktiviteit yn ferbân mei it projekt is konsintrearre yn 'e repository mei in foarke foar Genode, dy't sûnt desimber 2020 wurdt ûnderhâlden troch Anton Antonov, in studint fan' e Innopolis University.

Sûnt de iere 2000's is it Phantom-bestjoeringssysteem ûntwikkele as in persoanlik projekt fan Dmitry Zavalishin, en sûnt 2010 is it oerdroegen ûnder de wjuk fan it bedriuw Digital Zone makke troch Dmitry. It systeem is opmerklik foar syn fokus op hege betrouberens en it brûken fan it konsept fan "alles is in objekt" ynstee fan "alles is in bestân", wat it gebrûk fan bestannen elimineert fanwegen it behâld fan ûnthâldstatus en in trochgeande syklus fan wurk. Applikaasjes yn 'e Phantom wurde net beëinige, mar allinich pauze en hervat fanôf wêr't se ophâlde. Alle fariabelen en gegevensstruktueren kinne wurde opslein sa lang as de applikaasje nedich is, en de programmeur hoecht gjin spesjale soarch te nimmen om de gegevens te bewarjen.

Applikaasjes yn Phantom wurde kompilearre yn bytecode, dy't rint yn in stapel-basearre firtuele masine, fergelykber mei de Java firtuele masine. De firtuele masine soarget foar persistinsje fan applikaasjeûnthâld - it systeem spoelt periodyk snapshots fan 'e tastân fan' e firtuele masine nei persistente media. Nei ôfsluting of crash, kin it wurk fuortset wurde fanôf de lêste bewarre momintopname fan ûnthâld. Snapshots wurde asynchronous oanmakke en sûnder de firtuele masine te stopjen, mar in momintopname vangt in ienmalige slice, as soe de firtuele masine stoppe, opslein op skiif en opnij begon.

Alle applikaasjes rinne yn in mienskiplike globale adresromte, dy't elimineert de needsaak foar kontekst skeakelt tusken de kearn en applikaasjes, en gâns simplifies en fersnelt kommunikaasje tusken applikaasjes dy't rinne yn in firtuele masine dy't kin útwikselje foarwerpen troch referinsje trochjaan. Skieding fan tagong wurdt útfierd op it nivo fan objekten, ferwizings nei dat kin allinnich wurde krigen troch te roppen de oerienkommende metoaden (d'r is gjin pointer arithmetic). Alle gegevens, ynklusyf numerike wearden, wurde behannele as aparte objekten.

Foar de applikaasje sjocht it wurk kontinu en is net ôfhinklik fan OS-herstarten, crashes en ôfsluten fan kompjûters. It programmearmodel foar Phantom wurdt fergelike mei it útfieren fan in nea-stoppende applikaasjetsjinner foar in objektprogrammearringstaal. It portearjen fan Java-programma's foar Phantom wurdt beskôge as ien fan 'e wichtichste manieren om applikaasjes te ûntwikkeljen, wat wurdt fasilitearre troch de oerienkomst fan' e Phantom firtuele masine mei de JVM. Neist de bytecode-kompiler foar de Java-taal is it projekt fan plan om kompilatoren te meitsjen foar Python en C#, lykas ek de ymplemintaasje fan in oersetter fan 'e WebAssembly-tuskenkoade.

Om operaasjes út te fieren dy't hege prestaasjes nedich binne, lykas fideo- en audioferwurking, is it mooglik om binêre objekten út te fieren mei native koade yn aparte triedden (LLVM wurdt brûkt om binêre objekten te bouwen). Om tagong te krijen ta kerneltsjinsten op leech nivo, wurde guon VM-klassen ("ynterne" klassen) ymplementearre op it OS-kernelnivo. Om Linux-applikaasjes út te fieren, wurdt in POSIX-laach levere dy't de oproppen emulearret dy't nedich binne foar de wurking fan Unix-prosessen (persistinsje foar applikaasjes yn 'e POSIX-laach is noch net levere).

It prototype fan it ynlânske OS Phantom basearre op Genode sil foar it ein fan it jier klear wêze

It tradisjonele Phantom OS, njonken de firtuele masine, omfettet in eigen kernel mei de ymplemintaasje fan threads, in ûnthâldbehearder, in garbage collector, syngronisaasjemeganismen, in I / O-systeem, en bestjoerders foar wurkjen mei apparatuer, wat it bringen signifikant komplisearret it projekt ta reewilligens foar wiidferspraat gebrûk. Apart wurde komponinten mei in netwurkstapel, in grafysk subsysteem en in brûkersynterface ûntwikkele. It is opmerklik dat it grafyske subsysteem en de finsterbehearder wurkje op it kernelnivo.

Om de stabiliteit, portabiliteit en feiligens fan it projekt te ferbetterjen, waard besocht de Phantom firtuele masine oer te bringen om te wurkjen mei de komponinten fan it iepen mikrokernel-bestjoeringssysteem Genode, wêrfan de ûntwikkeling wurdt begelaat troch it Dútske bedriuw Genode Labs. Foar dyjingen dy't wolle eksperimintearje mei Phantom basearre op Genode, is in spesjale bouwomjouwing basearre op Docker taret.

It brûken fan Genode sil it mooglik meitsje om al hifke mikrokernels en sjauffeurs te brûken, en ek om sjauffeurs yn brûkersromte te bringen (yn har hjoeddeistige foarm binne de bestjoerders skreaun yn C en rinne op it Phantom-kernelnivo). Benammen sil it mooglik wêze om de seL4-mikrokernel te brûken, dy't wiskundige ferifikaasje fan betrouberens hat trochjûn, befêstiget dat de ymplemintaasje folslein foldocht oan 'e spesifikaasjes spesifisearre yn' e formele taal. De mooglikheid fan it tarieden fan in ferlykber bewiis fan betrouberens foar de Phantom firtuele masine wurdt beskôge, wêrtroch ferifikaasje fan 'e heule OS-omjouwing mooglik makket.

It wichtichste tapassingsgebiet fan 'e Genode-basearre haven is de ûntwikkeling fan applikaasjes foar ferskate yndustriële en ynbêde apparaten. Op it stuit is in set feroarings foar de firtuele masine al taret en bindingen dy't boppe op Genode rinne binne tafoege foar de persistinsjekomponinten fan 'e kernel en de wichtichste ynterfaces op leech nivo. It wurdt opmurken dat de Phantom firtuele masine al kin wurkje yn in 64-bit Genode omjouwing, mar de VM moat noch wurde ymplementearre yn persistinsje modus, it bestjoerder subsysteem moat wurde werwurke, en komponinten mei in netwurk stack en in grafysk subsysteem hawwe wurde oanpast foar Genode.

It prototype fan it ynlânske OS Phantom basearre op Genode sil foar it ein fan it jier klear wêze
It prototype fan it ynlânske OS Phantom basearre op Genode sil foar it ein fan it jier klear wêze
It prototype fan it ynlânske OS Phantom basearre op Genode sil foar it ein fan it jier klear wêze


Boarne: opennet.ru

Add a comment