Paglabas ng hypervisor ng Bareflank 3.0

Ang Bareflank 3.0 hypervisor ay inilabas, na nagbibigay ng mga tool para sa mabilis na pag-unlad ng mga dalubhasang hypervisor. Ang Bareflank ay nakasulat sa C++ at sumusuporta sa C++ STL. Ang modular na arkitektura ng Bareflank ay magbibigay-daan sa iyo na madaling mapalawak ang mga umiiral na kakayahan ng hypervisor at lumikha ng iyong sariling mga bersyon ng hypervisors, parehong tumatakbo sa ibabaw ng hardware (tulad ng Xen) at tumatakbo sa isang umiiral na kapaligiran ng software (tulad ng VirtualBox). Posibleng patakbuhin ang operating system ng host environment sa isang hiwalay na virtual machine. Ang code ng proyekto ay ipinamahagi sa ilalim ng lisensya ng LGPL 2.1.

Sinusuportahan ng Bareflank ang Linux, Windows at UEFI sa 64-bit na Intel at AMD na mga CPU. Ang teknolohiya ng Intel VT-x ay ginagamit para sa pagbabahagi ng hardware ng mga mapagkukunan ng virtual machine. Ang suporta para sa macOS at BSD system ay pinlano para sa hinaharap, pati na rin ang kakayahang magtrabaho sa ARM64 platform. Bukod pa rito, ang proyekto ay gumagawa ng sarili nitong driver para sa pag-load ng VMM (Virtual Machine Manager), isang ELF loader para sa paglo-load ng mga VVM module, at isang bfm application para sa pagkontrol sa hypervisor mula sa user space. Nagbibigay ito ng mga tool para sa pagsusulat ng mga extension gamit ang mga elementong tinukoy sa mga detalye ng C++11/14, isang library para sa pag-unwinding ng exception stack (unwind), pati na rin ng sarili nitong runtime library upang suportahan ang paggamit ng mga constructor/destructors at pagrehistro ng mga exception handler.

Batay sa Bareflank, ang Boxy virtualization system ay binuo, na sumusuporta sa pagpapatakbo ng mga guest system at nagbibigay-daan sa paggamit ng magaan na virtual machine na may Linux at Unikernel na magpatakbo ng mga espesyal na serbisyo o application. Sa anyo ng mga nakahiwalay na serbisyo, maaari mong patakbuhin ang parehong mga regular na serbisyo sa web at mga application na may mga espesyal na kinakailangan para sa pagiging maaasahan at seguridad, na libre mula sa impluwensya ng host environment (ang host environment ay nakahiwalay sa isang hiwalay na virtual machine). Bareflank din ang batayan ng MicroV hypervisor, na idinisenyo upang magpatakbo ng mga minimalistic na virtual machine (single application virtual machine), nagpapatupad ng KVM API at angkop para sa paglikha ng mga mission-critical system.

Ang mga pangunahing inobasyon ng Bareflank 3.0:

  • Ang paglipat sa paggamit ng konsepto ng microkernel. Noong nakaraan, ang hypervisor ay may monolithic na arkitektura, kung saan, upang mapalawak ang pag-andar, kinakailangan na gumamit ng isang espesyal na API para sa pagrehistro ng mga callback na tawag, na nagpahirap sa pagbuo ng mga extension dahil sa pagbubuklod sa C++ na wika at panloob na istraktura. Ang bagong arkitektura na nakabatay sa microkernel ay nagsasangkot ng paghahati sa hypervisor sa mga bahagi ng kernel na tumatakbo sa ring zero ng proteksyon at mga extension na tumatakbo sa ring three (user space). Ang parehong bahagi ay tumatakbo sa VMX root mode, at lahat ng iba pa, kasama ang host environment, ay tumatakbo sa VMX non-root mode. Ang mga extension ng espasyo ng user ay nagpapatupad ng functionality ng Virtual Machine Manager (VMM) at nakikipag-ugnayan sa hypervisor core sa pamamagitan ng mga system call na backward compatible. Maaaring gumawa ng mga extension sa anumang programming language, kabilang ang Rust.
  • Ang isang paglipat ay ginawa sa paggamit ng aming sariling BSL library na may suporta para sa Rust at C++, na pinalitan ang mga panlabas na aklatan libc++ at newlib. Sa pamamagitan ng pag-aalis ng mga panlabas na dependency, ang Bareflank ay nagbibigay ng katutubong suporta sa compilation ng Windows upang pasimplehin ang pag-unlad sa platform na iyon.
  • Nagdagdag ng suporta para sa mga processor ng AMD. Bukod dito, ang pag-unlad ng Bareflank ay isinasagawa na ngayon sa isang sistema na may AMD CPU at pagkatapos ay naka-port sa isang Intel CPU.
  • Nagdagdag ang bootloader ng suporta para sa arkitektura ng ARMv8, adaptasyon ng hypervisor kung saan makukumpleto sa isa sa mga susunod na release.
  • Tinitiyak ang pagsunod sa mga kinakailangan para sa pagbuo ng mga kritikal na sistema na binuo ng mga organisasyon ng AUTOSAR at MISRA.

Pinagmulan: opennet.ru

Magdagdag ng komento