Introduction to Operating Systems: Unit V: Virtual Machines and Mobile OS

Types of Virtual Machines and their Implementations

Virtual Machines and Mobile OS - Introduction to Operating Systems

In computing, a hypervisor is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. The term usually refers to an implementation using full virtualization.

Types of Virtual Machines and their Implementations

In computing, a hypervisor is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. The term usually refers to an implementation using full virtualization.

A hypervisor is a software layer installed on the physical hardware, which allows splitting the physical machine into many virtual machines. This allows multiple and operating systems to be run simultaneously on the same physical hardware.

The operating system installed on the virtual machine is called a guest OS, and is sometimes also called an instance. The hardware the hypervisor runs on is called the host machine.

A hypervisor management console, which is also called a virtual machine manager (VMM), is computer software that enables easy management of virtual machines.

Hypervisors are currently classified in two types: type 1 and type 2.

Type 0 Hypervisor

Fig. 7.4.1 shows type 0 hypervisor.

Type 0 hypervisor is built with the minimum software components required to fully virtualize guest OSS and control information flow between guest OSs. Type 0 hypervisors is a hardware-based solutions that provide support for virtual machine creation and management via firmware.

• The VMM itself is encoded in the firmware and loaded at boot time. Guest image site is loaded in each partition. "Partitions" and "domains" are other names of type 0 Hypervisor.

• The feature set of a type 0 hypervisor tends to be smaller than those of the other types because it is implemented in hardware. For example, a system might be split into five virtual systems, each with dedicated CPUs, memory and I/O devices.

• If I/O device are less, then they are not allocate to guest. Sometimes VMM implements a control partition running daemons that other guests communicate with for shared I/O.

Type 1 Hypervisor

• Type 1 hypervisor is software that runs directly on a given hardware platform. A "guest" operating system thus runs at the second level above the hardware.

• Type 1 VMs have no host operating system because they are installed on a bare system. An operating system running on a Type 1 VM is a full virtualization because it is a complete simulation of the hardware that it is running on.

• Type 1 hypervisor is also called a native or bare-metal hypervisor that is installed directly on the hardware, which splits the hardware into several virtual machines where we can install guest operating systems.

• Virtual machine management software helps to manage this hypervisor, which allows guest OSes to be moved automatically between physical servers based on current resources requirements.

• It is completely independent from the operating system.

• The hypervisor is small as its main task is sharing resources between different operating systems.

A major advantage is that any problems in one virtual machine or guest operating system do not affect the other guest operating systems running on the hypervisor.

Type 2 Hypervisor

This is also known as Hosted Hypervisor.

• In this case, the hypervisor is installed on an operating system and then supports to other operating systems above it.

• It is completely dependent on host operating system for its operations. Fig. 7.4.2 shows type 2 hypervisor. (See Fig. 7.4.2 on next page.)

• While having a base operating system allows better specification of policies, any problems in the base operating system affects the entire system as well even if the hypervisor running above the base OS is secure.

• Type 2 hypervisors don't support over/dynamic allocation of RAM, so care is required when allocating resources to virtual machines.

• This is why we call type 2 hypervisors hosted hypervisors. As opposed to type 1 hypervisors that run directly on the hardware, hosted hypervisors have one software layer underneath. What we have in this case is:

1. A physical machine.

2. An operating system installed on the hardware (Windows, Linux, MacOS).

3. A type 2 hypervisor software within that operating system.

4. The actual instances of guest virtual machines.

• Type 2 hypervisors are typically found in environments with a small number of  servers. Type 2 hypervisors are convenient for testing new software and research br projects.

Paravirtualization

• Paravirtualization is a type of virtualization in which guest operating system (OS) is recompiled, installed inside a Virtual Machine (VM), and operated on top of a hypervisor program running on the host OS.

• Para-virtualization refers to communication between the guest OS and the hypervisor to improve performance and efficiency.

• Para-virtualization involves modifying the OS kernel to replace non-virtualizable instructions with hyper-calls that communicate directly with the virtualization Jeaug layer hypervisor.

The hypervisor also provides hyper-call interfaces for other critical kernel operations such as memory management, interrupt handling and time keeping.

Fig. 7.4.3 shows para-virtualization architecture.

• In Para-virtualization, the virtual machine does not necessarily simulate hardware, but instead offers a special API that can only be used by modifying the "guest" OS. This system call to the hypervisor is called a "hypercall" in Xen.

• Xen is an open source para-virtualization solution that requires modifications to the guest operating systems but achieves near native performance by collaborating with the hypervisor.

• Microsoft Virtual PC is a para-virtualization virtual machine approach. User-mode Linux (UML) is another para-virtualization solution that is open source.

Each guest operating system executes as a process of the host operating system. Cooperative Linux, is a virtualization solution that allows two operating systems to cooperatively share the underlying hardware.

• Linux-V server is an operating system-level virtualization solution for GNU/Linux systems with secure isolation of independent guest servers.

• The Linux KVM is virtualization technology that has been integrated into the mainline Linux kernel. Runs as a single kernel loadable module, a Linux kernel running on virtualization-capable hardware is able to act as a hypervisor and support unmodified Linux and Windows guest operating systems.

Para-virtualization shares the process with the guest operating system.

Problems with para-virtualization

1. Para-virtualized systems won't run on native hardware.

2. There are many different para-virtualization systems that use different I commands, etc.

• The main difference between full virtualization and paravirtualization in Cloud is that full virtualization allows multiple guest operating systems to execute on a host operating system independently while paravirtualization allows multiple guest operating systems to run on host operating systems while communicating.

Difference between Type 1 and Types 2 Hypervisor



Introduction to Operating Systems: Unit V: Virtual Machines and Mobile OS : Tag: : Virtual Machines and Mobile OS - Introduction to Operating Systems - Types of Virtual Machines and their Implementations