Muen 1.0 чыгарылышы, жогорку ишенимдүү системаларды куруу үчүн ачык булак микроядро

Сегиз жылдык өнүгүүдөн кийин Muen 1.0 долбоору чыгарылып, Separation ядросун иштеп чыкты, анын баштапкы кодунда каталардын жоктугу расмий ишенимдүүлүктү текшерүүнүн математикалык ыкмаларын колдонуу менен тастыкталды. Ядро x86_64 архитектурасы үчүн жеткиликтүү жана ишенимдүүлүктүн жогорулашын жана эч кандай катачылыктын кепилдигин талап кылган миссия үчүн маанилүү системаларда колдонулушу мүмкүн. Долбоордун баштапкы коду Ada тилинде жана анын текшерилүүчү SPARK 2014 диалектисинде жазылган. Код GPLv3 лицензиясынын алкагында таратылат.

Бөлүү ядросу – бул бири-биринен обочолонгон компоненттердин аткарылышы үчүн чөйрөнү камсыз кылган, өз ара аракеттенүүсү берилген эрежелер менен катуу жөнгө салынган микроядро. Изоляция Intel VT-x виртуалдаштыруу кеңейтүүлөрүн колдонууга негизделген жана жашыруун байланыш каналдарын уюштурууну бөгөттөө үчүн коопсуздук механизмдерин камтыйт. Бөлүү ядросу башка микроядролорго караганда минималисттик жана статикалык, бул катачылыкка алып келе турган жагдайлардын санын азайтат.

Ядро гипервизорго окшош VMX тамыр режиминде иштейт жана башка бардык компоненттер конок системаларына окшош VMX тамыр эмес режимде иштейт. Жабдууга кирүү Intel VT-d DMA кеңейтүүлөрү жана үзгүлтүккө учуратуу ремапировкасы аркылуу ишке ашат, бул PCI түзмөктөрүн Muen астында иштеген компоненттерге коопсуз туташтырууну ишке ашырууга мүмкүндүк берет.

Muen 1.0 чыгарылышы, жогорку ишенимдүү системаларды куруу үчүн ачык булак микроядро

Муэндин мүмкүнчүлүктөрүнө көп ядролуу системаларды, уяча эстутум барактарын (EPT, Extended Page Tables), MSI (билдирүү сигналындагы үзгүлтүктөрдү) жана эс тутум баракчасынын атрибут таблицаларын (PAT, Page Attribute Table) колдоо кирет. Muen ошондой эле Intel VMX алдын ала таймеринин негизинде туруктуу айланма пландоочу менен камсыз кылат, аткарууга таасир этпеген компакт иштөө убактысы, каталарды текшерүү тутуму, эрежеге негизделген статикалык ресурстарды дайындоо кыймылдаткычы, окуяларды башкаруу тутуму жана жалпы эстутум каналдары үчүн. иштеп жаткан компоненттердин ичиндеги байланыш.

Ал 64 биттик машина коду, 32 же 64 биттик виртуалдык машиналар, Ada жана SPARK 64 тилдериндеги 2014 биттик тиркемелер, Linux виртуалдык машиналары жана Муендин үстүндөгү MirageOS негизиндеги өзүнчө камтылган "уникернелдер" менен иштеп жаткан компоненттерди колдойт.

Muen 1.0 чыгарууда сунушталган негизги инновациялар:

  • Документтер долбоордун бардык аспектилерин документтештирип, ядро ​​(түзмөк жана архитектура), система (системалык саясаттар, Tau0 жана инструменталдык комплект) жана компоненттердин спецификациялары менен басылып чыкты.
  • Tau0 (Muen System Composer) инструменттери кошулду, ал системанын сүрөттөрүн түзүү жана Муендин үстүндө иштеген стандарттык кызматтарды иштеп чыгуу үчүн даяр текшерилген компоненттердин топтомун камтыйт. Берилген компоненттерге AHCI (SATA) драйвери, Түзмөк менеджери (DM), жүктөөчү, система менеджери, виртуалдык терминал ж.б.у.с. кирет.
  • Muenblock Linux драйвери (Muen бөлүшүлгөн эс тутумунун үстүндө иштеген блок түзмөгүнүн ишке ашырылышы) blockdev 2.0 API колдонууга айландырылды.
  • Жергиликтүү компоненттердин жашоо циклин башкаруу үчүн ишке ашырылган аспаптар.
  • Тутум сүрөттөрү бүтүндүгүн коргоо үчүн SBS (Signed Block Stream) жана CSL (Command Stream Loader) колдонууга айландырылды.
  • SPARK 2014 тилинде жазылган жана ATA интерфейсин колдогон дисктерди же жеке диск бөлүктөрүн компоненттерге туташтырууга мүмкүндүк берген текшерилген AHCI-DRV драйвери ишке ашырылды.
  • MirageOS жана Solo5 долбоорлорунан жакшыртылган unikernel колдоо.
  • Ada тилинин куралы GNAT Community 2021 чыгаруу үчүн жаңыртылган.
  • Үзгүлтүксүз интеграция системасы Bochs эмуляторунан QEMU/KVM уяланган чөйрөлөргө которулду.
  • Linux компонентинин сүрөттөрү Linux 5.4.66 ядросун колдонушат.

Source: opennet.ru

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