Rhyddhau Muen 1.0, microkernel ffynhonnell agored ar gyfer adeiladu systemau dibynadwy iawn

Ar ôl wyth mlynedd o ddatblygiad, rhyddhawyd prosiect Muen 1.0, gan ddatblygu'r cnewyllyn Gwahanu, a chadarnhawyd absenoldeb gwallau yn y cod ffynhonnell gan ddefnyddio dulliau mathemategol o ddilysu dibynadwyedd ffurfiol. Mae'r cnewyllyn ar gael ar gyfer pensaernïaeth x86_64 a gellir ei ddefnyddio mewn systemau sy'n hanfodol i genhadaeth sy'n gofyn am lefel uwch o ddibynadwyedd a gwarant o ddim methiannau. Mae cod ffynhonnell y prosiect wedi'i ysgrifennu yn yr iaith Ada a'i thafodiaith wiriadwy SPARK 2014. Mae'r cod yn cael ei ddosbarthu o dan y drwydded GPLv3.

Microkernel yw'r cnewyllyn gwahanu sy'n darparu amgylchedd ar gyfer gweithredu cydrannau sydd wedi'u hynysu oddi wrth ei gilydd, y mae eu rhyngweithiad yn cael ei reoleiddio'n llym gan reolau penodol. Mae ynysu yn seiliedig ar ddefnyddio estyniadau rhithwiroli Intel VT-x ac mae'n cynnwys mecanweithiau diogelwch i rwystro trefniadaeth sianeli cyfathrebu cudd. Mae'r cnewyllyn rhaniad yn fwy minimalaidd a statig na micrognenau eraill, sy'n lleihau nifer y sefyllfaoedd a all achosi methiant.

Mae'r cnewyllyn yn rhedeg yn y modd gwraidd VMX, yn debyg i hypervisor, ac mae'r holl gydrannau eraill yn rhedeg yn y modd VMX nad ydynt yn gwraidd, yn debyg i systemau gwestai. Gwneir mynediad i'r offer gan ddefnyddio estyniadau Intel VT-d DMA ac ailfapio ymyrraeth, sy'n ei gwneud hi'n bosibl gweithredu rhwymiad diogel dyfeisiau PCI i gydrannau sy'n rhedeg o dan Muen.

Rhyddhau Muen 1.0, microkernel ffynhonnell agored ar gyfer adeiladu systemau dibynadwy iawn

Mae galluoedd Muen yn cynnwys cefnogaeth ar gyfer systemau aml-graidd, tudalennau cof nythu (EPT, Tablau Tudalen Estynedig), MSI (Ymyriadau ar Arwyddion Neges), a thablau priodoledd tudalennau cof (PAT, Page 2010 Tabl Priodoleddau). Mae Muen hefyd yn darparu amserlennydd rownd-robin sefydlog yn seiliedig ar yr amserydd rhagataliol Intel VMX, amser rhedeg cryno nad yw'n effeithio ar berfformiad, system archwilio damweiniau, peiriant aseinio adnoddau sefydlog yn seiliedig ar reolau, system trin digwyddiadau, a sianeli cof a rennir ar gyfer cyfathrebu o fewn cydrannau rhedeg.

Mae'n cefnogi rhedeg cydrannau gyda chod peiriant 64-bit, peiriannau rhithwir 32- neu 64-did, cymwysiadau 64-bit yn ieithoedd Ada a SPARK 2014, peiriannau rhithwir Linux a “unikernels” hunangynhwysol yn seiliedig ar MirageOS ar ben Muen.

Y prif arloesiadau a gynigir wrth ryddhau Muen 1.0:

  • Mae dogfennau wedi'u cyhoeddi gyda manylebau ar gyfer y cnewyllyn (dyfais a phensaernïaeth), system (polisïau system, Tau0 a phecyn cymorth) a chydrannau, sy'n dogfennu pob agwedd ar y prosiect.
  • Mae pecyn cymorth Tau0 (Muen System Composer) wedi'i ychwanegu, sy'n cynnwys set o gydrannau parod wedi'u gwirio ar gyfer cyfansoddi delweddau system a datblygu gwasanaethau safonol sy'n rhedeg ar ben Muen. Mae'r cydrannau a ddarperir yn cynnwys gyrrwr AHCI (SATA), Rheolwr Dyfais (DM), cychwynnydd, rheolwr system, terfynell rithwir, ac ati.
  • Mae'r gyrrwr Linux muenblock (gweithredu dyfais bloc sy'n rhedeg ar ben y cof a rennir Muen) wedi'i drawsnewid i ddefnyddio'r API blockdev 2.0.
  • Gweithredu offer ar gyfer rheoli cylch bywyd cydrannau brodorol.
  • Mae delweddau system wedi'u trosi i ddefnyddio SBS (Signed Block Stream) a CSL (Command Stream Loader) i amddiffyn cyfanrwydd.
  • Mae gyrrwr AHCI-DRV wedi'i ddilysu wedi'i weithredu, wedi'i ysgrifennu yn iaith SPARK 2014 ac sy'n eich galluogi i gysylltu gyriannau sy'n cefnogi'r rhyngwyneb ATA neu raniadau disg unigol i'r cydrannau.
  • Gwell cefnogaeth unikernel gan brosiectau MirageOS a Solo5.
  • Mae pecyn cymorth iaith Ada wedi'i ddiweddaru ar gyfer datganiad Cymuned GNAT 2021.
  • Mae'r system integreiddio barhaus wedi'i throsglwyddo o efelychydd Bochs i amgylcheddau nythu QEMU/KVM.
  • Mae delweddau cydran Linux yn defnyddio'r cnewyllyn Linux 5.4.66.

Ffynhonnell: opennet.ru

Ychwanegu sylw