Genode asosidagi mahalliy Phantom OS prototipi yil oxirigacha tayyor bo'ladi

Dmitriy Zavalishin Genode mikroyadroli OS muhitida ishlash uchun Phantom operatsion tizimining virtual mashinasini ko'chirish loyihasi haqida gapirdi. Intervyuda ta'kidlanishicha, Phantomning asosiy versiyasi allaqachon pilot loyihalar uchun tayyor, Genode asosidagi versiya esa yil oxirida foydalanishga tayyor holga keltiriladi. Shu bilan birga, hozirgi kunga qadar loyiha veb-saytida faqat ishlaydigan kontseptual prototip e'lon qilindi, uning barqarorligi va funksionalligi sanoat foydalanish uchun mos darajaga keltirilmagan va eng yaqin rejalar orasida alfa versiyasini shakllantirish mavjud. uchinchi tomon ishlab chiquvchilari tomonidan tajribalar uchun mos.

Loyiha kodi LGPL litsenziyasi bo'yicha tarqatiladi, ammo asosiy ombordagi oxirgi o'zgarish 2019 yil noyabrda bo'lgan. Loyiha bilan bog'liq jamoat faoliyati 2020 yil dekabr oyidan beri Innopolis universiteti talabasi Anton Antonov tomonidan boshqariladigan Genode uchun vilkalar bilan omborda jamlangan.

2000-yillarning boshidan beri Phantom operatsion tizimi Dmitriy Zavalishinning shaxsiy loyihasi sifatida ishlab chiqilgan va 2010 yildan boshlab u Dmitriy tomonidan yaratilgan Digital Zone kompaniyasi qanoti ostida o'tkazildi. Tizim yuqori ishonchlilikka e'tibor qaratgani va "hamma narsa fayl" o'rniga "hamma narsa ob'ekt" tushunchasidan foydalanishi bilan ajralib turadi, bu esa xotira holatini saqlash va uzluksiz aylanish tufayli fayllardan foydalanishni istisno qiladi. ish. Phantom-dagi ilovalar to'xtatilmaydi, faqat pauza qilinadi va ular to'xtagan joydan davom ettiriladi. Barcha o'zgaruvchilar va ma'lumotlar tuzilmalari dastur kerak bo'lganda saqlanishi mumkin va dasturchi ma'lumotlarni saqlash uchun alohida e'tibor talab qilmaydi.

Phantom-dagi ilovalar bayt-kodga kompilyatsiya qilinadi, u Java virtual mashinasiga o'xshash stekga asoslangan virtual mashinada ishlaydi. Virtual mashina dastur xotirasining barqarorligini ta'minlaydi - tizim vaqti-vaqti bilan virtual mashina holatining oniy tasvirlarini doimiy muhitga o'tkazib yuboradi. O'chirish yoki ishdan chiqqandan so'ng, ishni oxirgi saqlangan xotira suratidan boshlab davom ettirish mumkin. Suratlar asinxron va virtual mashinani to'xtatmasdan yaratiladi, biroq oniy tasvir virtual mashina to'xtatilgan, diskda saqlangan va qayta ishga tushirilgandek bir martalik bo'lakni oladi.

Barcha ilovalar umumiy global manzil maydonida ishlaydi, bu yadro va ilovalar o'rtasida kontekstni almashtirish zaruratini yo'q qiladi va virtual mashinada ishlaydigan ilovalar o'rtasidagi aloqani sezilarli darajada soddalashtiradi va tezlashtiradi, ular mos yozuvlar o'tish orqali ob'ektlarni almashadilar. Kirishni ajratish ob'ektlar darajasida amalga oshiriladi, ularga havolalarni faqat tegishli usullarni chaqirish orqali olish mumkin (ko'rsatkich arifmetikasi yo'q). Har qanday ma'lumotlar, shu jumladan raqamli qiymatlar alohida ob'ektlar sifatida ko'rib chiqiladi.

Ilova uchun ish uzluksiz ko'rinadi va OTni qayta ishga tushirish, ishdan chiqish va kompyuterni o'chirishga bog'liq emas. Phantom uchun dasturlash modeli ob'ekt dasturlash tili uchun hech qachon to'xtovsiz dastur serverini ishga tushirish bilan taqqoslanadi. Phantom uchun Java dasturlarini ko'chirish ilovalarni ishlab chiqishning asosiy usullaridan biri hisoblanadi, bunga Phantom virtual mashinasining JVM bilan o'xshashligi yordam beradi. Java tili uchun bayt-kod kompilyatoridan tashqari loyiha Python va C# uchun kompilyatorlarni yaratishni, shuningdek, WebAssembly oraliq kodidan tarjimonni amalga oshirishni rejalashtirmoqda.

