Өндөр найдвартай системийг бий болгоход зориулагдсан нээлттэй эхийн бичил цөм болох Muen 1.0 хувилбар

Найман жилийн турш хөгжүүлсний дараа Muen 1.0 төслийг гаргаж, Separation цөмийг боловсруулж, эх кодонд алдаа байхгүй нь албан ёсны найдвартай байдлыг баталгаажуулах математик аргуудыг ашиглан батлагдсан. Цөмийг x86_64 архитектурт ашиглах боломжтой бөгөөд найдвартай байдлын түвшинг дээшлүүлж, алдаа гарахгүй байх баталгааг шаарддаг чухал чухал системд ашиглах боломжтой. Төслийн эх код нь Ада хэл болон түүний шалгах боломжтой SPARK 2014 аялгаар бичигдсэн. Кодыг GPLv3 лицензийн дагуу түгээдэг.

Тусгаарлах цөм нь бие биенээсээ тусгаарлагдсан бүрэлдэхүүн хэсгүүдийг гүйцэтгэх орчинг бүрдүүлдэг микро цөм бөгөөд тэдгээрийн харилцан үйлчлэл нь өгөгдсөн дүрмээр хатуу зохицуулагддаг. Тусгаарлах нь Intel VT-x виртуалчлалын өргөтгөлүүдийг ашиглахад суурилдаг бөгөөд нууц харилцааны сувгуудын зохион байгуулалтыг хаах хамгаалалтын механизмуудыг агуулдаг. Хуваалтын цөм нь бусад бичил цөмийг бодвол илүү минималист, хөдөлгөөнгүй байдаг нь бүтэлгүйтэлд хүргэж болзошгүй нөхцөл байдлын тоог бууруулдаг.

Цөм нь гипервизортой төстэй VMX root горимд ажилладаг ба бусад бүх бүрэлдэхүүн хэсэг нь зочны системтэй адил VMX root бус горимд ажилладаг. Тоног төхөөрөмжид хандах хандалтыг Intel VT-d DMA өргөтгөлүүд болон тасалдлын дахин зураглалыг ашиглан хийдэг бөгөөд энэ нь PCI төхөөрөмжүүдийг Muen дор ажиллаж байгаа бүрэлдэхүүн хэсгүүдэд найдвартай холбох боломжийг олгодог.

Өндөр найдвартай системийг бий болгоход зориулагдсан нээлттэй эхийн бичил цөм болох Muen 1.0 хувилбар

Muen-ийн боломжууд нь олон цөмт систем, үүрлэсэн санах ойн хуудсууд (EPT, Өргөтгөсөн хуудасны хүснэгтүүд), MSI (Message Signaled Interrupts) болон санах ойн хуудасны шинж чанаруудын хүснэгтүүд (PAT, Page Attribute Table) зэрэг багтана. Muen нь мөн Intel VMX урьдчилан сэргийлэх таймер дээр суурилсан тогтмол тойргийн хуваарь, гүйцэтгэлд нөлөөлөхгүй авсаархан ажиллах хугацаа, эвдрэлийн аудитын систем, дүрэмд суурилсан статик нөөц хуваарилах механизм, үйл явдлыг зохицуулах систем, санах ойн хуваалцсан сувгуудаар хангадаг. ажиллаж байгаа бүрэлдэхүүн хэсгүүдийн доторх харилцаа холбоо.

Энэ нь 64 битийн машины код, 32 эсвэл 64 битийн виртуал машин, Ada болон SPARK 64 хэл дээрх 2014 битийн програмууд, Linux виртуал машинууд болон Muen-ийн дээд талд байрлах MirageOS дээр суурилсан бие даасан "unikernels" бүхий ажиллаж байгаа бүрэлдэхүүн хэсгүүдийг дэмждэг.

Muen 1.0 хувилбарыг гаргахад санал болгож буй гол шинэлэг зүйлүүд:

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

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх