Ukukhishwa kwe-Bareflank 2.0 hypervisor

kwenzeka ukukhululwa kwe-hypervisor I-Bareflank 2.0, ehlinzeka ngamathuluzi okuthuthukiswa okusheshayo kwama-hypervisors akhethekile. I-Bareflank ibhalwe nge-C++ futhi isekela i-C++ STL. I-architecture ye-modular ye-Bareflank izokuvumela ukuthi unwebe kalula amakhono akhona e-hypervisor futhi udale izinguqulo zakho ze-hypervisors, zombili zisebenza phezulu kwehadiwe (njenge-Xen) futhi zisebenza endaweni yesofthiwe ekhona (njenge-VirtualBox). Kungenzeka ukusebenzisa isistimu yokusebenza yendawo yokusingatha emshinini ohlukile we-virtual. Ikhodi yephrojekthi isatshalaliswa ngu ilayisensi ngaphansi kwe-LGPL 2.1.

I-Bareflank isekela i-Linux, iWindows ne-UEFI kuma-Intel CPU angu-64-bit. Ubuchwepheshe be-Intel VT-x busetshenziselwa ukwabelana ngehadiwe kwezinsiza zomshini obonakalayo. Ukusekelwa kwezinhlelo ze-macOS ne-BSD kuhlelelwe ikusasa, kanye nekhono lokusebenza kumapulatifomu e-ARM64 kanye ne-AMD. Ukwengeza, iphrojekthi ithuthukisa umshayeli wayo wokulayisha i-VMM (I-Virtual Machine Manager), isilayishi se-ELF sokulayisha amamojula e-VVM, kanye nesicelo se-bfm sokulawula i-hypervisor endaweni yomsebenzisi. Ihlinzeka ngamathuluzi okubhala izandiso kusetshenziswa izici ezichazwe kuzicaciso ze-C++11/14, umtapo wolwazi wokukhulula isitaki esikhethekile (ukuphumula), kanye nomtapo wezincwadi wesikhathi sokuqalisa wokusebenza ukuze usekele ukusetshenziswa kwabakhi/ababhubhisi nokubhalisa izibambi ezihlukile.

Isistimu ye-virtualization iyathuthukiswa ngokususelwa ku-Bareflank UBoxy, esekela ukusebenzisa amasistimu ezivakashi futhi evumela ukusetshenziswa kwemishini ebonakalayo engasindi ene-Linux ne-Unikernel ukuze iqhube amasevisi noma izinhlelo zokusebenza ezikhethekile. Ngendlela yezinsizakalo ezihlukanisiwe, ungasebenzisa zombili izinsizakalo zewebhu ezijwayelekile kanye nezinhlelo zokusebenza ezinezidingo ezikhethekile zokuthembeka nokuphepha, ngaphandle kwethonya lendawo yokusingatha (indawo yokusingatha ihlukaniswe emshinini ohlukile obonakalayo).

Okuqanjiwe okuyinhloko kwe-Bareflank 2.0:

  • Ukwesekwa okungeziwe kokwethulwa kwe-Bareflank ngokuqondile kusuka ku-UEFI ukuze kusetshenziswe uhlelo lokusebenza kumshini obonakalayo;
  • Isiphathi sememori esisha senziwe, esiklanywe ngendlela efanayo nabaphathi bememori ye-SLAB/Buddy ku-Linux. Umphathi omusha wenkumbulo ukhombisa ukuhlukana okuncishisiwe, uvumela ukusebenza okuphezulu futhi usekela ukwabiwa kwenkumbulo okuguquguqukayo ku-hypervisor ngokusebenzisa bfdriver, okuvumela ukuthi unciphise usayizi wokuqala we-hypervisor futhi ulinganise ngokufanele kuye ngenani lama-CPU cores;
  • Uhlelo olusha lokwakha olusekelwe ku-CMake, oluzimele kumhumushi womyalo, luvumela ukusheshisa okuphawulekayo kokuhlanganiswa kwe-hypervisor futhi lwenza kube lula ukusekelwa kwesikhathi esizayo kwezakhiwo ezengeziwe, njenge-ARM;
  • Ikhodi ihlelwe kabusha futhi nesakhiwo semibhalo yomthombo senziwe lula. Usekelo oluthuthukisiwe lwamaphrojekthi ahlobene njenge-hyperkernel ngaphandle kwesidingo sokuphindaphinda ikhodi. Ikhodi ehlukaniswe ngokusobala kakhulu i-hypervisor, umtapo wokuphumula, isikhathi sokusebenza, amathuluzi okulawula, i-bootloader ne-SDK;
  • Iningi le-API, esikhundleni sezindlela zamafa ezisetshenziswe ngaphambilini ku-C++, isishintshelwe ekusebenziseni izithunywa, okwenze i-API yaba lula, yanda ukusebenza futhi yanciphisa ukusetshenziswa kwezinsiza.

Source: opennet.ru

Engeza amazwana