Bareflank 3.0 hypervisor хувилбар

Bareflank 3.0 гипервизорыг гаргасан нь тусгай гипервизоруудыг хурдацтай хөгжүүлэх хэрэгслээр хангагдсан. Bareflank нь C++ хэл дээр бичигдсэн бөгөөд C++ STL хэлийг дэмждэг. Bareflank-ийн модульчлагдсан архитектур нь танд гипервизорын одоо байгаа чадавхийг хялбархан өргөжүүлж, техник хангамж дээр (Xen гэх мэт) болон одоо байгаа програм хангамжийн орчинд (VirtualBox гэх мэт) ажиллаж байгаа гипервизоруудын өөрийн хувилбаруудыг бий болгох боломжийг олгоно. Хост орчны үйлдлийн системийг тусдаа виртуал машинд ажиллуулах боломжтой. Төслийн кодыг LGPL 2.1 лицензийн дагуу түгээдэг.

Bareflank нь 64 битийн Intel болон AMD CPU дээр Linux, Windows болон UEFI-г дэмждэг. Intel VT-x технологийг виртуал машины нөөцийн техник хангамжийг хуваалцахад ашигладаг. Ирээдүйд macOS болон BSD системийг дэмжих, мөн ARM64 платформ дээр ажиллах боломжтой байхаар төлөвлөж байна. Нэмж дурдахад төсөл нь VMM (Virtual Machine Manager) ачаалах өөрийн драйвер, VVM модулийг ачаалах ELF дуудагч, хэрэглэгчийн орон зайгаас гипервизорыг удирдах bfm программыг хөгжүүлж байна. Энэ нь C++ 11/14-ийн техникийн үзүүлэлтүүдэд тодорхойлсон элементүүдийг ашиглан өргөтгөл бичих хэрэгсэл, онцгой байдлын стекийг задлах номын сан (тайлах), мөн бүтээгч/устгагч ашиглах, онцгой тохиолдлын зохицуулагчийг бүртгэх өөрийн ажиллах цагийн номын сангаар хангадаг.

Bareflank дээр суурилсан Boxy виртуалчлалын системийг хөгжүүлж байгаа бөгөөд энэ нь зочны системийг дэмждэг бөгөөд тусгай үйлчилгээ эсвэл програмуудыг ажиллуулахын тулд Linux болон Unikernel-тэй хөнгөн виртуал машинуудыг ашиглах боломжийг олгодог. Тусгаарлагдсан үйлчилгээний хэлбэрээр та ердийн вэб үйлчилгээ болон найдвартай байдал, аюулгүй байдлын тусгай шаардлага бүхий програмуудыг хоёуланг нь ажиллуулж болно, хост орчны нөлөөллөөс ангид (хостын орчин нь тусдаа виртуал машинд тусгаарлагдсан). Bareflank нь мөн Минималист виртуал машинуудыг (нэг хэрэглээний виртуал машин) ажиллуулах зориулалттай MicroV hypervisor-ийн үндэс суурь бөгөөд KVM API-г хэрэгжүүлдэг бөгөөд чухал ач холбогдолтой системийг бий болгоход тохиромжтой.

Bareflank 3.0-ийн гол шинэчлэлүүд:

  • Микро цөмийн ойлголтыг ашиглахад шилжих. Өмнө нь гипервизор нь цул архитектуртай байсан бөгөөд функцийг өргөжүүлэхийн тулд буцааж дуудлагыг бүртгэх тусгай API ашиглах шаардлагатай байсан бөгөөд энэ нь C++ хэл болон дотоод бүтэцтэй холбогдсон тул өргөтгөлүүдийг боловсруулахад хүндрэл учруулж байв. Микро цөмд суурилсан шинэ архитектур нь гипервизорыг хамгаалалтын тэг цагираг дээр ажилладаг цөмийн бүрэлдэхүүн хэсгүүд болон гурав дахь цагираг (хэрэглэгчийн орон зай) дээр ажилладаг өргөтгөлүүдэд хуваах явдал юм. Хоёр хэсэг хоёулаа VMX root горимд ажилладаг бөгөөд бусад бүх зүйл, түүний дотор хостын орчин нь VMX root бус горимд ажилладаг. Хэрэглэгчийн орон зайн өргөтгөлүүд нь Виртуал Машины Менежерийн (VMM) функцийг хэрэгжүүлдэг бөгөөд буцаад нийцтэй системийн дуудлагаар дамжуулан гипервизорын цөмтэй харилцдаг. Өргөтгөлүүдийг Rust гэх мэт ямар ч програмчлалын хэл дээр үүсгэж болно.
  • libc++ болон newlib гадаад номын санг орлуулсан Rust болон C++-ийн дэмжлэгтэйгээр манай BSL номын санг ашиглахад шилжилт хийсэн. Гадны хамаарлыг арилгаснаар Bareflank нь тухайн платформ дээрх хөгжлийг хялбаршуулахын тулд Windows-ийн уугуул эмхэтгэлд дэмжлэг үзүүлдэг.
  • AMD процессоруудад зориулсан дэмжлэг нэмэгдсэн. Түүгээр ч зогсохгүй Bareflank хөгжүүлэлт нь одоо AMD CPU-тэй систем дээр хийгдэж, зөвхөн дараа нь Intel CPU-д шилжүүлэгддэг.
  • Ачаалагч нь ARMv8 архитектурын дэмжлэгийг нэмсэн бөгөөд гипервизорын дасан зохицох ажлыг дараагийн хувилбаруудын аль нэгэнд хийж дуусгах болно.
  • AUTOSAR болон MISRA байгууллагуудын боловсруулсан чухал системийг боловсруулахад тавигдах шаардлагуудын хэрэгжилтийг хангасан.

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

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