Paravirtualisointi on tapa, jolla virtuaalijärjestelmässä toimiva ohjelmisto voi ohittaa virtuaalisen käyttöliittymän ja suorittaa toimintoja järjestelmän todellisella laitteistolla. Normaalissa virtuaalijärjestelmässä ainoa ohjelma, joka käyttää järjestelmän todellista laitteistoa, on virtuaalinen käyttöliittymä. Loput ohjelmistot toimivat täysin virtuaalisen ympäristön sisällä. Paravirtualisoinnin avulla mukana olevilla ohjelmistoilla on tapoja käyttää todellisia resursseja virtuaalisten resurssien sijasta. Tämä nopeuttaa tiettyjä toimintoja uhraamatta laskentatehoa.
Virtuaaliset tietokoneympäristöt ovat yleistyneet 21 -luvulla. Perusvirtuaalijärjestelmiä käyttämällä yksi laitteisto voi suorittaa useiden toimintoja ilman laskentatehoa. Lisäksi tarpeettomat virtuaalipalvelimet mahdollistavat yhden koneen siirtymisen offline -tilaan vaihdettavaksi tai korjattavaksi vaikuttamatta järjestelmän käyttäjiin.
Useimmissa virtuaalijärjestelmissä todelliseen koneeseen on asennettu ohjelma, joka toimii virtuaalisena rajapintana muille toiminnoille. Tämä käyttöliittymä, jota usein kutsutaan hypervisoriksi, ei yleensä ole käytettävissä virtuaalijärjestelmän käyttäjille; vain ihmiset, joilla on todellinen laitteiston käyttöoikeus, voivat päästä siihen. Kun virtuaalikäyttäjillä on pääsy hypervisoriin, heillä on usein erittäin rajoitettu vaikutus järjestelmään.
Hypervisori on lähinnä virtuaalijärjestelmän keskus. Se valvoo asennettua virtuaaliohjelmistoa ja tarjoaa alustan virtuaalikäyttäjille. Kun virtuaalijärjestelmän ohjelmat tarvitsevat pääsyn laitteistoon, hypervisor ottaa tiedot ja käsittelee ne itse tai alustaa ne ja lähettää ne taustalla olevaan järjestelmään.
Järjestelmässä, joka käyttää paravirtualisointia, virtuaaliohjelmalla on mahdollisuus ohittaa virtuaalinen käyttöjärjestelmä ja toimia suoraan järjestelmän laitteiston kanssa, kun se tarvitsee laitteiston käyttöoikeuden. Jotkin toiminnot ovat erittäin vaikeita virtuaalijärjestelmälle. Kun virtuaaliohjelman on suoritettava jokin näistä tehtävistä, se vie vähemmän resursseja, jotta ohjelma ohittaa virtuaalisen kerroksen ja siirtyy suoraan laitteistoon. Paravirtualisointia tehdään edelleen säästeliäästi, koska liian monet suorista laitteistopuheluista voivat ylikuormittaa järjestelmän.
Paravirtualisoinnin käyttämiseksi sekä varsinainen järjestelmä että virtuaalinen järjestelmä tarvitsevat tiettyjä valmisteluja. Suurin tekijä on itse paravirtualisointiohjelmisto; vain käyttöjärjestelmät ja hypervisorit, joilla on paravirtualisointikyky, voivat suorittaa nämä toiminnot. Vaikka nämä eivät useinkaan kuulu normaaliin asennukseen, useimmilla palvelinohjelmistoyrityksillä on saatavilla lisäosia, jotka antavat tuotteilleen oikeat ominaisuudet.
Toinen yhteensopivuuskohde on taustalla olevassa laitteistossa. Virtuaalisen käyttöliittymän avulla on mahdollista saada lähes mikä tahansa käyttöjärjestelmä toimimaan lähes millä tahansa laitteistolla. Jotta paravirtualisointi toimisi, taustalla olevan laitteiston on oltava jotain, jota virtuaaliohjelmat tietävät. Jos laitteisto on järjestelmälle hyvin vieras, paravirtualisointilaitteiston puhelut epäonnistuvat.