A virtual machine is an emulation of a guest operating system, running on virtualized hardware within a host operating system.
Rather than being real, i.e., made of real computer hardware and running a specific operating system, a virtual machine (VM) is a "dummy" computer created by a simulation program. Its memory, processor and other resources are virtualized. It is a way of dividing the resources of a computer into multiple execution environments.
Advantages of VMs:
- Facilitates the development and testing of new operating systems.
- Allows comparison of multiple operating systems using the same equipment.
- Runs different operating systems on the same hardware simultaneously.
- Simulates changes and hardware failures or reconfiguration of tests an operating system, providing reliability and scalability to applications.
- Reduction in hardware costs.
- Facilitates in the management, replication and migration of computers, applications or operating systems.
- Reliability and availability: a software failure in a VM does not affect other services running on the host operating system.