Bareflank 3.0 гипервизорыг гаргасан нь тусгай гипервизоруудыг хурдацтай хөгжүүлэх хэрэгслээр хангагдсан. Bareflank нь C++ хэл дээр бичигдсэн бөгөөд C++ STL хэлийг дэмждэг. Bareflank-ийн модульчлагдсан архитектур нь танд гипервизорын одоо байгаа чадавхийг хялбархан өргөжүүлж, техник хангамж дээр (Xen гэх мэт) болон одоо байгаа програм хангамжийн орчинд (VirtualBox гэх мэт) ажиллаж байгаа гипервизоруудын өөрийн хувилбаруудыг бий болгох боломжийг олгоно. Хост орчны үйлдлийн системийг тусдаа виртуал машинд ажиллуулах боломжтой. Төслийн кодыг LGPL 2.1 лицензийн дагуу түгээдэг.
Bareflank одоо дэмжиж байна Linux, Windows болон 64 битийн Intel болон AMD CPU дээр UEFI. Тоног төхөөрөмжийн нөөцийг хуваалцах зориулалттай виртуал машинууд Intel VT-x технологийг ашиглаж байна. Цаашид дэмжлэг үзүүлэхээр төлөвлөж байна. macOS болон BSD системүүд, мөн ARM64 платформ дээр ажиллах чадвартай. Төсөл нь мөн VMM (Virtual Machine Manager)-ийг ачаалах өөрийн драйвер, VVM модулиудыг ачаалах ELF ачаалагч, мөн хэрэглэгчийн орон зайнаас гипервизорыг удирдах bfm програмыг боловсруулдаг. Мөн C++11/14 тодорхойлолтод тодорхойлсон элементүүдийг ашиглан өргөтгөл бичих хэрэгслүүд, онцгой тохиолдлын стекийг задлах номын сан (unwind), мөн конструктор/деструкторын хэрэглээ болон онцгой тохиолдлын боловсруулагчийн бүртгэлийг дэмжих өөрийн ажиллах хугацааны номын санг хангадаг.
Bareflank дээр үндэслэн Boxy виртуалчлалын системийг боловсруулж байгаа бөгөөд энэ нь зочин системийг эхлүүлэхийг дэмжиж, хөнгөн виртуал машинуудыг ашиглах боломжийг олгодог Linux болон тусгай үйлчилгээ эсвэл програмуудыг ажиллуулахад зориулсан Unikernel. Ердийн вэб үйлчилгээ болон тусгай найдвартай байдал, аюулгүй байдлын шаардлага бүхий програмуудыг хоёуланг нь хост орчны нөлөөллөөс ангид тусгаарлагдсан үйлчилгээ болгон гүйцэтгэж болно (хост орчин нь тусдаа виртуал машинд тусгаарлагдсан). Bareflank нь мөн минималист виртуал машинуудыг ажиллуулахад зориулагдсан MicroV гипервизорын суурь болдог (виртуал машин ганц програм) нь 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
