Virtual Machine Architecture
Budget: ₹750 – ₹1,250 INR
The concept of a virtual machine was introduced around 1960. It is the evolution of the time-sharing technique. In the time-sharing method, each program has full access to all the computer resources but at a time, only one program will be executed. The system switch between programs in time slices while saving and restoring program states each time. With the use of the time-sharing method, multiple users can use the computer system concurrently. IBM research centers evolved the time-sharing method as Virtual Machines. CP-67 was the first available virtual machine architecture. Systems with multiple Virtual Machines on a single host and single virtual machine on multiple hosts were developed. Before launching any new hardware technology, it is first tested on the emulator to detect, recreate and repair the flaws in the design & tack necessary steps. Similarly, before introducing any new software, it is simulated to check for any errors and debug them. To do this task, a system that can act as a substitute for the main environment to build new technology. This is where Virtual Machines come into the picture. It acts as the emulation of the computer system providing the full functionality of the physical system.
What is a Virtual Machine?
With the introduction of new technologies and newer research models, a lot number of hardware and software products are being launched. Many of the software are platform-dependent hence it is sometimes difficult to debug or check them because of the limited hardware resources. A VM (virtual machine) is an emulation of a computer system, where these machines use computer architectures to provide the functionality of a physical computer. The physical device on which virtual machines work is known as Host, whereas the virtual machines are known as Guest. A single host can have multiple numbers of guests.
Types of Virtual Machine:
The virtual machine works like a computer, and it is sandboxed from the rest of the host system. The software within the guest cannot make changes to the software of the host system. Thus, the virus files can be tested using a virtual machine without affecting the main computer system. The computer software that creates and runs the virtual machine is known as Hypervisor. Based on their functions there are two different types of virtual machines – System virtual machines and process virtual machines.
1). System Virtual Machines
These types of VMs provide full virtualization. Acting as the substitute for the real machine, these will provide functionalities to execute an entire operating system. Hardware resources are shared and managed, forming multiple environments on the host system. These environments are isolated from each other but exist on the same physical host. Thus, these provide time-sharing among several single-tasking operating systems.To allow memory sharing between different virtual machines on one computer operating system, memory overcommitment systems can be applied. Memory pages having identical content can be shared among multiple virtual machines present on the same physical host. This is highly useful for read-only pages.
2). Process Virtual Machines(VM)
These VMs are also known as Application virtual machines, Managed runtime environments. This type of VM runs as a normal application inside the host’s operating system, supporting a single process. It is created with the starting of the process and is destroyed when the process ends. It is used to provide a platform-independent programming environment to the process, allowing it to execute in the same manner on any of the other platforms.These are implemented using interpreters and provides high-level abstractions. These are popularly used for Java programming which uses Java virtual machine for execution of programs. There is a special case of a process VM that abstracts over the communication mechanism of a computer cluster. These contain one process per physical machine in the cluster.
What is a Virtual Machine?
With the introduction of new technologies and newer research models, a lot number of hardware and software products are being launched. Many of the software are platform-dependent hence it is sometimes difficult to debug or check them because of the limited hardware resources. A VM (virtual machine) is an emulation of a computer system, where these machines use computer architectures to provide the functionality of a physical computer. The physical device on which virtual machines work is known as Host, whereas the virtual machines are known as Guest. A single host can have multiple numbers of guests.
Types of Virtual Machine:
The virtual machine works like a computer, and it is sandboxed from the rest of the host system. The software within the guest cannot make changes to the software of the host system. Thus, the virus files can be tested using a virtual machine without affecting the main computer system. The computer software that creates and runs the virtual machine is known as Hypervisor. Based on their functions there are two different types of virtual machines – System virtual machines and process virtual machines.
1). System Virtual Machines
These types of VMs provide full virtualization. Acting as the substitute for the real machine, these will provide functionalities to execute an entire operating system. Hardware resources are shared and managed, forming multiple environments on the host system. These environments are isolated from each other but exist on the same physical host. Thus, these provide time-sharing among several single-tasking operating systems.To allow memory sharing between different virtual machines on one computer operating system, memory overcommitment systems can be applied. Memory pages having identical content can be shared among multiple virtual machines present on the same physical host. This is highly useful for read-only pages.
2). Process Virtual Machines(VM)
These VMs are also known as Application virtual machines, Managed runtime environments. This type of VM runs as a normal application inside the host’s operating system, supporting a single process. It is created with the starting of the process and is destroyed when the process ends. It is used to provide a platform-independent programming environment to the process, allowing it to execute in the same manner on any of the other platforms.These are implemented using interpreters and provides high-level abstractions. These are popularly used for Java programming which uses Java virtual machine for execution of programs. There is a special case of a process VM that abstracts over the communication mechanism of a computer cluster. These contain one process per physical machine in the cluster.