Phantomi kodumaise opsüsteemi prototüüp Genode'i baasil valmib aasta lõpuks.

Dmitri Zavalisin rääkis Phantomi operatsioonisüsteemi virtuaalmasina portimise projektist Genode mikrokernel-põhises keskkonnas. Intervjuus rõhutatakse, et Phantomi põhiversioon on juba pilootprojektideks valmis, ning Genode'i versiooni viimistletakse rakendamiseks aasta lõpuks. Praegu on projekti veebisaidil saadaval vaid töötav kontseptuaalne prototüüp, mille stabiilsus ja funktsionaalsus ei vasta tööstuslikule tasemele, ning lähiaja plaanides mainitakse alfa-versiooni loomist, mis sobib katsetamiseks kolmandate osapoolte arendajatega.

Projekti kood levitatakse LGPL-litsentsi alusel, kuid peamine hoidla viimane uuendus on dateeritud 2019. aasta novembriga. Projektiga seotud avalik aktiivsus on koondunud Genode'i forki hoidlasse, mida alates 2020. aasta detsembrist toetab Innopolis ülikooli üliõpilane Anton Antonov.

Phantomi operatsioonisüsteem on alates 2000. aastate algusest arenenud Dmitri Zavalshini isikliku projektina ning 2010. aastast on see kuulunud Digital Zone'i, mille asutas Dmitri. Süsteem paistab silma kõrge usaldusväärsuse ja objekti keskse lähenemise poolest, mis asendab failide tähelepanu mudeli, võimaldades salvestada mälu seisundit ja jätkata pidevat töötsüklit ilma failide kasutamiseta. Phantomi rakendused ei lõppe, vaid on vaid peatatud ja jätkavad oma tööd katkestatud punktist. Kõiki muutujaid ja andmestruktuure saab säilitada nii kaua, kui rakendus vajab, ilma et programmeerijal oleks vaja andmete salvestamise pärast eriliselt muretseda.

Phantomis rakendused kompileeritakse byte-koodiks, mida käitatakse virna virtuaalses masinas, mis sarnaneb Java virtuaalsele masinale. Virtuaalne masin tagab rakenduste mälupüsivuse — süsteem salvestab regulaarselt virtuaalse masina olekute snapshot'e püsivale meediale. Pärast väljalülitamist või äkilist lõpetamist saab töö jätkuda viimasest salvestatud mälu snapshot'ist. Snapshot'id luuakse asünkroonselt ja ilma virtuaalse masina tööpeatamiseta, kuid snapshot'is fikseeritakse üheaegne lõige, nagu oleks virtuaalne masin peatatud, salvestatud kettale ja uuesti käivitunud.

Kõik rakendused töötavad üldises globaalses aadressiruumis, mis vähendab vajadust konteksti vahetamiseks südamiku ja rakenduste vahel ning oluliselt lihtsustab ja kiirendab suhtlust virtuaalmasinas töötavate rakenduste vahel, mis saavad omavahel objekte vahetada läbi viidud linkide. Juurdepääs on jagatud objektide tasemel, millele viidatud linke saab hankida ainult vastavate meetodite kutsumise kaudu (osutite arvutamine on keelatud). Kõik andmed, sealhulgas numbrilised väärtused, töödeldakse eraldi objektidena.

Rakendusele tundub töö katkematu ning see ei sõltu operatsioonisüsteemi taaskäivitustest, hädaolukordadest ja arvuti väljalülitamisest. Phantom'i programmeerimismudelit võrreldakse kunagi mittepeatuva käivitamisega. serverile rakenduste objektikeele programmeerimiseks. Ühe peamise rakenduste arendamise viisina käsitletakse Phantom programmide ülekandmist Java keelele, kuna Phantom virtuaalmasin sarnaneb JVM-iga. Lisaks Java keele bytecode kompileerijale on projekti plaanis luua kompileerijad Pythonile ja C#-le, samuti teostada tõlkija vahepealse koodi WebAssembly-ks.

Suurte jõudlust nõudvate operatsioonide, näiteks video ja heli töötlemiseks, on ette nähtud võimalus käivitada eraldi niitides binaarseid objekte, millel on natiivne kood (binaarsete objektide koostamiseks kasutatakse LLVM-i). Madala taseme operatsioonisüsteemi teenustele juurdepääsu saamiseks on mõned VM klassid ("sisemised" klassid) ellu viidud OS tuumas. Linuxi rakenduste käivitamiseks on ette nähtud POSIX-kiht, mis kutsub esile Unix-protsesside tööks vajalikke kutsungite emulatsiooni (POSIX-kihis rakenduste püsivust ei tagata praegu).

Phantomi kodumaise opsüsteemi prototüüp Genode'i baasil valmib aasta lõpuks.

Traditsiooniline Phantom OS koos virtuaalmasinaga sisaldab oma tuuma, millel on juhtimistooted, mäluhaldur, prügikogumise süsteem, sünkroniseerimise mehhanismid, sisendi/ väljundi süsteem ja seadme draiverid, mis märgatavalt keerukendab projekti valmisoleku saavutamist laiemaks kasutamiseks. Eralda arendatakse komponente, mis sisaldavad võrgu steki, graafika allhanget ja kasutajaliidest. Erakordne on see, et graafika allkiri ja aknahaldur töötavad tuuma tasemel.

Stabiilsuse, ühilduvuse ja projekti turvalisuse suurendamiseks on proovitud Phantom virtuaalmasina porteerimist, et see töötaks avatud mikrokerne operatsioonisüsteemi Genode komponentidega, mille arendust juhib Saksamaa ettevõte Genode Labs. Need, kes soovivad Genode baasil Phantomit katsetada, saavad valmis Dockeri spetsiaalse ehituse keskkonna.

Genode'i kasutamine võimaldab kasutada juba tõestatud mikrokerne ja draivereid ning viia draiverid kasutajaruumi (praeguses vormis on draiverid kirjutatud C-s ja töötavad Phantom'i tuumatasemel). Samuti tekib võimalus kasutada seL4 mikrokerne, mis on läbinud matemaatilise usaldusväärsuse tõendamise, mis kinnitab, et teostus vastab täielikult spetsifikatsioonidele, mis on määratud formaalses keeles. Arutatakse võimalust sarnase usaldusväärsuse tõendamise ettevalmistamiseks ka Phantom'i virtuaalmasina jaoks, mis võimaldab saavutada kogu operatsioonisüsteemi keskkonna usaldusväärsuse tõendamist.

Genode põhiväljaanne on öelnud, et selle baasil arendatakse rakendusi erinevatele tööstus- ja integreeritud seadmetele. Hetkel on juba valmistatud muudatuskomplekt virtuaalmasinale ja lisatud töötavad Genode'i peal tõstekeskkonnad tundlikkuse komponentide tuuma ja põhivõrguliidestega. Märgitakse, et virtuaalne masin Phantom suudab juba töötada 64-bitises Genode keskkonnas, kuid on veel vaja teostada VM töö pervastiivsusrežiimis, ümber töötada draiverite alamsüsteem ja kohandada Genode'i komponente võrgustiku ja graafikatehnoloogia jaoks.

Phantomi kodumaise opsüsteemi prototüüp Genode'i baasil valmib aasta lõpuks.
Phantomi kodumaise opsüsteemi prototüüp Genode'i baasil valmib aasta lõpuks.
Phantomi kodumaise opsüsteemi prototüüp Genode'i baasil valmib aasta lõpuks.


Allikas: opennet.ru
Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster