Muen 1.0, yuqori ishonchli tizimlarni yaratish uchun ochiq manba mikroyadrosining chiqarilishi

Sakkiz yillik rivojlanishdan so'ng Muen 1.0 loyihasi chiqarildi, Ajratish yadrosini ishlab chiqdi, uning manba kodida xatolar yo'qligi rasmiy ishonchlilikni tekshirishning matematik usullari yordamida tasdiqlangan. Yadro x86_64 arxitekturasi uchun mavjud va yuqori darajadagi ishonchlilik va nosozliklar kafolatini talab qiladigan muhim tizimlarda foydalanish mumkin. Loyihaning manba kodi Ada tilida va uning tekshiriladigan SPARK 2014 dialektida yozilgan. Kod GPLv3 litsenziyasi ostida tarqatiladi.

Ajratish yadrosi bir-biridan ajratilgan komponentlarning bajarilishi uchun muhitni ta'minlovchi mikroyadro bo'lib, ularning o'zaro ta'siri berilgan qoidalar bilan qat'iy tartibga solinadi. Izolyatsiya Intel VT-x virtualizatsiya kengaytmalaridan foydalanishga asoslangan va maxfiy aloqa kanallarini tashkil qilishni blokirovka qilish uchun xavfsizlik mexanizmlarini o'z ichiga oladi. Bo'lim yadrosi boshqa mikroyadrolarga qaraganda minimalistik va statikdir, bu esa muvaffaqiyatsizlikka olib kelishi mumkin bo'lgan holatlar sonini kamaytiradi.

Yadro gipervisorga o'xshash VMX ildiz rejimida ishlaydi va boshqa barcha komponentlar mehmon tizimlariga o'xshash VMX ildiz bo'lmagan rejimda ishlaydi. Uskunaga kirish Intel VT-d DMA kengaytmalari va uzilishlarni qayta ko'rib chiqish yordamida amalga oshiriladi, bu esa PCI qurilmalarini Muen ostida ishlaydigan komponentlarga xavfsiz bog'lashni amalga oshirish imkonini beradi.

Muen 1.0, yuqori ishonchli tizimlarni yaratish uchun ochiq manba mikroyadrosining chiqarilishi

Muenning imkoniyatlari ko'p yadroli tizimlarni, ichki xotira sahifalarini (EPT, kengaytirilgan sahifa jadvallari), MSI (xabar signalli uzilishlar) va xotira sahifasi atribut jadvallarini (PAT, sahifa atributlari jadvali) qo'llab-quvvatlashni o'z ichiga oladi. Muen, shuningdek, Intel VMX preemptive taymeriga asoslangan qat'iy aylanma robin rejalashtiruvchisini, unumdorlikka ta'sir qilmaydigan ixcham ish vaqti, avariyalarni tekshirish tizimi, qoidaga asoslangan statik manbalarni belgilash mexanizmi, hodisalarni boshqarish tizimi va umumiy xotira kanallarini taqdim etadi. ishlaydigan komponentlar ichidagi aloqa.

U 64-bitli mashina kodi, 32- yoki 64-bitli virtual mashinalar, Ada va SPARK 64 tillarida 2014-bitli ilovalar, Linux virtual mashinalari va Muen tepasida joylashgan MirageOS-ga asoslangan mustaqil β€œunikernellar” bilan ishlaydigan komponentlarni qoΚ»llab-quvvatlaydi.

Muen 1.0 versiyasini chiqarishda taklif qilingan asosiy yangiliklar:

  • Hujjatlar yadro (qurilma va arxitektura), tizim (tizim siyosati, Tau0 va asboblar to'plami) va komponentlar uchun spetsifikatsiyalar bilan nashr etilgan, ular loyihaning barcha jihatlarini hujjatlashtiradi.
  • Tau0 (Muen System Composer) asboblar to'plami qo'shildi, u tizim tasvirlarini yaratish va Muen tepasida ishlaydigan standart xizmatlarni ishlab chiqish uchun tayyor tasdiqlangan komponentlar to'plamini o'z ichiga oladi. Taqdim etilgan komponentlarga AHCI (SATA) drayveri, Device Manager (DM), yuklash yuklagichi, tizim menejeri, virtual terminal va boshqalar kiradi.
  • Muenblock Linux drayveri (Muen umumiy xotirasi ustida ishlaydigan blokli qurilmaning ilovasi) blockdev 2.0 API-dan foydalanishga aylantirildi.
  • Mahalliy komponentlarning hayot aylanishini boshqarish vositalari joriy etildi.
  • Tizim tasvirlari butunlikni himoya qilish uchun SBS (Signed Block Stream) va CSL (Command Stream Loader) dan foydalanishga aylantirildi.
  • SPARK 2014 tilida yozilgan va ATA interfeysini yoki alohida disk bo'limlarini qo'llab-quvvatlaydigan drayverlarni komponentlarga ulash imkonini beruvchi tasdiqlangan AHCI-DRV drayveri joriy etildi.
  • MirageOS va Solo5 loyihalari tomonidan takomillashtirilgan unikernel yordami.
  • Ada tili asboblar to'plami GNAT Community 2021 versiyasi uchun yangilandi.
  • Uzluksiz integratsiya tizimi Bochs emulyatoridan QEMU/KVM o'rnatilgan muhitlarga o'tkazildi.
  • Linux komponentlari tasvirlari Linux 5.4.66 yadrosidan foydalanadi.

Manba: opennet.ru

a Izoh qo'shish