Bareflank 2.0 hypervisor -julkaisu

tapahtui hypervisorin vapauttaminen Bareflank 2.0, joka tarjoaa työkaluja erikoistuneiden hypervisoreiden nopeaan kehittämiseen. Bareflank on kirjoitettu C++:lla ja tukee C++ STL:ää. Bareflankin modulaarisen arkkitehtuurin avulla voit helposti laajentaa hypervisorin olemassa olevia ominaisuuksia ja luoda omia versioita hypervisoreista, jotka toimivat sekä laitteiston päällä (kuten Xen) että olemassa olevassa ohjelmistoympäristössä (kuten VirtualBox). Isäntäympäristön käyttöjärjestelmää on mahdollista ajaa erillisessä virtuaalikoneessa. Projektin koodi jakelija lisensoitu LGPL 2.1:lla.

Bareflank tukee Linuxia, Windowsia ja UEFI:ää 64-bittisissä Intel-suorittimissa. Intel VT-x -tekniikkaa käytetään virtuaalikoneen resurssien laitteiston jakamiseen. Tulevaisuudessa on suunnitteilla tukea macOS- ja BSD-järjestelmille, samoin kuin kyky toimia ARM64- ja AMD-alustoilla. Lisäksi projektissa kehitetään omaa ajuria VMM:n lataamiseen (Virtual Machine Manager), ELF-latausohjelmaa VVM-moduulien lataamiseen sekä bfm-sovellusta hypervisorin ohjaamiseen käyttäjätilasta. Se tarjoaa työkaluja laajennuksien kirjoittamiseen käyttämällä C++11/14-spesifikaatioissa määritettyjä elementtejä, kirjaston poikkeuspinon purkamiseen (unwind) sekä oman ajonaikaisen kirjaston, joka tukee rakentajien/destruktoreiden käyttöä ja poikkeuskäsittelijöiden rekisteröintiä.

Bareflankiin pohjautuvaa virtualisointijärjestelmää kehitetään boxy, joka tukee vierailevien järjestelmien käyttöä ja mahdollistaa kevyiden virtuaalikoneiden käytön Linuxin ja Unikernelin kanssa erikoispalveluiden tai sovellusten ajamiseen. Erillisten palveluiden muodossa voit ajaa sekä tavallisia verkkopalveluita että sovelluksia, joilla on erityisiä luotettavuus- ja tietoturvavaatimuksia, ilman isäntäympäristön vaikutusta (isäntäympäristö on eristetty erillisessä virtuaalikoneessa).

Bareflank 2.0:n tärkeimmät innovaatiot:

  • Lisätty tuki Bareflankin käynnistämiselle suoraan UEFI:stä käyttöjärjestelmän myöhempää suorittamista varten virtuaalikoneessa;
  • Uusi muistinhallinta on otettu käyttöön, suunniteltu samalla tavalla kuin Linuxin SLAB/Buddy-muistinhallintaohjelmat. Uusi muistinhallinta vähentää pirstoutumista, mahdollistaa suuremman suorituskyvyn ja tukee dynaamista muistin allokointia hypervisorille bfdriver, jonka avulla voit pienentää hypervisorin alkukokoa ja skaalata optimaalisesti CPU-ytimien lukumäärän mukaan;
  • Uusi CMake-pohjainen koontijärjestelmä, joka on riippumaton komentokulkista, mahdollistaa hypervisorin kääntämisen merkittävän nopeuttamisen ja yksinkertaistaa lisäarkkitehtuurien, kuten ARM:n, tulevaa tukea;
  • Koodi on järjestetty uudelleen ja lähdetekstien rakennetta yksinkertaistettu. Parannettu tuki asiaan liittyville projekteille, kuten hyperkernelille ilman koodin päällekkäisyyttä. Selkeämmin erotettu koodi hypervisor, pura kirjasto, suoritusaika, ohjaustyökalut, käynnistyslatain ja SDK;
  • Suurin osa API:sta on vaihdettu käyttämään C++:ssa aiemmin käytettyjen perintömekanismien sijaan valtuuskunta, mikä yksinkertaisti sovellusliittymää, lisäsi suorituskykyä ja vähensi resurssien kulutusta.

Lähde: opennet.ru

Lisää kommentti