Video va audioni qayta ishlash kabi yuqori unumdorlikni talab qiladigan operatsiyalarni bajarish uchun ikkilik ob'ektlarni mahalliy kod bilan alohida oqimlarda ishga tushirish mumkin (LLVM ikkilik ob'ektlarni qurish uchun ishlatiladi). Past darajadagi yadro xizmatlariga kirish uchun ba'zi VM sinflari ("ichki" sinflar) OT yadrosi darajasida amalga oshiriladi. Linux ilovalarini ishga tushirish uchun Unix jarayonlarining ishlashi uchun zarur bo'lgan qo'ng'iroqlarni taqlid qiluvchi POSIX qatlami taqdim etiladi (POSIX qatlamidagi ilovalar uchun barqarorlik hali ta'minlanmagan).

Genode asosidagi mahalliy Phantom OS prototipi yil oxirigacha tayyor bo'ladi

An'anaviy Phantom OS, virtual mashinaga qo'shimcha ravishda, o'z yadrosini o'z ichiga oladi iplar, xotira menejeri, axlat yig'uvchisi, sinxronizatsiya mexanizmlari, kiritish-chiqarish tizimi va uskunalar bilan ishlash uchun drayverlar, bu olib kelishni sezilarli darajada murakkablashtiradi. loyihani keng qo'llashga tayyorligi. Alohida ravishda tarmoq stekiga, grafik quyi tizimga va foydalanuvchi interfeysiga ega komponentlar ishlab chiqilmoqda. Shunisi e'tiborga loyiqki, grafik quyi tizim va oyna boshqaruvchisi yadro darajasida ishlaydi.

Loyihaning barqarorligi, portativligi va xavfsizligini yaxshilash uchun Phantom virtual mashinasini ishlab chiqilishi Germaniyaning Genode Labs kompaniyasi tomonidan boshqariladigan Genode ochiq mikroyadroli operatsion tizimining tarkibiy qismlaridan foydalangan holda ishlashga o'tkazishga harakat qilindi. Genode asosidagi Phantom bilan tajriba o'tkazmoqchi bo'lganlar uchun Docker-ga asoslangan maxsus qurish muhiti tayyorlangan.

Genode-dan foydalanish allaqachon sinovdan o'tgan mikroyadrolar va drayverlardan foydalanishga, shuningdek drayverlarni foydalanuvchi maydoniga olib chiqishga imkon beradi (hozirgi shaklda drayverlar C tilida yozilgan va Phantom yadrosi darajasida ishlaydi). Xususan, amalga oshirish rasmiy tilda ko'rsatilgan spetsifikatsiyalarga to'liq mos kelishini tasdiqlovchi ishonchliligining matematik tekshiruvidan o'tgan seL4 mikroyadrosidan foydalanish mumkin bo'ladi. Phantom virtual mashinasi uchun xuddi shunday ishonchlilik isbotini tayyorlash imkoniyati ko'rib chiqilmoqda, bu butun OS muhitini tekshirish imkonini beradi.

Genode portining asosiy qo'llanilishi turli xil sanoat va o'rnatilgan qurilmalar uchun ilovalarni ishlab chiqishdir. Hozirgi vaqtda virtual mashina uchun bir qator o'zgarishlar allaqachon tayyorlangan va yadroning doimiy komponentlari va asosiy past darajadagi interfeyslar uchun Genode ustida ishlaydigan bog'lashlar qo'shilgan. Qayd etilishicha, Phantom virtual mashinasi allaqachon 64-bitli Genode muhitida ishlashi mumkin, biroq VM hali qat'iylik rejimida joriy etilmagan, drayverning quyi tizimi qayta ishlanishi kerak, tarmoq stekiga ega komponentlar va grafik quyi tizimga ega. Genode uchun moslashtirilgan.

Genode asosidagi mahalliy Phantom OS prototipi yil oxirigacha tayyor bo'ladi
Genode asosidagi mahalliy Phantom OS prototipi yil oxirigacha tayyor bo'ladi
Genode asosidagi mahalliy Phantom OS prototipi yil oxirigacha tayyor bo'ladi


Manba: opennet.ru

a Izoh qo'shish