Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua

Dmitry Zavalishin keskusteli projektista, jossa Phantom-käyttöjärjestelmän virtuaalikone siirretään toimimaan Genode-mikroydinkäyttöjärjestelmässä. Haastattelussa todettiin, että Phantomin pääversio on jo valmis pilottiprojekteihin ja Genode-pohjainen versio on valmis tuotantoon vuoden loppuun mennessä. Projektin verkkosivuilla on kuitenkin tällä hetkellä listattu vain toimiva prototyyppi, jonka vakautta ja toiminnallisuutta ei ole vielä viimeistelty tuotantokäyttöön. Välittömiin suunnitelmiin kuuluu alfa-version luominen, joka soveltuu kolmannen osapuolen kehittäjien kokeiluihin.

Projektin koodi jaetaan LGPL-lisenssillä, mutta viimeisin muutos pääarkistoon tehtiin marraskuussa 2019. Projektiin liittyvä julkinen toiminta keskittyy Genodesta haarautuneeseen arkistoon, jota on ylläpitänyt Innopolis-yliopiston opiskelija Anton Antonov joulukuusta 2020 lähtien.

Dmitry Zavalishin kehitti Phantom-käyttöjärjestelmän henkilökohtaisena projektina 2000-luvun alussa, ja vuonna 2010 se siirrettiin Digital Zonelle, Dmitryn perustamalle yritykselle. Järjestelmälle on ominaista keskittyminen korkeaan luotettavuuteen ja "kaikki on objekti" -konseptin käyttö "kaikki on tiedosto" -konseptin sijaan, mikä poistaa tiedostojen tarpeen säilyttämällä muistia ja ylläpitämällä jatkuvaa työnkulkua. Phantomin sovellukset eivät pääty; ne yksinkertaisesti keskeytetään ja jatketaan keskeytyskohdasta. Kaikkia muuttujia ja tietorakenteita voidaan tallentaa niin kauan kuin sovellus vaatii, ilman että ohjelmoijan tarvitsee erikseen ylläpitää tietoja.

Phantomin sovellukset käännetään tavukoodiksi, joka suoritetaan pinopohjaisessa virtuaalikoneessa, joka on samanlainen kuin Java-virtuaalikone. Virtuaalikone varmistaa sovellusmuistin säilyvyyden – järjestelmä tyhjentää säännöllisesti virtuaalikoneen tilan tilannevedoksia pysyvään tallennustilaan. Sammutuksen tai epänormaalin päättymisen jälkeen toiminta voi jatkua viimeksi tallennetusta muistitilannevedoksesta alkaen. Tilannevedokset luodaan asynkronisesti ja virtuaalikoneen toimintaa keskeyttämättä, mutta tilannevedos tallentaa yhden tilannevedoksen, ikään kuin virtuaalikone olisi pysäytetty, tallennettu levylle ja käynnistetty uudelleen.

Kaikki sovellukset suoritetaan jaetussa globaalissa osoiteavaruudessa, mikä poistaa kontekstivaihdot ytimen ja sovellusten välillä ja yksinkertaistaa ja nopeuttaa merkittävästi virtuaalikoneessa suoritettavien sovellusten välistä vuorovaikutusta, sillä ne voivat vaihtaa objekteja välittämällä viittauksia. Käyttö on erotettu objektitasolla, ja objektien viittauksiin pääsee vain kutsumalla vastaavia metodeja (osoitinaritmetiikkaa ei ole). Kaikki data, mukaan lukien numeeriset arvot, käsitellään erillisinä objekteina.

Sovelluksen toiminta näyttää jatkuvalta, eikä käyttöjärjestelmän uudelleenkäynnistykset, kaatumiset tai tietokoneen sammumiset vaikuta siihen. Phantomin ohjelmointimallia verrataan loputtoman järjestelmän suorittamiseen. palvelin Oliopohjaiset ohjelmointikielisovellukset. Java-ohjelmien siirtämistä Phantomiin pidetään yhtenä ensisijaisista sovelluskehitysmenetelmistä, ja sitä helpottaa Phantom-virtuaalikoneen samankaltaisuus JVM:n kanssa. Java-tavukoodikääntäjän lisäksi projektissa on tarkoitus luoda kääntäjiä Pythonille ja C#:lle sekä toteuttaa WebAssembly-välikoodikääntäjä.

Suorituskykyisten toimintojen, kuten videon ja äänen käsittelyn, suorittamiseksi on mahdollista suorittaa natiiveja binääriobjekteja erillisissä säikeissä (LLVM:ää käytetään binääriobjektien rakentamiseen). Matalan tason ydinpalveluiden käyttämiseksi jotkin virtuaalikoneen luokat ("sisäiset" luokat) on toteutettu käyttöjärjestelmän ydintasolla. Suorittamiseksi Linux- sovelluksissa on POSIX-kerros, joka emuloi Unix-prosessien toiminnan edellyttämiä kutsuja (sovellusten pysyvyyttä POSIX-kerroksessa ei vielä tarjota).

Genodeen perustuvan kotimaisen OS Phantomin prototyyppi valmistuu ennen vuoden loppua

Virtuaalikoneen lisäksi perinteinen Phantom-käyttöjärjestelmä sisältää oman ytimen säikeittäin toteutettuina, muistinhallintaohjelman, roskienkerääjän, synkronointimekanismit, tulo-/lähtöjärjestelmän ja laitteistoajurit, mikä monimutkaistaa merkittävästi projektin kehittämistä laajaan käyttöön. Verkkopinon, grafiikkajärjestelmän ja käyttöliittymän komponentit kehitetään erikseen. Huomionarvoista on, että grafiikkajärjestelmä ja ikkunanhallinta toimivat ytimen tasolla.

Projektin vakauden, siirrettävyyden ja turvallisuuden parantamiseksi Phantom-virtuaalikone yritettiin portata toimimaan saksalaisen Genode Labsin kehittämän avoimen lähdekoodin Genode-mikroydinkäyttöjärjestelmän komponenteilla. Phantomia Genodessa kokeileville on valmisteltu erityinen Docker-pohjainen rakennusympäristö.

Genoden käyttö mahdollistaa jo testattujen mikroytimien ja ajureiden käytön sekä ajureiden integroinnin käyttäjätilaan (tällä hetkellä ajurit kirjoitetaan C-kielellä ja ne toimivat Phantom-ytimen tasolla). Tämä mahdollistaa myös seL4-mikroytimen käytön, jolle on tehty matemaattinen luotettavuustestaus, joka vahvistaa, että sen toteutus täyttää täysin formaalilla kielellä määritellyt spesifikaatiot. Phantom-virtuaalikoneelle tutkitaan parhaillaan mahdollisuutta kehittää vastaava luotettavuustodistus, joka mahdollistaa koko käyttöjärjestelmäympäristön todentamisen.

Genode-pohjaisen portin ensisijaisen sovelluksen sanotaan olevan sovelluskehitys erilaisille teollisuus- ja sulautetuille laitteille. Virtuaalikoneeseen on jo tehty muutoksia, ja Genode-pohjaiset sidokset ytimen komponenteille ja tärkeimmille pysyvyyttä tarjoaville matalan tason rajapinnoille on lisätty. On huomattava, että virtuaalikone Phantom voi jo toimia 64-bittisessä Genode-ympäristössä, mutta sen on vielä toteutettava virtuaalikoneen toiminta pysyvyystilassa, työstettävä ajurijärjestelmä uudelleen ja mukautettava komponentit verkkopinon ja grafiikkajärjestelmän kanssa Genodea varten.

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
Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster