Genode негизиндеги ата мекендик OS Phantom прототиби жылдын аягына чейин даяр болот

Дмитрий Завалишин Genode микроядро ОС чөйрөсүндө иштөө үчүн Phantom операциялык системасынын виртуалдык машинасын порттоо долбоору тууралуу айтып берди. Интервьюда белгиленгендей, Phantom'дун негизги версиясы пилоттук долбоорлорго даяр, ал эми Genode негизиндеги версия жылдын аягында колдонууга даяр болот. Ошол эле учурда долбоордун веб-сайтында азырынча ишке жарамдуу концептуалдык прототиби гана жарыяланды, анын туруктуулугу жана функционалдуулугу өнөр жайлык колдонууга ылайыктуу деңгээлге жеткириле элек жана жакынкы пландардын арасында альфа версиясын түзүү бар. үчүнчү тарап иштеп чыгуучулар тарабынан эксперименттер үчүн ылайыктуу.

Долбоордун коду LGPL лицензиясы боюнча таратылат, бирок негизги репозиторийдеги акыркы өзгөртүү 2019-жылдын ноябрында болгон. Долбоор менен байланышкан коомдук ишмердүүлүк Генод үчүн айры бар репозиторийде топтолгон, аны 2020-жылдын декабрынан бери Иннополис университетинин студенти Антон Антонов кармап турат.

2000-жылдардын башынан тартып, Phantom операциялык системасы Дмитрий Завалишиндин жеке долбоору катары иштелип чыккан, ал эми 2010-жылдан бери Дмитрий тарабынан түзүлгөн Digital Zone компаниясынын канатына өткөрүлүп берилген. Система жогорку ишенимдүүлүккө басым жасагандыгы жана "бардыгы файл" дегендин ордуна "бардыгы объект" түшүнүгүн колдонуу менен айырмаланат, бул эстутум абалынын сакталышынын жана үзгүлтүксүз циклдин эсебинен файлдарды колдонууну жокко чыгарат. иш. Фантомдогу тиркемелер токтотулбайт, бирок тындырылып, токтогон жеринен кайра уланат. Бардык өзгөрмөлөр жана берилиштер структуралары тиркеме талап кылганга чейин сакталышы мүмкүн жана программист маалыматтарды сактоо үчүн өзгөчө кам көрүүнү талап кылбайт.

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

Бардык тиркемелер жалпы глобалдык дарек мейкиндигинде иштешет, бул өзөк менен тиркемелердин ортосундагы контексттик которуштуруунун зарылдыгын жокко чыгарат жана виртуалдык машинада иштеген тиркемелердин ортосундагы байланышты кыйла жөнөкөйлөтөт жана тездетет, ал шилтеме аркылуу объекттерди алмаштыра алат. Мүмкүнчүлүктү бөлүү объекттердин деңгээлинде ишке ашырылат, аларга шилтеме тиешелүү методдорду чакыруу менен гана алынышы мүмкүн (көрсөткүч арифметикасы жок). Ар кандай маалыматтар, анын ичинде сандык маанилер өзүнчө объект катары каралат.

Колдонмо үчүн иш үзгүлтүксүз көрүнөт жана ОСтун кайра жүктөлүшүнө, бузулушуна жана компьютердин өчүрүлүшүнө көз каранды эмес. Phantom үчүн программалоо модели объектилик программалоо тили үчүн эч качан токтобогон тиркеме серверин иштетүү менен салыштырылат. Phantom үчүн Java программаларын көчүрүү тиркемелерди иштеп чыгуунун негизги жолдорунун бири катары каралат, бул Phantom виртуалдык машинасынын JVM менен окшоштугу менен шартталган. Java тили үчүн байт-код компиляторунан тышкары, долбоор Python жана C# үчүн компиляторлорду түзүүнү, ошондой эле WebAssembly аралык кодунан котормочуну ишке ашырууну пландаштырууда.

