Windows Azure physically runs in several of Microsoft’s data centers around the world. Data centers are where all the action is as far as Windows Azure is concerned. With all the machines in these data centers, the question is how an OS actually runs on these machines. The key problems to address would be sharing resources and migrating workloads. The industry solution to these problems with running different workloads in the data center is to use Virtualization.
Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources. It refers to the capability to run several guest operating systems simultaneously on the same machine under a host operating system. Each operating system sees an entire machine and is unaware of the existence of the other operating systems. These virtual machines share the resources of the underlying hardware, and also run in a sandbox to ensure that they can’t access resources there are not supposed to, or affect any of the other operating systems running on the machine.
To create several virtual machines on one physical machine, a thin piece of low level system software called the hypervisor is used. It’s the hypervisor that is responsible for resource allocations. To perform these tasks efficiently, the hypervisor relies on hardware support. Hypervisor makes use of a new privilege level called “Root mode”/ “Ring -1”, which is a relatively new development in the hardware world. The privileged instructions from the guest operating systems to the processor are translated to the hypervisor, and the hypervisor executes the privileged code for the operating.