Genode негізіндегі отандық OS Phantom прототипі жыл соңына дейін дайын болады

Дмитрий Завалишин Genode микроядролық ОЖ ортасында жұмыс істеу үшін Phantom операциялық жүйесінің виртуалды машинасын порттау жобасы туралы айтты. Сұхбатта Phantom-тың негізгі нұсқасы пилоттық жобаларға дайын, ал Genode негізіндегі нұсқасы жылдың соңында пайдалануға дайын болатыны атап өтіледі. Сонымен қатар, жобаның веб-сайтында әзірге тұрақтылығы мен функционалдығы өнеркәсіптік пайдалануға жарамды деңгейге дейін жеткізілмеген жұмыс істейтін тұжырымдамалық прототипі ғана жарияланды, ал жақын жоспарлардың арасында альфа нұсқасын қалыптастыру бар. үшінші тарап әзірлеушілерінің эксперименттері үшін қолайлы.

Жоба коды LGPL лицензиясы бойынша таратылады, бірақ негізгі репозиторийдегі соңғы өзгеріс 2019 жылдың қарашасында жасалған. Жобаға қатысты қоғамдық белсенділік 2020 жылдың желтоқсан айынан бастап Иннополис университетінің студенті Антон Антонов басқаратын Геноде шанышқысы бар репозиторийде шоғырланған.

2000 жылдардың басынан бастап Phantom операциялық жүйесі Дмитрий Завалишиннің жеке жобасы ретінде әзірленді, ал 2010 жылдан бастап ол Дмитрий құрған Digital Zone компаниясының қанатының астына берілді. Жүйе жоғары сенімділікке бағдарлануымен және «бәрі файл» дегеннің орнына «бәрі – объект» тұжырымдамасын қолдануымен ерекшеленеді, бұл жад күйінің сақталуы мен үздіксіз циклдің арқасында файлдарды пайдалануды болдырмайды. жұмыс. Phantom қолданбасындағы қолданбалар тоқтатылмайды, тек кідіртіліп, тоқтаған жерінен жалғастырылады. Барлық айнымалылар мен деректер құрылымдары қолданба қажет болғанша сақталуы мүмкін және бағдарламашы деректерді сақтау үшін ерекше күтім жасаудың қажеті жоқ.

Phantom бағдарламасындағы қолданбалар Java виртуалды машинасына ұқсас стекке негізделген виртуалды машинада жұмыс істейтін байт кодқа жинақталған. Виртуалды машина қолданба жадының тұрақтылығын қамтамасыз етеді - жүйе виртуалды машина күйінің суретін тұрақты медиаға мерзімді түрде өшіреді. Өшіруден немесе бұзылудан кейін жұмысты соңғы сақталған жад суретінен бастап жалғастыруға болады. Суреттер асинхронды түрде және виртуалды машинаны тоқтатпай жасалады, бірақ сурет виртуалды машина тоқтатылған, дискіге сақталған және қайта іске қосылған сияқты бір реттік кесінді түсіреді.

Барлық қолданбалар жалпы жаһандық мекенжай кеңістігінде жұмыс істейді, бұл ядро ​​мен қолданбалар арасындағы контекстік ауыстырып-қосқыштардың қажеттілігін болдырмайды және сілтеме беру арқылы нысандарды алмастыра алатын виртуалды машинада жұмыс істейтін қолданбалар арасындағы байланысты айтарлықтай жеңілдетеді және жылдамдатады. Қол жеткізуді бөлу объектілер деңгейінде жүзеге асырылады, оларға сілтемелер тек сәйкес әдістерді шақыру арқылы алуға болады (көрсеткіш арифметикасы жоқ). Кез келген деректер, соның ішінде сандық мәндер бөлек нысандар ретінде қарастырылады.

Қолданба үшін жұмыс үздіксіз болып көрінеді және ОЖ қайта жүктелуіне, істен шығуына және компьютердің өшірілуіне байланысты емес. Phantom үшін бағдарламалау үлгісі нысанды бағдарламалау тіліне арналған үздіксіз қолданба серверін іске қосумен салыстырылады. Phantom үшін Java бағдарламаларын тасымалдау қолданбаларды әзірлеудің негізгі әдістерінің бірі ретінде қарастырылады, бұл Phantom виртуалды машинасының JVM-мен ұқсастығымен жеңілдетілген. Java тіліне арналған байт-код компиляторынан басқа, жоба Python және C# үшін компиляторларды жасауды, сонымен қатар WebAssembly аралық кодынан аудармашыны іске асыруды жоспарлап отыр.

