View and vote on the article here: Virtual Machines
Virtual Machines| Category | | | Summary | | | Body | <p align="left]Virtual Machines
We know that in the layered approach of design of an operating system, the hardware is the lowest layer, followed by the system calls, system programs and finally the application programs. Everything below the application program level can be treated as one layer. This is the main logical concept of the virtual machine.
The virtual machine concept uses CPU scheduling and virtual memory techniques. It creates an illusion of multiple processes running simultaneously, each with its own unique processor and memory. Each process is supplied with an interface similar to the underlying hardware of the system. The best known example of an OS implementing the virtual machine concept is the VM operating system.
When a case arises that the number of virtual machines needed are more than the number of physical disks provided, the disks are divided into identical virtual disks called minidisks. They are identical in all respects except size which can differ according to needs. The implementation process of the virtual machine is the tricky part. This is because we can not create an exact replica of the basic hardware of the system. The virtual machine runs in the user mode of the physical machine. But even the virtual machine has both the user and monitor mode. Any specialized action, like execution of a privileged instruction, must result in switching to the virtual monitor mode and the physical monitor mode. Because of the division of the CPU resources, the virtual machines are a little slow in execution. Though, to increase efficiency, in some systems it is only necessary to simulate the privileged instructions.
The virtual machine concept is now being widely used because of the several advantages it offers. Firstly, because of the complete isolation of one virtual machine from the other, security threats are minimized. Still, the concept allows sharing of resources as is seen in the case of minidisks.
Secondly, it provides for a safe "experiment lab" for research and development in the field of operating systems. This is because the operating system itself provides enough power to a novice user to completely mess up his or her system. Any small mistake in one part of the system may adversely affect other parts, thus causing irreparable damage to the system. The concept of virtual machine allows endless experimentation without the worry of serious hazards.
Even compatibility problems between platforms can be solved by virtual machines. Vendors like Sun Microsystems and Digital Equipment Corporation use an Intel virtual machine on their machines so that their users can use software developed for DOS/Windows systems. Similarly, the Macintosh includes a Motorola 68000 virtual machine. Using sufficiently fast processors, the overhead caused by translation of instructions can be negated.
The most popular example of the virtual machine concept is the Java Virtual Machine(JVM). Java is a high level language (HLL) developed by Sun Microsystems that uses a compiler that generates bytecode output. Further on, these bytecodes serve as instructions for the Java Virtual Machine. Thus Java becomes a platform independent language, running on many systems like IBM PC, MAC, UNIX server and IBM mainframes. Though Java may execute slower than the standard instruction sets, because of the virtual machine concept, its advantages are too many for it to be ignored. Even the most complex fuctionalities can be implemented on a virtual machine, which may not always be possible in the case of a physical system.
Written by Elastic Reality (4 September 2004)
Member of CAU Knowledge-Bank Tutorial Writers
Edited by jehnx |
|
This article was imported from the CyberArmy University site. (original author: Elastic Reality)
There are no replies to this post yet.
|