Bareflank 3.0 hypervisor -julkaisu

Bareflank 3.0 hypervisor on julkaistu, ja se tarjoaa työkalupakin erikoistuneiden hypervisorien nopeaan kehittämiseen. Bareflank on kirjoitettu C++:lla ja tukee C++ STL:ää. Bareflankin modulaarisen arkkitehtuurin avulla on helppo laajentaa olemassa olevia hypervisor-ominaisuuksia ja luoda omia hypervisor-vaihtoehtoja, 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. Projektikoodia jaetaan LGPL 2.1 -lisenssillä.

Bareflank tarjoaa tuen Linuxille, Windowsille ja UEFI:lle 64-bittisissä Intel- ja AMD-suorittimissa. Intel VT-x -tekniikkaa käytetään virtuaalikoneen resurssien laitteistoosiointiin. Tulevaisuudessa on suunnitteilla tukea macOS- ja BSD-järjestelmille, samoin kuin kyky toimia ARM64-alustalla. Lisäksi projektissa kehitetään oma ajuri VMM:n lataamiseen (Virtual Machine Manager), ELF-lataaja VVM-moduulien lataamiseen sekä bfm-sovellus hypervisorin ohjaamiseen käyttäjätilasta. Mukana on työkalupakki laajennuksien kirjoittamiseen C++11/14-spesifikaatioissa määriteltyjen elementtien avulla, poikkeuspinon purkamiskirjasto (unwind) sekä oma ajonaikainen kirjasto, joka tukee rakentajien/destruktoreiden käyttöä ja poikkeuskäsittelijöiden rekisteröintiä.

Bareflankin pohjalta on meneillään Boxy-virtualisointijärjestelmän kehitys, joka tukee vierasjärjestelmien käynnistämistä ja mahdollistaa kevyiden Linux- ja Unikernel-virtuaalikoneiden käytön 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 on myös MicroV-hypervisorin ytimessä, joka on suunniteltu ajamaan minimalistisia virtuaalikoneita (single application virtual machine), jotka toteuttavat KVM API:n ja soveltuvat kriittisten järjestelmien rakentamiseen.

Bareflank 3.0:n tärkeimmät innovaatiot:

  • Siirtyminen mikroytimen käyttöön. Aikaisemmin hypervisorilla oli monoliittinen arkkitehtuuri, jossa toiminnallisuuden laajentamiseksi jouduttiin käyttämään erityistä API:ta takaisinsoittojen rekisteröintiin, mikä vaikeutti laajennusten kehittämistä, koska se oli sidottu C ++ -kieleen ja sisäisiin osiin. . Uusi mikroydinpohjainen arkkitehtuuri jakaa hypervisorin ytimen komponentteihin, jotka toimivat suojauksen nollarenkaalla, ja laajennuksilla, jotka toimivat kolmannella renkaalla (käyttäjätila). Molemmat osat toimivat VMX-juuritilassa ja kaikki muu, mukaan lukien isäntäympäristö, ei-root-VMX-tilassa. Käyttäjätilalaajennukset toteuttavat Virtual Machine Manager (VMM) -toiminnallisuuden ja ovat vuorovaikutuksessa hypervisor-ytimen kanssa taaksepäin yhteensopivien järjestelmäkutsujen kautta. Laajennuksia voidaan luoda millä tahansa ohjelmointikielellä, mukaan lukien Rust-kielen käyttö.
  • Siirryimme käyttämään omaa BSL-kirjastoamme Rust- ja C++-tuella, joka korvasi ulkoiset kirjastot libc++ ja newlib. Ulkoisten riippuvuuksien poistaminen antoi Bareflankille mahdollisuuden ottaa käyttöön alkuperäisen Windowsin käännöstuen yksinkertaistaakseen kehitystä tällä alustalla.
  • Lisätty tuki AMD-prosessoreille. Lisäksi Bareflankin kehitys suoritetaan nyt järjestelmässä, jossa on AMD-suoritin ja vasta sitten siirretään Intel-suorittimeen.
  • Käynnistyslataimeen on lisätty tuki ARMv8-arkkitehtuurille, jonka hypervisor-sovitus valmistuu jossain seuraavista julkaisuista.
  • Yhdenmukaisuus AUTOSAR:n ja MISRAn kriittisten järjestelmäkehitysvaatimusten kanssa.

Lähde: opennet.ru

Lisää kommentti