I-Bareflank 3.0 yokukhululwa kwe-hypervisor

I-Bareflank 3.0 hypervisor yakhululwa, ibonelela 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 wenze iinguqulelo zakho ze-hypervisors, zombini zisebenza phezulu kwe-hardware (njenge-Xen) kwaye zisebenza kwindawo ekhoyo yesofthiwe (njenge-VirtualBox). Kuyenzeka ukuqhuba inkqubo yokusebenza yendawo engqongileyo kumatshini wenyani owahlukileyo. Ikhowudi yeprojekthi ihanjiswa phantsi kwelayisensi ye-LGPL 2.1.

I-Bareflank ixhasa i-Linux, iWindows kunye ne-UEFI kwi-64-bit ye-Intel kunye ne-AMD CPU. Itekhnoloji ye-Intel VT-x isetyenziselwa ukwabelana ngehardware yezixhobo zoomatshini. Inkxaso yeenkqubo ze-macOS kunye ne-BSD zicwangciswe kwixesha elizayo, kunye nokukwazi ukusebenza kwiqonga le-ARM64. Ukongezelela, iprojekthi 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 esikhethekileyo (ukuphumla), kunye nethala leencwadi lexesha lokusebenza ukuxhasa ukusetyenziswa kwabakhi/ababhuqi kunye nokubhalisa abaphangi abahlukileyo.

Ngokusekelwe kwi-Bareflank, inkqubo ye-Boxy virtualization iyaphuhliswa, exhasa ukuqhuba iinkqubo zeendwendwe kwaye ivumela ukusetyenziswa koomatshini be-lightweight virtual kunye ne-Linux 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). I-Bareflank nayo isiseko se-MicroV hypervisor, eyenzelwe ukuqhuba oomatshini be-minimalistic (umatshini we-virtual yesicelo esisodwa), isebenzise i-KVM API kwaye ifanelekile ekudaleni iinkqubo ze-mission-critical systems.

Izinto ezintsha eziphambili zeBareflank 3.0:

  • Ukutshintshela ekusebenziseni ingqiqo ye-microkernel. Ngaphambili, i-hypervisor yayinokwakheka kwe-monolithic, apho, ukwandisa ukusebenza, kwakuyimfuneko ukusebenzisa i-API ekhethekileyo yokubhalisa iifowuni ze-callback, okwenza kube nzima ukuphuhlisa izandiso ngenxa yokubophelela kulwimi lweC ++ kunye nesakhiwo sangaphakathi. Ulwakhiwo olutsha olusekwe kwi-microkernel lubandakanya ukwahlula i-hypervisor ibe ngamacandelo e-kernel asebenza kwiringi ye-zero yokhuselo kunye nezandiso ezisebenza kwindandatho yesithathu (indawo yomsebenzisi). Omabini la macandelo asebenza kwimowudi yeengcambu zeVMX, nayo yonke enye into, kubandakanya nemeko yomkhosi, iqhuba ngeVMX engeyongcambu. Izandiso zesithuba somsebenzisi ziphumeza ukusebenza koMphathi weVirtual Machine (VMM) kunye nokusebenzisana ne-hypervisor core ngokusebenzisa iifowuni zenkqubo ezihambelana nomva. Izandiso zinokudalwa kulo naluphi na ulwimi lwenkqubo, kuquka iRust.
  • Utshintsho lwenziwe ekusetyenzisweni kwethala leencwadi lethu leBSL ngenkxaso yeRust kunye neC ++, ethathe indawo yamathala eencwadi angaphandle i-libc++ kunye ne-newlib. Ngokususa ukuxhomekeka kwangaphandle, i-Bareflank ibonelela ngenkxaso yokuhlanganiswa kweWindows yendalo ukwenza lula uphuhliso kwelo qonga.
  • Inkxaso eyongeziweyo yeeprosesa ze-AMD. Ngaphezu koko, uphuhliso lweBareflank ngoku luqhutywa kwinkqubo ene-AMD CPU kwaye emva koko ifakwe kwi-Intel CPU.
  • I-bootloader yongeze inkxaso kwi-architecture ye-ARMv8, ukulungiswa kwe-hypervisor eya kugqitywa kwelinye lokukhutshwa okulandelayo.
  • Ukuqinisekisa ukuthotyelwa kweemfuno zophuhliso lweenkqubo ezibalulekileyo eziqulunqwe yi-AUTOSAR kunye nemibutho ye-MISRA.

umthombo: opennet.ru

Yongeza izimvo