A Genode-ra épülő hazai OS Phantom prototípusa még az év vége előtt elkészül

Dmitry Zavalishin egy olyan projektről beszélt, amely a Phantom operációs rendszer virtuális gépének a Genode mikrokernel operációs rendszer környezetében való működését célozza. Az interjú megjegyzi, hogy a Phantom fő verziója már készen áll a kísérleti projektekre, a Genode alapú verzió pedig az év végén lesz használatra kész. Ugyanakkor a projekt honlapján csak egy működőképes koncepcionális prototípus került bejelentésre, melynek stabilitása és funkcionalitása nem került ipari felhasználásra alkalmas szintre, illetve a közvetlen tervek között szerepel egy kísérletezésre alkalmas alfa verzió kialakítása. harmadik féltől származó fejlesztők által említett.

A projektkódot LGPL licenc alatt terjesztik, de a fő adattárban az utolsó változás 2019 novemberében történt. A projekthez kapcsolódó nyilvános tevékenység egy Genode-villával ellátott tárolóban összpontosul, amelyet 2020 decembere óta Anton Antonov, az Innopolis Egyetem hallgatója tart karban.

A 2000-es évek eleje óta a Phantom operációs rendszer Dmitrij Zavalishin személyes projektjeként fejlődik, 2010 óta pedig a Dmitrij által létrehozott Digital Zone cég szárnya alá került. A rendszer figyelemre méltó, hogy a nagy megbízhatóságra összpontosít, és a „minden egy fájl” helyett a „minden egy objektum” fogalmát használja, ami lehetővé teszi, hogy a memória állapotának megőrzése és a fájlok használata nélkül ne használjon fájlokat. folyamatos munkaciklus. A Phantom alkalmazásokat nem szüntetik meg, hanem csak felfüggesztik és a megszakított ponttól folytatják. Minden változó és adatstruktúra addig tárolható, ameddig az alkalmazásnak szüksége van, és a programozónak nem kell különösebben aggódnia az adatok mentése miatt.

A Phantom alkalmazásai bájtkódba vannak fordítva, amely egy verem alapú virtuális gépen fut, hasonlóan a Java virtuális géphez. A virtuális gép biztosítja az alkalmazásmemória fennmaradását – a rendszer rendszeresen visszaállítja a virtuális gép állapotáról készült pillanatfelvételeket állandó adathordozóra. Leállás vagy összeomlás után a munka az utolsó mentett memória pillanatképétől kezdve folytatható. A pillanatképek aszinkron módban és a virtuális gép működésének szüneteltetése nélkül készülnek, de egy egyszeri szelet rögzítésre kerül a pillanatképen, mintha a virtuális gépet leállítanák, lemezre mentenék és újraindítanák.

Minden alkalmazás egy közös globális címtérben fut, ami szükségtelenné teszi a környezetváltást a kernel és az alkalmazások között, valamint jelentősen leegyszerűsíti és felgyorsítja a virtuális gépben futó alkalmazások közötti interakciót, amelyek referenciaátadáson keresztül képesek objektumok cseréjére. A hozzáférési szétválasztás az objektumok szintjén történik, amelyekre csak a megfelelő metódusok meghívásával lehet hivatkozni (nincs pointer aritmetika). Minden adat, beleértve a numerikus értékeket is, külön objektumként kerül feldolgozásra.

Az alkalmazás esetében a munka folyamatosnak tűnik, és nem függ az operációs rendszer újraindításától, összeomlásától és a számítógép leállásától. A Phantom programozási modelljét egy állandó alkalmazáskiszolgáló futtatásához hasonlítják egy objektumprogramozási nyelvhez. A Java programok Phantomra történő portolása az alkalmazásfejlesztés egyik fő módszere, amit elősegít a Phantom virtuális gép és a JVM hasonlósága. A projekt a Java nyelv bájtkód-fordítóján kívül Python és C# fordítóprogramok létrehozását, valamint a WebAssembly köztes kódból fordító megvalósítását tervezi.

A nagy teljesítményt igénylő műveletek, például a kép- és hangfeldolgozás végrehajtásához lehetőség van natív kódú bináris objektumok külön szálakban történő futtatására (bináris objektumok összeállítására az LLVM-et használják). Az alacsony szintű kernelszolgáltatások eléréséhez bizonyos virtuálisgép-osztályok („belső” osztályok) az operációs rendszer kernel szintjén vannak megvalósítva. A Linux-alkalmazások futtatásához egy POSIX-réteg van biztosítva, amely emulálja a Unix-folyamatok működéséhez szükséges hívásokat (a POSIX-rétegben lévő alkalmazások számára még nem biztosított a tartósság).

A Genode-ra épülő hazai OS Phantom prototípusa még az év vége előtt elkészül

A hagyományos Phantom OS a virtuális gépen kívül tartalmaz egy saját kernelt szálak megvalósításával, memóriakezelőt, szemétgyűjtőt, szinkronizációs mechanizmusokat, bemeneti/kimeneti rendszert és illesztőprogramokat a hardverrel való munkavégzéshez, ami jelentősen megnehezíti a projekt megvalósítását. széleskörű felhasználásra készen áll. Külön fejlesztik a hálózati veremmel, grafikus alrendszerrel és felhasználói felülettel rendelkező komponenseket. Figyelemre méltó, hogy a grafikus alrendszer és az ablakkezelő kernel szinten működik.

A projekt stabilitásának, hordozhatóságának és biztonságának növelése érdekében a Phantom virtuális gépet a Genode nyílt mikrokernel operációs rendszer összetevőivel próbálták meg működésre portolni, amelynek fejlesztését a német Genode Labs cég felügyeli. Azok számára, akik szeretnének kísérletezni a Genode alapú Phantommal, egy speciális Docker alapú build környezet készült.

A Genode használata lehetővé teszi a már bevált mikrokernelek és illesztőprogramok használatát, valamint a meghajtók felhasználói térbe történő mozgatását (jelenlegi formájukban a meghajtók C nyelven íródnak és Phantom kernel szinten futnak). Különösen a seL4 mikrokernel használható lesz, amely matematikai megbízhatóság-ellenőrzésen esett át, megerősítve, hogy a megvalósítás teljes mértékben megfelel a hivatalos nyelvben megadott specifikációknak. A Phantom virtuális géphez hasonló megbízhatósági bizonyítvány elkészítésének lehetőségét fontolgatják, amely lehetővé teszi a teljes operációs rendszer környezetének ellenőrzését.

A Genode alapú port fő alkalmazási területe a különféle ipari és beágyazott eszközökhöz való alkalmazások fejlesztése. Jelenleg a virtuális géphez már elkészült egy sor változtatás, és olyan összerendeléseket adtunk hozzá, amelyek a Genode tetején működnek, hogy biztosítsák a kernelkomponensek és a fő alacsony szintű interfészek fennmaradását. Megjegyzendő, hogy a Phantom virtuális gép már tud működni a 64 bites Genode környezetben, de továbbra is szükség van a virtuális gép perzisztencia módban való megvalósítására, az illesztőprogram-alrendszer átdolgozására, valamint a hálózati veremmel és grafikus alrendszerrel rendelkező komponensek hozzáigazítására a Genode számára.

A Genode-ra épülő hazai OS Phantom prototípusa még az év vége előtt elkészül
A Genode-ra épülő hazai OS Phantom prototípusa még az év vége előtt elkészül
A Genode-ra épülő hazai OS Phantom prototípusa még az év vége előtt elkészül


Forrás: opennet.ru

Hozzászólás