Видео жана аудио иштетүү сыяктуу жогорку өндүрүмдүүлүктү талап кылган операцияларды аткаруу үчүн, экилик объектилерди өзүнчө жиптерде жергиликтүү код менен иштетүүгө болот (LLVM бинардык объекттерди куруу үчүн колдонулат). Төмөнкү деңгээлдеги ядро ​​кызматтарына жетүү үчүн, кээ бир VM класстары («ички» класстар) OS ядросунун деңгээлинде ишке ашырылат. Linux тиркемелерин иштетүү үчүн Unix процесстеринин иштеши үчүн зарыл болгон чалууларды эмуляциялоочу POSIX катмары каралган (POSIX катмарындагы тиркемелер үчүн туруктуулук азырынча камсыз кылынган эмес).

Genode негизиндеги ата мекендик OS Phantom прототиби жылдын аягына чейин даяр болот

Салттуу Phantom OS, виртуалдык машинадан тышкары, жиптерди ишке ашыруу менен өз ядросун, эстутум менеджерин, таштанды жыйноочуну, синхрондоштуруу механизмдерин, киргизүү/чыгаруу тутумун жана жабдуулар менен иштөө үчүн драйверлерди камтыйт, бул алып келүүнү кыйла татаалдаштырат. кенири колдонууга даярдоо долбоору. Өзүнчө тармактык стек, графикалык подсистема жана колдонуучунун интерфейси бар компоненттер иштелип чыгууда. Белгилей кетчү нерсе, графикалык подсистема жана терезе менеджери ядро ​​​​деңгээлинде иштешет.

Долбоордун туруктуулугун, портативдүүлүгүн жана коопсуздугун жогорулатуу үчүн Phantom виртуалдык машинасын иштетүүгө немец компаниясы Genode Labs тарабынан көзөмөлдөнгөн Genode ачык микро ядролук операциялык системасынын компоненттерин колдонуу менен өткөрүү аракети жасалган. Genode негизинде Phantom менен эксперимент жасоону каалагандар үчүн Dockerдин негизинде атайын куруу чөйрөсү даярдалган.

Genode колдонуу буга чейин сыналган микро ядролорду жана драйверлерди колдонууга, ошондой эле драйверлерди колдонуучу мейкиндигине алып келүүгө мүмкүндүк берет (азыркы формада драйверлер C тилинде жазылган жана Phantom ядросунун деңгээлинде иштейт). Атап айтканда, ишке ашыруу формалдуу тилде көрсөтүлгөн спецификацияларга толук дал келгендигин тастыктаган ишенимдүүлүктүн математикалык текшерүүсүнөн өткөн seL4 микроядросун колдонууга мүмкүн болот. Phantom виртуалдык машинасы үчүн ушундай эле ишенимдүүлүк далилин даярдоо мүмкүнчүлүгү каралып жатат, бул бүтүндөй OS чөйрөсүн текшерүүгө мүмкүндүк берет.

Genode негизделген порттун негизги колдонуу аймагы ар кандай өнөр жай жана камтылган түзмөктөр үчүн тиркемелерди иштеп чыгуу болуп саналат. Учурда виртуалдык машина үчүн өзгөртүүлөр топтому даярдалган жана ядронун туруктуу компоненттери жана негизги төмөнкү деңгээлдеги интерфейстер үчүн Genode үстүндө иштеген байланыштар кошулган. Белгиленгендей, Phantom виртуалдык машинасы 64-бит Genode чөйрөсүндө иштей алат, бирок VM персистенция режиминде ишке ашырыла элек, драйвердин подсистемасы кайра иштетилиши керек жана тармактык стек жана графикалык подсистемасы бар компоненттер бар. Генодага ылайыкташтырылышы керек.

Genode негизиндеги ата мекендик OS Phantom прототиби жылдын аягына чейин даяр болот
Genode негизиндеги ата мекендик OS Phantom прототиби жылдын аягына чейин даяр болот
Genode негизиндеги ата мекендик OS Phantom прототиби жылдын аягына чейин даяр болот


Source: opennet.ru

Комментарий кошуу