Bareflank 2.0 hipervisor oharra

ospatu hipervisor askatzea Bareflank 2.0, hipervisore espezializatuen garapen azkarrerako tresnak eskaintzen dituena. Bareflank C++-n idatzita dago eta C++ STL onartzen du. Bareflak-en arkitektura modularrak hipervisorearen gaitasunak erraz zabaltzeko eta zure hipervisoren bertsioak sortzeko aukera emango dizu, bai hardwarearen gainean exekutatzen (Xen bezala) bai lehendik dagoen software ingurune batean (VirtualBox bezalakoa). Posible da ostalari-inguruneko sistema eragilea aparteko makina birtual batean exekutatu. Proiektuaren kodea arabera banatuta LGPL 2.1 lizentziapean.

Bareflak-ek Linux, Windows eta UEFI onartzen ditu 64 biteko Intel CPUetan. Intel VT-x teknologia makina birtualen baliabideak hardware partekatzeko erabiltzen da. Etorkizunerako macOS eta BSD sistemetarako laguntza aurreikusten da, baita ARM64 eta AMD plataformetan lan egiteko gaitasuna ere. Gainera, proiektua VMM (Virtual Machine Manager) kargatzeko kontrolatzaile propioa garatzen ari da, VVM moduluak kargatzeko ELF kargatzailea eta bfm aplikazio bat hipervisorea erabiltzaileen espaziotik kontrolatzeko. C++11/14 zehaztapenetan definitutako elementuak erabiliz luzapenak idazteko tresnak eskaintzen ditu, salbuespen-pila desegiteko liburutegi bat (unwind), baita bere exekuzio-denborako liburutegia ere, eraikitzaileak/destruktoreak erabiltzeko eta salbuespen-kudeatzaileak erregistratzeko.

Birtualizazio sistema bat garatzen ari dira Bareflak-en oinarrituta Kutxatila, sistema gonbidatuak exekutatzen laguntzen duena eta Linux eta Unikernel-ekin makina birtual arinak erabiltzeko aukera ematen du zerbitzu edo aplikazio espezializatuak exekutatzeko. Zerbitzu isolatuen moduan, web-zerbitzu arruntak zein fidagarritasun eta segurtasun-baldintza bereziak dituzten aplikazioak exekutatu ditzakezu, ostalari-ingurunearen eraginik gabe (ostalari-ingurunea makina birtual bereizi batean isolatuta dago).

Bareflank 2.0-ren berrikuntza nagusiak:

  • Bareflank zuzenean UEFItik abiarazteko euskarria gehitu da sistema eragilea makina birtualean exekutatzeko;
  • Memoria-kudeatzaile berri bat ezarri da, Linux-en SLAB/Buddy memoria-kudeatzaileen antzera diseinatua. Memoria-kudeatzaile berriak zatiketa murriztua erakusten du, errendimendu handiagoa ahalbidetzen du eta hipervisoreari memoria dinamikoa esleitzea onartzen du. bfdriver, hipervisorearen hasierako tamaina murrizteko eta PUZaren nukleo kopuruaren arabera modu egokian eskalatzeko aukera ematen duena;
  • CMake-n oinarritutako eraikuntza-sistema berri batek, komando-interpretearekiko independentea, hipervisorearen konpilazioaren azelerazio nabarmena ahalbidetzen du eta arkitektura gehigarrietarako etorkizuneko euskarria errazten du, ARM adibidez;
  • Kodea berrantolatu da eta iturri-testuen egitura sinplifikatu da. Hiperkernel bezalako proiektuetarako laguntza hobetu da, kodea bikoiztu beharrik gabe. Kode zehatzago bereizita hipervisor, desegin liburutegia, exekuzioa, kontrol tresnak, abio-kargatzailea eta SDK;
  • API gehiena, aurretik C++-n erabilitako herentzia-mekanismoen ordez, erabiltzera aldatu da. ordezkaritza, APIa sinplifikatu, errendimendua areagotu eta baliabideen kontsumoa murriztu zuen.

Iturria: opennet.ru

Gehitu iruzkin berria