Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua

Dmitry Zavalishin puhui hankkeesta siirtää Phantom-käyttöjärjestelmän virtuaalikone toimimaan Genode-mikroytimen käyttöjärjestelmäympäristössä. Haastattelussa todetaan, että Phantomin pääversio on jo valmis pilottiprojekteihin ja Genodeen perustuva versio saadaan käyttökuntoon loppuvuodesta. Samaan aikaan projektin verkkosivuilla on toistaiseksi julkistettu vain toimiva konseptuaalinen prototyyppi, jonka vakautta ja toimivuutta ei ole saatu teolliseen käyttöön sopivalle tasolle ja lähimpänä suunnitelmissa on alfa-version muodostaminen sopii kolmannen osapuolen kehittäjien kokeiluihin.

Projektikoodia jaetaan LGPL-lisenssillä, mutta viimeinen muutos päävarastossa on päivätty marraskuulta 2019. Hankkeeseen liittyvä julkinen toiminta on keskittynyt Genoden haarukkavarastoon, jota joulukuusta 2020 lähtien on ylläpitänyt Innopoliksen yliopiston opiskelija Anton Antonov.

2000-luvun alusta lähtien Phantom-käyttöjärjestelmää on kehitetty Dmitri Zavalishinin henkilökohtaisena projektina, ja vuodesta 2010 lähtien se on siirretty Dmitryn luoman Digital Zone -yrityksen siiven alle. Järjestelmä on huomionarvoinen keskittymisestään korkeaan luotettavuuteen ja "kaikki on objektia" -käsitteen käyttämisestä "kaikki on tiedostoa" sijaan, mikä eliminoi tiedostojen käytön muistitilan säilymisen ja jatkuvan syklin vuoksi. tehdä työtä. Phantom-sovelluksia ei lopeteta, vaan ne vain keskeytetään ja niitä jatketaan siitä, mihin ne jäivät. Kaikki muuttujat ja tietorakenteet voidaan säilyttää niin kauan kuin sovellus tarvitsee, eikä ohjelmoijan tarvitse olla erityisen huolellinen tietojen tallentamisesta.

Phantomin sovellukset on käännetty tavukoodiksi, joka toimii pinopohjaisessa virtuaalikoneessa, joka on samanlainen kuin Java-virtuaalikone. Virtuaalikone tarjoaa sovellusmuistin pysyvyyttä - järjestelmä huuhtelee ajoittain tilannekuvia virtuaalikoneen tilasta pysyvälle medialle. Sammutuksen tai kaatumisen jälkeen työtä voidaan jatkaa viimeisestä tallennetusta muistista. Tilannekuvat luodaan asynkronisesti ja ilman virtuaalikoneen keskeyttämistä, mutta tilannevedos kaappaa kertaluonteisen osion, ikään kuin virtuaalikone olisi pysäytetty, tallennettu levylle ja käynnistetty uudelleen.

Kaikki sovellukset toimivat yhteisessä globaalissa osoiteavaruudessa, mikä eliminoi kontekstin vaihtamisen tarpeen ytimen ja sovellusten välillä ja yksinkertaistaa ja nopeuttaa huomattavasti virtuaalikoneessa olevien sovellusten välistä kommunikaatiota, joka voi vaihtaa objekteja viitteen välittämisen kautta. Pääsyn erottelu suoritetaan objektien tasolla, joihin viittaukset saadaan vain kutsumalla vastaavia menetelmiä (osoitinaritmetiikkaa ei ole). Kaikki tiedot, mukaan lukien numeeriset arvot, käsitellään erillisinä objekteina.

Sovelluksen kannalta työ näyttää jatkuvalta eikä riipu käyttöjärjestelmän uudelleenkäynnistyksistä, kaatumisista ja tietokoneen sammutuksista. Phantomin ohjelmointimallia verrataan jatkuvan sovelluspalvelimen käyttämiseen objektiohjelmointikielellä. Java-ohjelmien siirtämistä Phantomille pidetään yhtenä tärkeimmistä tavoista kehittää sovelluksia, mitä helpottaa Phantom-virtuaalikoneen samankaltaisuus JVM:n kanssa. Java-kielen tavukoodikääntäjän lisäksi projektissa suunnitellaan kääntäjien luomista Pythonille ja C#:lle sekä kääntäjän toteuttaminen WebAssembly-välikoodista.

Suorittaaksesi korkeaa suorituskykyä vaativia toimintoja, kuten videon ja äänen käsittelyä, on mahdollista ajaa binääriobjekteja natiivikoodilla erillisissä säikeissä (LLVM:ää käytetään binääriobjektien rakentamiseen). Matalatason ydinpalveluihin pääsemiseksi jotkin VM-luokat ("sisäiset" luokat) toteutetaan käyttöjärjestelmän ydintasolla. Linux-sovellusten ajamista varten tarjotaan POSIX-kerros, joka emuloi Unix-prosessien toiminnan edellyttämiä kutsuja (POSIX-kerroksen sovellusten pysyvyyttä ei vielä tarjota).

Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua

Perinteinen Phantom-käyttöjärjestelmä sisältää virtuaalikoneen lisäksi oman ytimen säikeiden toteutuksella, muistinhallinnan, roskankeräimen, synkronointimekanismit, I / O-järjestelmän ja ajurit laitteiden kanssa työskentelemiseen, mikä vaikeuttaa huomattavasti tuomista. hanke on valmis laajaan käyttöön. Erikseen kehitetään komponentteja, joissa on verkkopino, graafinen alijärjestelmä ja käyttöliittymä. On huomionarvoista, että grafiikkaalijärjestelmä ja ikkunanhallinta toimivat ydintasolla.

Projektin vakauden, siirrettävyyden ja turvallisuuden parantamiseksi Phantom-virtuaalikone yritettiin siirtää töihin avoimen mikroytimen Genoden käyttöjärjestelmän komponenteilla, joiden kehitystä valvoo saksalainen Genode Labs. Niille, jotka haluavat kokeilla Genodeen perustuvaa Phantomia, on valmisteltu erityinen Dockeriin perustuva rakennusympäristö.

Genodin käyttö mahdollistaa jo testattujen mikroytimien ja ajurien käytön sekä ohjainten tuomisen käyttäjätilaan (nykyisessä muodossaan ajurit kirjoitetaan C-kielellä ja ajetaan Phantom-ytimen tasolla). Erityisesti on mahdollista käyttää seL4-mikroydintä, joka on läpäissyt matemaattisen luotettavuustarkastuksen ja varmistaa, että toteutus on täysin muodollisen kielen spesifikaatioiden mukainen. Mahdollisuutta laatia Phantom-virtuaalikoneelle vastaava luotettavuustodistus, joka mahdollistaa koko käyttöjärjestelmäympäristön tarkistamisen, harkitaan.

Genode-pohjaisen portin pääsovellusalue on sovellusten kehittäminen erilaisille teollisille ja sulautetuille laitteille. Tällä hetkellä joukko muutoksia virtuaalikoneen on jo valmisteltu ja Genoden päällä käynnissä olevia sidoksia on lisätty ytimen pysyvyyskomponenteille ja tärkeimmille matalan tason rajapinnoille. On huomattava, että Phantom-virtuaalikone voi toimia jo 64-bittisessä Genode-ympäristössä, mutta virtuaalikonetta ei ole vielä toteutettu pysyvyystilassa, ajurialijärjestelmä on työstettävä uudelleen ja komponentit, joissa on verkkopino ja grafiikkaalijärjestelmä sovitettava Genodelle.

Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua
Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua
Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua


Lähde: opennet.ru

Lisää kommentti