I-Bareflank 2.0 yokukhululwa kwe-hypervisor

yathatha indawo ukukhululwa kwe-hypervisor I-Bareflank 2.0, ebonelela ngezixhobo zokuphuhliswa ngokukhawuleza kwee-hypervisors ezikhethekileyo. I-Bareflank ibhalwe kwi-C ++ kwaye ixhasa i-C ++ STL. I-architecture ye-modular ye-Bareflank iya kukuvumela ukuba ukwandise ngokulula ubuchule obukhoyo be-hypervisor kwaye udale iinguqulelo zakho ze-hypervisors, zombini zisebenza phezulu kwe-hardware (njenge-Xen) kunye nokusebenza kwimeko ekhoyo yesofthiwe (njenge-VirtualBox). Kuyenzeka ukuqhuba inkqubo yokusebenza yendawo engqongileyo kumatshini wenyani owahlukileyo. Ikhowudi yeprojekthi isasazwa ngu inikwe ilayisenisi phantsi kwe-LGPL 2.1.

I-Bareflank ixhasa i-Linux, iWindows kunye ne-UEFI kwi-64-bit Intel CPUs. Itekhnoloji ye-Intel VT-x isetyenziselwa ukwabelana ngehardware yezixhobo zoomatshini. Inkxaso yeenkqubo ze-macOS kunye ne-BSD zicwangciselwe ixesha elizayo, kunye nokukwazi ukusebenza kumaqonga e-ARM64 kunye ne-AMD. Ukongezelela, le projekthi iphuhlisa umqhubi wayo wokulayisha i-VMM (uMphathi we-Virtual Machine), umlayishi we-ELF wokulayisha iimodyuli ze-VVM, kunye nesicelo se-bfm sokulawula i-hypervisor kwindawo yomsebenzisi. Ibonelela ngezixhobo zokubhala izandiso kusetyenziswa izinto ezichazwe kwiinkcukacha ze-C++11/14, ithala leencwadi lokukhulula isitakhi sangaphandle (ukuphumla), kunye nethala leencwadi lexesha lokusebenza ukuxhasa ukusetyenziswa kwabakhi/ababhuqi kunye nokubhalisa abaphangi abahlukileyo.

Inkqubo ye-virtualization iyaphuhliswa ngokusekelwe kwi-Bareflank UBoxy, exhasa ukuqhuba iinkqubo zeendwendwe kwaye ivumela ukusetyenziswa koomatshini benyani abakhaphukhaphu kunye neLinux kunye ne-Unikernel ukuqhuba iinkonzo ezikhethekileyo okanye izicelo. Ngendlela yeenkonzo ezizimeleyo, unokuqhuba zombini iinkonzo zewebhu eziqhelekileyo kunye nezicelo ezineemfuno ezikhethekileyo zokuthembeka kunye nokhuseleko, ngaphandle kwempembelelo yendawo yokusingatha (indawo yokusingatha ibekwe yedwa kumatshini ohlukileyo).

Izinto ezintsha eziphambili zeBareflank 2.0:

  • Inkxaso eyongeziweyo yokuqalisa i-Bareflank ngokuthe ngqo kwi-UEFI ukwenzela ukuphunyezwa kwenkqubo yokusebenza kumatshini obonakalayo;
  • Umphathi omtsha wememori uphunyeziwe, uyilwe ngokufanayo nabaphathi bememori ye-SLAB/Buddy kwiLinux. Umphathi omtsha wememori ubonisa ulwahlulo oluncitshisiweyo, luvumela ukusebenza okuphezulu kunye nokuxhasa ukwabiwa kwememori eguquguqukayo kwi-hypervisor ngokusebenzisa bfdriver, ekuvumela ukuba unciphise ubungakanani bokuqala be-hypervisor kunye nokulinganisa ngokufanelekileyo ngokuxhomekeke kwinani le-CPU cores;
  • Inkqubo entsha yokwakha esekelwe kwi-CMake, ezimeleyo kwitoliki yomyalelo, ivumela ukukhawuleza okubonakalayo kokuhlanganiswa kwe-hypervisor kunye nokwenza lula ukuxhaswa kwexesha elizayo kwizakhiwo ezongezelelweyo, ezifana ne-ARM;
  • Ikhowudi iye yahlengahlengiswa kwaye ubume bemibhalo yomthombo yenziwe lula. Inkxaso ephuculweyo yeeprojekthi ezinxulumeneyo ezifana ne-hyperkernel ngaphandle kwesidingo sokuphindaphinda ikhowudi. Ikhowudi eyahlulwe ngokucace ngakumbi i-hypervisor, ilayibrari yokukhulula, ixesha lokuqhuba, izixhobo zokulawula, i-bootloader kunye ne-SDK;
  • Uninzi lwe-API, endaweni yeendlela zelifa ezisetyenzisiweyo ngaphambili kwi-C ++, itshintshelwe ekusebenziseni abathunywa, eyenza lula i-API, ukwandisa ukusebenza kunye nokunciphisa ukusetyenziswa kwezixhobo.

umthombo: opennet.ru

Yongeza izimvo