Copyright © 2008 VMware, Inc. All rights reserved. 18
Installing and Configuring Linux Guest Operating Systems
Theideaofguest‐hostinteractionisnotanewconcept.IthaslongbeenapartofVMwareproductsintheform
ofVMwareTools.Forexample:
TheVMwareSVGAdriversharesdatastructureswiththehypervisortoallowfasterscreenupdates.
TheVMwarehigh‐performancevirtualEthernetdriver,vmxnet,sharesdatastructureswiththe
hypervisortoreduceCPUoverhead.
TheVMware“balloondriver”isusedbythehypervisortocontroltheguestoperatingsystem’smemory
usage.
TheVMwareToolsserviceenablestimesynchronizationbetweenhostandguest.
Whilesuchguest‐hostcommunicationprovidesimprovedperformanceandcanbeclassifiedas
paravirtualization,noneoftheseexamplesinvolvechangestotheunderlyingguestoperatingsystemkernel.
However,inordertoparavirtualizetheCPUandthememorymanagementunit,changes
totheguest
operatingsystemkernelarerequired.Open‐sourceoperatingsystems,suchasLinux,allowustomakesuch
changes.
Virtual Machine Interface
Earlyparavirtualizationrequiredoperatingsystemsandapplicationstobecertifiedonmanydifferent
kernels—somefornativehardwareandotherstorunonahypervisor.Also,thelackofastandardguest‐host
interfaceledtofrequentinterfacechanges,whichinturncausedversiondependenciesbetweentheguest
operatingsystemkerneland
thehypervisor.Inordertoaddresstheseissues,VMwareproposedanew
guest‐hostinterface,calledVirtualMachineInterface,whichdefinesasetofhypercallsanoperatingsystem
canusetocommunicatewiththehypervisor.Fordetails,seetheParavirtualizationAPIVersion2.5
specification.Foralink,see“Resources”on
page 19.
ThestandardizedinterfaceprovidedbyVMIallowstheguestoperatingsystemkernelandthehypervisorto
evolveindependently.TheVMIspecificationalsomakesitpossibleforothervendorstoenabletheir
hypervisorstosupportguestoperatingsystemsthatuseVMI.
VMIwasdesignedtoabstractnativehardware.Thisfeature,called
transparentparavirtualization,allowsa
VMI‐enabledkerneltorunbothonnativehardwareandonhypervisorsthatsupporttheinterfacewithno
additionalmodificationtotheoperatingsystemkernel.
VMIcodeisincludedin32‐bitLinuxmainlinekernels2.6.22andabove.TheUbuntuLinuxdistribution
includesVMIsupportinversion
7.04(FeistyFawn)andlater.NovellincludesVMIsupportinSUSELinux
EnterpriseServer10SP2.ToenableVMI,see“AppendixC:EnablingVMIinaLinuxKernelandinESX3.5”
onpage 22.
VMI Performance Benefits
TheVMwareimplementationofVMIoffersanumberofperformanceandresource‐utilizationbenefits:
Thesyscallentryandexitpathisfaster.Thisspeedsupsyscall‐dominatedworkloads.
VMI‐enabledLinuxkernelsbydefaultuseanalternatetimerinterruptmechanismthatresultsinreduced
physicalCPUconsumption,especiallywhenthevirtualmachineisidle,andinmoreaccurate
timekeeping,evenwhenrunningmanyvirtualmachines.
Becausetheguestkernelcommunicatestothehypervisoritsintenttoperformmemorymanagementunit
(MMU)‐relatedoperations,MMUvirtualizationoverheadisreduced.Dependingontheworkload,this
canhavevaryingperformancebenefits.
SMPvirtualmachinesrunningVMI‐enabledoperatingsystemsusesharedshadowpagetables.Asa
resulttheyhavelessmemoryspaceoverheadthanthoserunningnon‐VMI‐enabledoperatingsystems.
Formoreinformationonshadowpagetables,seethepaper“ESXServerArchitectureandPerformance
Implications.”Foralink,see“Resources”
onpage 19.
Commentaires sur ces manuels