Бейне және дыбысты өңдеу сияқты жоғары өнімділікті талап ететін операцияларды орындау үшін екілік нысандарды жеке ағындарда жергілікті кодпен іске қосуға болады (LLVM екілік нысандарды құру үшін пайдаланылады). Төмен деңгейлі ядро ​​қызметтеріне қол жеткізу үшін кейбір VM сыныптары («ішкі» сыныптар) ОЖ ядросы деңгейінде жүзеге асырылады. Linux қолданбаларын іске қосу үшін Unix процестерінің жұмысына қажетті шақыруларды эмуляциялайтын POSIX деңгейі қамтамасыз етіледі (POSIX деңгейіндегі қолданбалардың тұрақтылығы әлі қамтамасыз етілмеген).

Genode негізіндегі отандық OS Phantom прототипі жыл соңына дейін дайын болады

Дәстүрлі Phantom ОЖ виртуалды машинадан басқа, ағындарды жүзеге асыратын өз ядросын, жад менеджерін, қоқыс жинағышты, синхрондау механизмдерін, енгізу-шығару жүйесін және жабдықпен жұмыс істеуге арналған драйверлерді қамтиды, бұл жеткізуді айтарлықтай қиындатады. жобаны кеңінен қолдануға әзірлік. Желілік стек, графикалық ішкі жүйе және пайдаланушы интерфейсі бар компоненттер бөлек әзірленуде. Бір қызығы, графикалық ішкі жүйе мен терезе менеджері ядро ​​деңгейінде жұмыс істейді.

Жобаның тұрақтылығын, портативтілігін және қауіпсіздігін жақсарту үшін Phantom виртуалды машинасын әзірлеуді неміс Genode Labs компаниясы қадағалайтын Genode ашық микроядролық операциялық жүйесінің құрамдас бөліктерін пайдалану арқылы жұмысқа ауыстыру әрекеті жасалды. Genode негізіндегі Phantom-пен тәжірибе жасағысы келетіндер үшін Docker негізіндегі арнайы құрастыру ортасы дайындалды.

Genode пайдалану сынақтан өткен микроядролар мен драйверлерді пайдалануға, сондай-ақ драйверлерді пайдаланушы кеңістігіне шығаруға мүмкіндік береді (олардың ағымдағы түрінде драйверлер C тілінде жазылған және Phantom ядросы деңгейінде жұмыс істейді). Атап айтқанда, іске асырудың ресми тілде көрсетілген спецификацияларға толық сәйкес келетінін растайтын сенімділіктің математикалық тексеруінен өткен seL4 микроядросын пайдалану мүмкін болады. Phantom виртуалды машинасы үшін сенімділіктің ұқсас дәлелін дайындау мүмкіндігі қарастырылуда, ол бүкіл ОЖ ортасын тексеруге мүмкіндік береді.

Генодқа негізделген порттың негізгі қолдану саласы әртүрлі өнеркәсіптік және ендірілген құрылғыларға арналған қосымшаларды әзірлеу болып табылады. Қазіргі уақытта виртуалды машинаға арналған өзгертулер жинағы дайындалып қойған және ядроның тұрақты құрамдастары мен негізгі төмен деңгейлі интерфейстер үшін Genode үстінде жұмыс істейтін байланыстырулар қосылды. Phantom виртуалды машинасы 64-биттік Genode ортасында жұмыс істей алатыны атап өтілген, бірақ VM әлі тұрақтылық режимінде іске асырылмаған, драйвердің ішкі жүйесін қайта өңдеу керек, желілік стек пен графикалық ішкі жүйесі бар компоненттер бар. Генодқа бейімделу керек.

Genode негізіндегі отандық OS Phantom прототипі жыл соңына дейін дайын болады
Genode негізіндегі отандық OS Phantom прототипі жыл соңына дейін дайын болады
Genode негізіндегі отандық OS Phantom прототипі жыл соңына дейін дайын болады


Ақпарат көзі: opennet.ru

пікір қалдыру