Virtualization
Virtualization: the process of using software known as the hypervisor to allocate hardware for more efficient usage of the operating system
Virtualization can allow multiple operating systems to run concurrently on one physical machine and to deploy multiple virtual images.
Why? Imagine developing a program, and you want the program to work on multiple operating systems. To develop the program, you purchase three devices with each operating system or virtualize the operating system on a computing device.
Two types of Hypervisors:
Type 1 (Bare-metal hypervisor): a layer of software installed directly on top of a physical server and its underlying hardware
Exists directly on the hardware
Typically reserved for servers (clouds)
No pre-existing operating system, so 100% of hardware resources can be given to virtual machines (VMs)
Type 2 (Hosted hypervisor): sits on an existing OS that relies on the host machine’s pre-existing operating systems to manage calls to CPU, memory, storage, and network resources
Typical set-up for workstations OR end user devices
Slower for type 1
Host OS: portion of CPU and ram resources to guest OS
Guest OS: virtualization to new operating systems