Hoʻokuʻu hypervisor ʻo Bareflank 3.0

Ua hoʻokuʻu ʻia ka Bareflank 3.0 hypervisor, e hāʻawi ana i kahi hāmeʻa no ka hoʻomohala wikiwiki ʻana o nā hypervisors kūikawā. Ua kākau ʻia ʻo Bareflank ma C++ a kākoʻo iā C++ STL. ʻO ka hoʻolālā modular o Bareflank e maʻalahi i ka hoʻonui ʻana i nā mana hypervisor i kēia manawa a hana i kāu mau koho hypervisor ponoʻī, e holo ana ma luna o ka lako polokalamu (e like me Xen) a me ka holo ʻana i kahi polokalamu polokalamu e kū nei (e like me VirtualBox). Hiki ke holo i ka ʻōnaehana hana o ke kaiapuni hoʻokipa ma kahi mīkini virtual kaʻawale. Hāʻawi ʻia ke code papahana ma lalo o ka laikini LGPL 2.1.

Hāʻawi ʻo Bareflank i ke kākoʻo no Linux, Windows, a me UEFI ma 64-bit Intel a me AMD CPUs. Hoʻohana ʻia ka ʻenehana Intel VT-x no ka hoʻokaʻawale ʻana i nā lako o nā kumuwaiwai mīkini virtual. Hoʻolālā ʻia ke kākoʻo no nā ʻōnaehana macOS a me BSD no ka wā e hiki mai ana, a me ka hiki ke hana ma ka platform ARM64. Hoʻohui hou, hoʻomohala ka papahana i kāna mea hoʻokele ponoʻī no ka hoʻouka ʻana i ka VMM (Virtual Machine Manager), kahi ELF loader no ka hoʻouka ʻana i nā modula VVM, a me kahi noi bfm no ka hoʻomalu ʻana i ka hypervisor mai kahi mea hoʻohana. Hāʻawi ʻia kahi pahu hana no ke kākau ʻana i nā mea hoʻonui me ka hoʻohana ʻana i nā mea i wehewehe ʻia ma nā kikoʻī C ++ 11/14, kahi waihona waihona hoʻokaʻawale ʻokoʻa (unwind), a me kāna waihona runtime ponoʻī e kākoʻo i ka hoʻohana ʻana i nā mea kūkulu / mea luku a me ka hoʻopaʻa inoa ʻana o nā mea lawelawe ʻokoʻa.

Ma ke kumu o Bareflank, ke hoʻomaka nei ka hoʻomohala ʻana o ka ʻōnaehana virtualization Boxy, e kākoʻo ana i ka hoʻomaka ʻana o nā ʻōnaehana malihini a hiki i ka hoʻohana ʻana i nā mīkini uila māmā me Linux a me Unikernel e holo i nā lawelawe kūikawā a i ʻole nā ​​​​pono. Ma keʻano o nā lawelawe kaʻawale, hiki iāʻoe ke holo i nā lawelawe pūnaewele maʻamau a me nā noi i loaʻa nā koi kūikawā no ka hilinaʻi a me ka palekana, me kaʻole o ka mana o ka puni hoʻokipa (ua hoʻokaʻawaleʻia ka'āina hoʻokipa i kahi mīkini virtual kaʻawale). Aia ʻo Bareflank ma ka puʻuwai o ka MicroV hypervisor, i hoʻolālā ʻia e holo i nā mīkini virtual minimalistic (mekini virtual noi hoʻokahi) e hoʻokō ana i ka KVM API a kūpono no ke kūkulu ʻana i nā ʻōnaehana koʻikoʻi.

ʻO nā hana hou o Bareflank 3.0:

  • Ke hoʻololi i ka hoʻohana ʻana i ka manaʻo microkernel. Ma mua, ua loaʻa i ka hypervisor kahi hoʻolālā monolithic, kahi, i mea e hoʻonui ai i ka hana, pono e hoʻohana i kahi API kūikawā no ka hoʻopaʻa inoa ʻana i nā kelepona hoʻihoʻi, kahi i paʻakikī ai ka hoʻomohala ʻana i nā mea hoʻonui ma muli o ka nakinaki ʻana i ka ʻōlelo C ++ a me nā internals. . Hoʻokaʻawale ka hale hana microkernel hou i ka hypervisor i loko o nā ʻāpana kernel e holo ana ma ke apo zero o ka pale a me nā hoʻonui e holo ana ma ke apo ʻekolu (space user). Holo nā ʻāpana ʻelua i ke ʻano kumu aʻa VMX, a me nā mea ʻē aʻe a pau, me ka hoʻokipa hoʻokipa, i ka mode VMX non-root. Hoʻokomo ka hoʻonui ʻana o ka mea hoʻohana i ka Virtual Machine Manager (VMM) a me ka launa pū ʻana me ka kernel hypervisor ma o nā kelepona ʻōnaehana kūpono i hope. Hiki ke hana ʻia nā hoʻonui ma kekahi ʻōlelo papahana, me ka hoʻohana ʻana i ka ʻōlelo Rust.
  • Ua hoʻololi mākou i ka hoʻohana ʻana i kā mākou waihona BSL ponoʻī me ke kākoʻo no Rust a me C++, kahi i pani ai i nā hale waihona puke waho libc++ a me newlib. ʻO ka wehe ʻana i nā hilinaʻi waho i ʻae ʻia ʻo Bareflank e hoʻokō i ke kākoʻo hoʻohui Windows maoli e hoʻomaʻamaʻa i ka hoʻomohala ʻana ma kēia kahua.
  • Hoʻohui i ke kākoʻo no nā mea hana AMD. Eia kekahi, ke hana ʻia nei ka hoʻomohala ʻana o Bareflank ma kahi ʻōnaehana me kahi CPU AMD a laila lawe ʻia i kahi CPU Intel.
  • Ua hoʻohui ʻia ke kākoʻo no ka hoʻolālā ARMv8 i ka bootloader, kahi e hoʻopau ʻia ai ka hoʻoponopono hypervisor i kekahi o nā hoʻokuʻu e hiki mai ana.
  • Ka hoʻokō ʻana i nā pono hoʻomohala ʻōnaehana koʻikoʻi o ka AUTOSAR a me MISRA.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka