Virtualization is a technology to run multiple same or different operating system which is completely isolated from each other, the term virtualization appeared a long time ago but it has become a popular concept since the x86 architecture was born. This x86 technology was born for CPU, IOs and memory as well as the trend of virtualization technology development. Hence, when implying about virtualization technology, all the concepts are related to x86 architecture. A very common example of virtualization that most users are already familiar with is virtual memory. Virtual memory enables a computer system to appear to have more memory than is physically installed on a particular system. Virtual memory is a memory-management technique that enables an operating system to see and use non-contiguous segments of memory as a single, contiguous memory space. Virtual memory is traditionally implemented in an operating system by means of paging, which enables the operating system to use a file or dedicated partition on hard disk to save pages of memory that are not actively in use.
History Of Virtualization
Virtualization is old concept. One of the early works in the field was a paper by Christopher Strachey entitled “Time Sharing in Large Fast Computers”. IBM began exploring virtualization with its CP-40 and M44/44X research systems. These in turn lead to the commercial CP-67/CMS. The virtual machine concept kept users separated while simulating a full stand-alone computer for each.
In the 80’s and early 90’s the industry moved from leveraging singular mainframes to running collections of smaller and cheaper x86 servers. As a result the concept of virtualization become less prominent. That changed in 1999 with VMware’s introduction of VMware workstation. This was followed by VMware’s ESX Server, which runs on bare metal and does not require a host operating system.
What is hypervisor?
Hypervisor is a software layer sites between hardware and OSes which will interact with hardware and resource and provide an interface to share the available resource to virtual containers. In this type,
Type 1 Hypervisor
Type 1 hypervisor is so called bare-metal. The hypervisor runs directly on the host system without any operating system, it is installed on architecture system. This type is also categorized into 2 sub-type: monolithic hypervisor. A Micro kernel hypervisor is a very thin hypervisor when an absolute minimum of software in the hypervisor. Drivers, memory management etc. needed for the Virtual Machines are installed in the parent partition (like a windows or any Operating System install on C partition). A monolithic hypervisor is a hypervisor that contains more software and management interfaces. Network drivers and disk drivers for example are part of the hypervisor and not of the parent partition. And you know, Microsoft uses a micro-kernel hypervisor (Hyper-V) and VMware uses a monolithic hypervisor (ESX).
Type 2 Hypervisor
This is also known as Hosted Hypervisor. In this case, the hypervisor is installed on an operating system and then supports other operating systems above it. A Type 2 hypervisor, also called a hosted hypervisor, is a virtual machine manager that is installed as a software application on an existing operating system (OS). It is completely dependent on host Operating System for its operations while having a base operating system allows better specification of policies, any problems in the base operating system a fects the entire system as well even if the hypervisor running above the base OS is secure. Type 2 hypervisors are appropriate when you want a user to have access to their own local desktop OS in addition to the centrally-managed
Examples: VMware Workstation
Microsoft Virtual PC
Oracle Virtual Box
Type of Virtualization
- Application Virtualization
- Desktop Virtualization
- Server Virtualization
- Network Virtualization
- Memory Virtualization
- Storage Virtualization
- OS Level Virtualization
In application virtualization, a given application is single platform that can be executed on virtually any other machine. Application virtualization is software technology that encapsulates computer programs from the underlying operating system on which it is executed. A fully virtualized application is not installed in the traditional sense, although it is still executed as if it were.
Desktop virtualization is software technology that separates the desktop environment and associated application software from the physical client device that is used to access it. Desktop virtualization is the ability to display a graphical desktop of one computer system on to another computer system or smart display device. There are different products available in the market which can be used to achieve desktop virtualization.
Server virtualization allows for more than one server to operate on the same piece of hardware. Server virtualization is the masking of server resources, including the number and identity of individual physical servers, processors, and operating systems, from server users. The server administrator uses a software application to divide one physical server into multiple isolated virtual environments. Server virtualization is a virtualization technique that involves partitioning a physical server into a number of small, virtual servers with the help of virtualization software.
Network virtualization (NV) is using network resources through a logical segmentation of a single physical network. In computing, network virtualization or network virtualization (see spelling differences) is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization is a method of combining the available resources in a network by splitting up the available bandwidth into channels, each of which is independent from the others, and each of which can be assigned (or reassigned) to a particular server or device in real time.
There are two types of memory virtualization: Software-based and hardware-assisted memory virtualization. For both software-based and hardware-assisted memory virtualization, the guest virtual to guest physical addresses are managed by the guest operating system. In computer science, memory virtualization decouples volatile random access memory (RAM) resources from individual systems in the data center, and then aggregates those resources into a virtualized memory pool available to any computer in the cluster.
Storage virtualization is the pooling of physical storage from multiple network storage devices into what appears to be a single storage device that is managed from a central console. The management of storage and data is becoming difficult and time consuming. Storage virtualization helps to address this problem by facilitating easy backup,
Operating-system-level virtualization is a computer virtualization method in which the kernel of an operating system allows the existence of multiple isolated user-space instances, instead of just one. A type of server virtualization technology which works at the OS layer. The physical server and single instance of the operating system is virtualized into multiple isolated partitions, where each partition replicates a real server. The OS virtualization technique offers granular control at the application level by facilitating the transparent migration of individual applications.