Virtualization was a old wine introduced by Microsoft years ago with the help of virtual PC / virtual server. Hyper-v in a simple terms is used for consolidation , rather a small word but when you elaborate it , you can do server consolidation , hardware consolidation and datacenter consolidation respectively.
Virtualization is use to virtualize
- Client operating systems
Processor manufacturers are introducing multi-core processors which are capable of handling high transactions / load. Multi-cores are combination of dual core processors combined together in a single die. As I always mention in my previous posts, windows operating systems has 2 modes user mode and the kernel mode , user applications runs on user mode and device drivers runs on privileged mode / kernel mode which means user mode applications cannot take control over the system data.
Windows operating systems introduced features and roles concept to provide more flexibility for administrators to deploy the task. Role is major component and feature is supplement to role ( may / may not be required ). So Hyper-v is installed as a role and not as a feature.
I thought windows 2008 R2 ( x64 with Hyper-v ) operating system is installed similar to windows server 2003, but my opinion was wrong. Microsoft has changed the behavior of operating system installation. We install windows server 2008 R2 as a VM ! , Yes you heard correct, server 2008 R2 is installed as VM.
Microsoft has created the concept called as Partition. Partition in simple terms is to provide isolation for guest operating systems. We install windows server 2008 R2 on Root Partition / Parent Partition, and the guest vm’s are created under Child Partitions. I have drawn the high level over view of Hyper-v architecture.
From the above diagram we can see that only the Parent partition communicates with the Hardware / CPU through Hypervisor. Processor interrupts are not handled directly by the partitions, rather these interrupts are handled by the hypervisor layer and once the interrupt is served , hypervisor redirects back to respective partitions.
Similarly child partition communicates to parent partition for any resource requests , parent partition transfers the request to Hypervisor and hypervisor sends the request to CPU and returns back the result in similar order. The detailed architecture will be written in my next post.