VMware allows running multiple operating systems simultaneously on PC.
Fantasy as real
In theory, according to Intel, the operating system core works in class 0 (Ring 0, with the highest function), the deepest access level. Traditional x86 processors cannot run virtual operating systems in class 0 because they need to run virtual machine management software (called hypervisors).
The x86 architecture also has 3 more classes with descending function. To ensure stability, operating systems currently limit applications to the lowest functional layer - Ring 3 (this is why Windows XP has higher stability than DOS - OS allows applications to do work at class 0). So the obvious solution is that the operating system of the virtual machine is allocated in the other two layers.
The problem is that there are some x86 code that only work in layer 0. To work at higher layers, the operating system must be rewritten (or recompiled) to avoid these commands. This solution is popular in the Linux world (IBM uses the same technique to run Linux on mainframe), but it requires an operating system source code and an OS-aware programmer.
To run the original OS outside class 0, the hypervisor must trap prohibited commands and simulate them. This is VMware's solution and DOS simulation environment of Windows XP. The problem is that simulation uses a lot of computational resources and reduces the performance of the system.
To solve this problem, Intel (which dominates the computer processor market) has launched VT architecture (formerly codenamed Vanderpool and Silverdale) and AMD also has the equivalent Pacifica architecture, adding the priority layer under Ring 0. VT and Pacifica add new code that only works in this new class ("Ring -1") for the hypervisor. In this way, the operating system running on the virtual machine does not need to be adjusted and the performance of the simulation is reduced. However, the performance problem has not been solved completely: each OS assumes that it has full access to system resources such as memory and data transmission (I / O bus), while hypervisor must allocate Accessing real resources to ensure programs and data are not confusing between operating systems. Currently virtualizing system resources and I / O devices has been taken into account and it is possible that future versions of VT and Pacifica will allow "virtual" operating systems to work directly with the hardware.
Virtual things
Virtualization gives users the convenience of running multiple operating systems simultaneously on the same PC, but the ability of virtualization is more than that and it has now moved to a larger playground: servers and networks. This is a playground where virtualization can unleash its full power.
Virtualization of the server is not a new issue (as mentioned above, virtualization was originally from mainframe), but it has really been focused over the past 2 years. The important meaning of virtualization of the server is to allow full exploitation of server resources (servers often have "free time" rather than continuous operation with 100% efficiency), flexible organization of server system (especially data centers), saving time and investment costs as well as operations.
There are many large companies involved in server virtualization and offer many new solutions, of which the two most popular are hard virtualization and soft virtualization.
The first way (also known as "server clone") creates multiple virtual machines on a physical server. Each virtual machine runs its own operating system and is allocated its own CPU clock, storage capacity and network bandwidth. Server resources can be dynamically allocated according to the needs of each virtual machine. This solution allows consolidating cumbersome server systems. Microsoft has also provided a "virtual license" for the hard virtualization solution: Windows Server 2003 R2 version 1 single server allows installation on 4 virtual machines outside the "real" machine.
The second virtualization method (also known as "OS clone") uses a copy of an operating system to create virtual servers right on the OS. Thus, if the "master" operating system is Linux, then this virtualization will allow for more Linux distributions to work on the same machine, which has the advantage of having only one OS license but the drawback is that you cannot. run many different operating systems on the same machine.
However, there is a particular problem with virtualizing the server that is "putting all the eggs in a basket." Is it risky to put all the important servers in a single physical server?
The entire network virtualization solution allows "putting eggs in multiple baskets": gathering the resources of all CPUs, memory, storage and network applications to share work. This solution can providing virtual servers with resources gathered from multiple physical servers located in different places and running different operating systems, memory and storage are also gathered from multiple sources on the network. The flexibility and reliability of the "virtual" server is also extremely high due to the ability to switch jobs from multiple servers, which is the basis of the network concept.
Phuong Uyen