Wat is een hypervisor?
Een hypervisor is een uniek type software waarmee een computer meer dan één besturingssysteem (OS) kan uitvoeren. Via een proces dat bekend staat als virtualisatie, laat de software elk besturingssysteem denken dat het exclusieve toegang heeft tot een bepaalde set hardware. Het bevindt zich tussen de fysieke hardware en het besturingssysteem en presenteert een virtuele set hardware voor alle andere software die op de machine draait. Het beheert ook de informatiestroom tussen software, de gevirtualiseerde hardware en de fysieke hardware. Dit type software wordt gebruikt in zowel consumenten- als bedrijfsinstellingen.
In de meeste gevallen draait het besturingssysteem van een computer in een zeer bevoorrechte staat, waar het onbelemmerde toegang heeft tot de hardware van de machine, terwijl toepassingen in een minder bevoorrechte staat draaien en op het besturingssysteem moeten vertrouwen. Deze verschillende niveaus van hardwaretoegangsprivileges worden ringen genoemd, waarbij het besturingssysteem traditioneel in ring 0 draait; gebruikerstoepassingen draaien in ringen 1-3, die minder rechten hebben. Dit model werkt meestal prima, maar valt volledig uit elkaar wanneer u probeert meer dan één besturingssysteem tegelijkertijd op één computer uit te voeren. Een hypervisor lost dit probleem op met behulp van een techniek die virtualisatie wordt genoemd.
Virtualisatie is geen nieuw idee, maar het is een modewoord geworden sinds het midden van de jaren 2000 als bedrijven en de IT-industrie de potentie hebben gerealiseerd om de kosten te verlagen en de efficiëntie te verhogen. Er zijn veel verschillende benaderingen van virtualisatie, maar het basisidee is om gesimuleerde sets hardware te maken die vaak virtuele machines worden genoemd. In het geval van een hypervisor, die ook een virtuele machinemonitor kan worden genoemd, bevat elke virtuele machine een 'gast'-besturingssysteem. De hypervisor zelf kan rechtstreeks op de fysieke hardware worden uitgevoerd, in welk geval deze bekend staat als een 'bare metal'-type of binnen een hostbesturingssysteem als een' software'-hypervisor.
Hypervisors moeten een aantal zeer geavanceerde technieken gebruiken om hun gastbesturingssystemen te beheren en ervoor te zorgen dat ze niet met elkaar conflicteren. Aangezien een besturingssysteem in een virtuele machine niet weet dat het geen ring 0-rechten heeft, kan het proberen beperkte functies uit te voeren zonder toestemming. In deze gevallen kan de hypervisor een functie onderscheppen voordat deze de hardware bereikt, de instructies uitvoeren op een manier die geen schade toebrengt aan andere besturingssystemen die op de hardware draaien en het resultaat terugbrengen naar het oorspronkelijke besturingssysteem. Bekend als een 'trap en emuleer'-techniek, dit is slechts een van de vele geavanceerde concepten die uniek zijn voor de wereld van virtualisatie.
Omdat dit type software belangrijker en lucratiever is geworden, hebben meer bedrijven gezocht naar manieren om de belasting van een hypervisor te verlichten en betere prestaties te leveren. Softwareleveranciers hebben hun besturingssystemen aangepast om op de hoogte te zijn van de virtuele machines waarop ze draaien, wat betekent dat er minder soorten scenario's zijn die vallen en emuleren. Hardwareleveranciers hebben ondersteuning toegevoegd voor een nieuw niveau van rechten, ook wel ring -1 genoemd. Nieuwere softwareprogramma's kunnen profiteren van een of beide technieken om de prestaties te verbeteren.
Hypervisors zijn nu te vinden in een verscheidenheid aan producten op zowel consumenten- als bedrijfsniveau. Consumentenproducten waarmee het ene besturingssysteem binnen het andere kan worden uitgevoerd, gebruiken vaak een hypervisor van het softwaretype. In de bedrijfsruimte kunnen met de software onderbenutte servers met verschillende besturingssystemen worden geconsolideerd. Softwareontwikkelaars kunnen deze aanpak gebruiken om meerdere exemplaren van vergelijkbare of zelfs identieke besturingssystemen uit te voeren om te testen op compatibiliteitsproblemen.