Virtualization allows multiple virtual machines to run on the same physical machine. It improves resource sharing and utilization. Traditional computers run a single operating system tailored to the hardware, while virtualization allows different guest operating systems to run independently on the same hardware. Virtualization software creates an abstraction layer at different levels - instruction set architecture, hardware, operating system, library, and application levels. Virtual machines at the operating system level have low startup costs and can easily synchronize with the environment, but all virtual machines must use the same or similar guest operating system.