Hva er en hypervisor?
En hypervisor er en unik type programvare som lar en datamaskin kjøre mer enn ett operativsystem (OS). Gjennom en prosess kjent som virtualisering, lurer programvaren hvert OS til å tro at de har eksklusiv tilgang til et bestemt sett med maskinvare. Den sitter mellom den fysiske maskinvaren og operativsystemet og presenterer et virtuelt sett med maskinvare til all annen programvare som kjører på maskinen. Den administrerer også flyten av informasjon mellom programvare, den virtualiserte maskinvaren og den fysiske maskinvaren. Denne typen programvare brukes i både forbruker- og bedriftsinnstillinger.
I de fleste tilfeller kjører en datamaskins operativsystem i en meget privilegert tilstand der den har fri tilgang til maskinens maskinvare mens applikasjoner kjører i en mindre privilegert tilstand og må stole på operativsystemet. Disse forskjellige nivåene av maskinvaretilgangsrettigheter kalles ringer, der operativsystemet tradisjonelt kjører i ring 0; brukerapplikasjoner kjøres i ringene 1–3, som har færre privilegier. Denne modellen fungerer fint mesteparten av tiden, men faller helt fra hverandre når du prøver å kjøre mer enn ett operativsystem på en enkelt datamaskin samtidig. En hypervisor løser dette problemet ved å bruke en teknikk som heter virtualisering.
Virtualisering er ikke en ny idé, men det har blitt noe av et buzzword siden midten av 2000-tallet ettersom selskaper og IT-bransjen har realisert potensialet for å redusere kostnader og øke effektiviteten. Det er mange forskjellige tilnærminger til virtualisering, men den grunnleggende ideen er å lage simulerte sett med maskinvare som ofte er kjent som virtuelle maskiner. Når det gjelder en hypervisor, som også kan kalles en virtuell maskinmonitor, inneholder hver virtuelle maskin et "gjest" OS. Hypervisoren kan kjøre direkte på den fysiske maskinvaren, i så fall er den kjent som en "bare metal" -type eller i et host-operativsystem som en "software" -hypervisor.
Hypervisorer må bruke noen veldig sofistikerte teknikker for å administrere sine gjestes operativsystemer og sikre at de ikke kommer i konflikt med hverandre. Siden et operativsystem i en virtuell maskin ikke er klar over at den er fratatt ring 0-rettigheter, kan det forsøke å utføre begrensede funksjoner uten tillatelse. I disse tilfellene kan hypervisoren avskjære en funksjon før den når maskinvaren, utføre instruksjonene på en måte som ikke vil skade andre operativsystemer som kjører på maskinvaren, og returnere resultatet til det opprinnelige operativsystemet. Dette er kjent som en "felle og emulere" -teknikk, og dette er bare ett av mange avanserte konsepter som er unike for verden av virtualisering.
Ettersom denne typen programvare har blitt viktigere og lukrativ, har flere selskaper sett etter måter å lette belastningen på en hypervisor og gi økt ytelse. Programvareleverandører har endret operativsystemene sine for å være klar over de virtuelle maskinene de kjører på, noe som betyr færre felle-og-emulere typer scenarier. Maskinvareleverandører har lagt til støtte for et nytt nivå av privilegier som noen ganger kalles ring -1. Nyere programmer kan dra nytte av en eller begge disse teknikkene for å øke ytelsen.
Hypervisorer kan nå finnes i en rekke produkter på både forbruker- og bedriftsnivå. Forbrukerprodukter som lar et operativsystem kjøre innenfor et annet, bruker ofte en programvare-type hypervisor. På bedriftsområdet tillater programvaren konsoliderte underbrukte servere som kjører forskjellige operativsystemer. Programvareutviklere kan bruke denne tilnærmingen for å kjøre flere forekomster av lignende eller til og med identiske operativsystemer for å teste for kompatibilitetsproblemer.