- The processor - the primary role of the processor (CPU) in any machine is to direct and control all the activities of the computer.
The virtualization software must be able to coordinate how different guest operating systems access the resources of the Processor. Most processors to date like the X86 processor were not designed to host several guest operating systems.
- Memory - The memory stores or holds data for the computer to use.
Your virtualization software should be able to manipulate the memory spaces efficiently and effectively so that the different operating systems do not overwrite each other's data. Just like the X86 processor, the X86 was not designed for multiple operating systems.
The virtualization software must also be able to manage the state of each guess operating system.
- Network - Most computers today in the work place and at home are networked, like being connected to the internet.
This requires the exchange of information between the network and the computer.
For a virtualized computer, it is very important that virtualization software ensures that each virtual system receives the correct information or data destined for it.
- Storage - The fourth virtualization requirement is storage.
Each virtual guest operating system must have it own data.
It is also very important that the virtualization software keeps such data separate and isolated from other data.