HermiTux: binaarinen unikernel, joka on yhteensopiva Linux-sovellusten kanssa

Hermiux

Ryhmä tutkijoita Virginian ammattikorkeakoulusta (USA), Qualcomm ja Aachen Rein-Westphalia Technical University (Saksa) he kehittyvät kevyt ydin Hermiux, joka vastaa ainutlaatuista paradigmaa.

HermiTux on tarkoitettu sallimaan sovellusten suorittaminen suoraan hypervisorille ilman lisäkerroksia, joka tarjoaa binäärisen yhteensopivuuden Linux-sovellusten kanssa ABI-tasolla.

HermiTux-koodi Se on kirjoitettu C-ohjelmointikielellä ja se jaetaan BSD-lisenssillä.

HermiTux tarjoaa minimaalisen käyttöjärjestelmän omalla ytimellään (unikernel), joka kuluttaa paljon vähemmän resursseja kuin luomalla ympäristöjä, jotka perustuvat normaaliin Linux-ytimeen.

Sen kanssa tämä voit käynnistää sovelluksia nopeasti hypervisorilla: aloitusaika ei ylitä 0,1 sekuntia.

HermiTux-suorituskykytesteissänoin 3% viivästyi ympäristöissä, joissa oli tavallinen Linux-ydin, johtuen I / O-ohjauksen yleiskustannuksista isäntäpuolelle.

Muistin kulutus testiympäristössä oli 9 Mt, mikä on 10 kertaa vähemmän kuin käytettäessä Linux-ydintä (Dockerin kulutus oli noin 2 Mt johtuen yhteisen ytimen käytöstä isäntäympäristön kanssa ilman täyttä virtualisointia).

Tietoa henkilöstä HermiTux

Hermiux erottuu siitä, että sillä on tarkoitus olla kyky ajaa muokkaamattomia sovelluksia luotu Linuxille, tämä tehdään ELF-muodon tuella, Linux-järjestelmäkutsujen toteuttaminen ja virtuaalisten tiedostojärjestelmien emulointi.

HermiTux-kehityksen nykyisessä vaiheessa tämä toteuttaa 83 järjestelmäpuhelua. Kaiken kaikkiaan Linux-ydin tarjoaa yli 350 järjestelmäkutsua, mutta vain pientä osaa niistä käytetään todellisissa sovelluksissa (90% tavallisten jakelujen ohjelmien kattamiseksi riittää 200 järjestelmäkutsun toteuttamiseen) .

Viiveiden vähentämiseksi järjestelmäkutsujen käsittelyssä on toteutettu valinnainen mekanismi järjestelmän kutsujen uudelleen määrittelemiseksi (uudelleenkirjoittamiseksi) tyypillisten ytimen toimintojen kutsumiseksi.

Staattisesti liittyvissä sovelluksissa on mahdollista korvata syscall-käskyt funktiokutsuilla suoritettavassa tiedostossa.

Dynaamisesti liittyvissä sovelluksissa korvaaminen tapahtuu tavallisella kirjastotasolla.

Lisäksi, työkalut on valmistettu analysoimaan suoritettaviin tiedostoihin liittyviä järjestelmäkutsuja joiden avulla voit kerätä minimaalisen kuvan HermiTuxista, joka sisältää vain koodin, joka tarvitaan vain sovelluksessa käytettyjen järjestelmäkutsujen käsittelemiseen.

Hermiux

HermiTux-ominaisuudet

Hermiux käyttää kevyttä KVM-pohjaista hypervisoria, joka lataa Linux-binaarin minimaalisen kerroksen kanssa käyttöjärjestelmän yhden osoitetilan virtuaalikoneessa. Suorituksen aikana HermiTux-ydin sieppaa sovelluksen soittamat järjestelmäkutsut.

Vaihtoehtoisesti HermiTux tarjoaa mekanismin järjestelmäkutsujen kutsun kirjoittamiseksi uudelleen tavallisissa ytimen toimintakutsuissa, mikä vähentää merkittävästi järjestelmän puheluviiveitä.

Suojelun kannalta mainittu modulaarisuus salliiJaSuodattamisen sijaan käyttämättömät järjestelmäkutsut (esimerkiksi seccompin kautta) sulkea ne kokonaan ytimestä.

Sovellus toimii jaetussa osoiteavaruudessa (HermiTux on suunniteltu toimimaan yhden sovelluksen hypervisorin päällä).

Peruskierteen tuki (Pthreads Embedded) tarjotaan.

Tiedostojärjestelmänä ehdotetaan MiniFS: ää, jossa tiedostot on sijoitettu RAM-muistiin (RAM-levy) ja joitain virtuaalisten tiedostojärjestelmien elementtejä (/ dev / zero, proc / cpuinfo jne.) emuloidaan.

TCP / IP-pino perustuu LWIP-projektiin, ja muokattua versiota Musl-projektista käytetään standardina C-kirjastona.

HermiTux ei vaadi sovellusten kokoamista uudelleen, ja sen avulla voit suorittaa sekä koottuja suoritettavia tiedostoja (staattisesti ja dynaamisesti liittyviä) että sovelluksia tulkituilla kielillä (Python, Lua jne.).

Projektilinkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.