This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
A Virtual machine is a software application to be run in its own operating system. It is not physically exist to execute it's a program or operating system which should be create an another environment. It is an isolated duplicate of real machine. It should be exactly act like a normal computer and carries its own virtual i.e. software based. A virtual machine is a guest and runs inside in its operating system are called a host. It's produced to execute an instruction set unlike of host environment. A multiple virtual machines are executed by a single host environment because of they are differ from the physical resources.
Fig1:- virtual machine
Virtual machines are categorized into two major categories according to their use of any real machine. A system virtual machine and a process virtual machine. A system virtual machine which bears the complete system platform of a complete operating system. In contrast a process virtual machine is designed to execute a single program which supports a single process. A virtual machine is entirely composed of software components and no hardware components exist, also virtual machines offered a lot of advantages while compared to real machine.
SYSTEM VIRTUAL MACHINE
System virtual machine is also called hardware virtual machine is leave the sharing of real machine resources between virtual machines each virtual machine running its own operating system. a virtual machine monitor is run on top of an operating system, a virtual machine monitor is a virtualization provided by an software layer.
The main advantages of vms are:
Multiple operating systems are existing in the same computer and strong isolation environment is there in between them.
A virtual machine is also a software which executed by a set of instructions that is somewhat different from a physical machine.
Maintenance, disaster recovery and high availability compared to real machine.
The main disadvantages of vms are:
A virtual machine approaches the hardware indirectly so it's a less efficient.
At the same time a multiple virtual machines are executing on the same host to get a chance of unstable performance like speed of execution, its depends on work load of other virtual machine to recover that a proper techniques are used.
On the same physical machine multiple virtual machines are running their own operating system called guest operating system in that real machine often used in server consolidation, different services are executed on individual virtual machines in order to avoid interference.
The main motivation of the virtual machine is to run multiple operating systems, as it allowed time sharing a single computer between different tasks handled by operating systems. At the introduction stage virtual memory is one of the general considerations of system virtual machine. the single-user operating system of each user providing time sharing and full virtual machine of the first system implemented by IBM's CP/CMS.
The same operating systems does not use the same guest OSes, making to run different OSes on the same computer like Microsoft windows and Linux, or older versions of an OS.The main purpose of the virtual machine is to run different operating systems in the same computer and becoming popular in embedded systems it is to be use of real time operating systems and also an high level operating systems such as Linux or windows.
Process virtual machines
A process virtual machine also described as application virtual machine, it executes only a normal application inside an operating system it holds only a single process this virtual machine is started is when the process is started or destructed once it exists. The main purpose of this machine is to provide a platform-independent programming environment that lifts the details of operating system or hardware.
Process virtual machine allows a high level programming language these virtual machines are implemented using an interpreter according to the performance of compiled programming languages is attained by the use of just-in-time compilation. this virtual machine is also more popular in java programming language which implemented by java virtual machine and also other language of .NET Framework, which runs on VM of common language run time.
In the special case of process virtual machines are over the communication mechanisms of a group of linked computers, this virtual machines does not support single process. Only it executes a single process per physical machine in that group. These tasks are easily designed for programming parallel applications by allowing the programmer focus on algorithms instead of communication mechanism allowed for interconnect and the OS.
List of Hardware supported for virtual machine
Alcatel-Lucent 3B20D/3B21D simulated on commercial off-the-shelf computers with 3B2OE or 3B21E system.
AMD-V (formerly code-named Pacifica)
Freescale PowerPC MPC8572 and MPC8641D
Intel VT-x (formerly code-named Vanderpool)
IBM System/370, System/390, and zSeries mainframes
HP vPAR and cell based nPAR
GE Project MAC
Honeywell Multics systems
IBM System/360 Model 145 Hardware emulator for Honeywell 200/2000 systems
Xerox Sigma 6 CPUs were modified to emulate GE/Honeywell 600/6000 systems
Honeywell Level 6 minicomputers emulated predecessor 316/516/716 minis
List of virtual machine software:
System(Hardware) virtual machine software
ATL (A MTL Virtual Machine)
Bochs, portable open source x86 and AMD64 PCs emulator
CoLinux Open Source Linux inside Windows
CoWare Virtual Platform
LynxSecure uses the MILS architecture to provide high assurance for embedded systems on x86
Windows Virtual PC (formerly Microsoft Virtual PC) and Microsoft Virtual Server
QEMU, is a simulator based on a virtual machine.
Virtual Iron (Virtual Iron 3.1)
VM from IBM
VMware (ESX Server, Fusion, Virtual Server, Workstation, Player and ACE)
II) Process (Application) virtual machine software:
Baan Bshell Virtual Machine - Baan 4GL
Common Language Infrastructure - C#, Visual Basic .NET, J#, C++/CLI (formerly Managed C++)
Dalvik virtual machine - part of the Android mobile phone platform
Dis - Inferno operating system and its Limbo programming language
EiffelStudio for the Eiffel programming language
Erlang programming language
Forth virtual machine - Forth
Glulx - Glulx, Z-code
Hec - Hasm Assembler
Java Virtual Machine - Java, Nice, NetREXX, Scala, Groovy, Clojure, JRuby
Juke Virtual Machine - A public domain ECMA-
Low Level Virtual Machine (LLVM) - currently C, C++, Stacker
Macromedia Flash Player - SWF
p-code machine - Pascal
Parrot - Perl 6
Smalltalk virtual machine - Smalltalk
SQLite virtual machine - SQLite opcodes
Squeak virtual machine - Squeak
Valgrind - checking of memory accesses and leaks in x86/x86-64 code under Linux
Virtual Processor (VP) from Tao Groumadarchodp (UK).
VX32 virtual machine - application-level virtualization for native code
Benefits of using virtual machine
This section describes the benefits of virtual machine technology that benefits the user:
In virtual machines the physical resources are shared in a single computer, they persist completely isolate from each other as if they are separate physical machines. Executing all in one machine would be great if it all worked, but sometimes they results are undesirable interactions. The cause often is software problems such as the need for isolated security.
virtual machine Allow all group of applications isolate in an own sandpit environment, the virtual machines are run on the same physical machine but they appear as a some other machines when software is running for that purpose the performance of the virtual machines are yet to be an independent machines. For e.g. if three or four virtual machines running in the same physical machine if one virtual machines crashes other three virtual machines providing services and function smoothly. In virtual machie isolation is a crucial role wherefore the availability and security of applications running in a virtual environment.
In virtual machine just like a physical computer a virtual machine has its own guest operating system and applications the components what it supported to physical computer like: mother board, network card controller and VGA card etc. that has supported to virtual machine also, so far virtual machines are entirely compatible to all standard x86 operating systems, applications and device drivers, so we can run the virtual machine by using all software components that you would execute on the physical x86 computer.
In a virtual machine a complete set of virtual hardware resources that encapsulates in a single software container. As well as all applications in an operating system inside a software package that encapsulates builds virtual machines incredibly easy to manage and portable, means we can copy and move the software files in virtual machine from one location to another location or else we can saved the data in any standard data storage medium like USB flash memory card.
We can built a virtual machines with virtual components like CPU, network card, SCSI controller, so virtual machines are completely autonomous from their underlying physical hardware. In a physical computer we can't configure virtual components to execute a software component but in virtual machines it's possible to create a virtual environment. But in the virtual machines on the same physical server we can run different operating systems like windows xp, 2007, Linux etc.
Ease of Testing:
In virtual machines we can installed multiple platforms so they are independent to each other, so far IT administrator to test of one software applications in one virtual machines without interrupting the work of other virtual machines. This is one of the great advantages of the newer software versions which will be installed in a particular machine for testing without interrupting work on other virtual machines.
While observing all the above benefits of the virtual machine its is compatible with all x86 computer versions and freely move to one virtual machine to another machine without making any changes of operating systems or applications. Hardware independence also means that we can run different operating systems or software applications on a single computer.
Drawbacks and Challenges of virtual machine technology:
The licensing cost of the virtual machine software is one of the drawbacks in virtual machine technology. If we run the virtual machine software's in servers on virtual machine ware's GSX server or more than the cost of the physical hardware based on physical machine specifications.
Presently virtual machine runs only on Linux hosts because xen charges no license fee and deals only guest operating systems for that source code is available, that standards are admit only in Linux and BSD but not in windows. To execute unmodified guest operating systems means xen be able to run on windows, the Intel is soon being released virtual technology and AMD in Pacifica chip technology.
VM technology is usually reducing the debugs when it is spread in right configuration. When we compare x or x virtual machines some physical machines are higher in n number of virtual machines in the hosting process.
In virtual machine technology running and additional guest operating system on the physical hardware, the performance penalty varies on the virtual machine due to a guest operating system. In VMware workstation due to an additional guest operating system the processor slows down up to 88 percent on I/0 bound tasks.
To improve the virtual machine technology in the performance penalty we need to purchase additional hardware, higher-end hardware to increased the ease of management and the performance penalty much heavier than the license fees and potentially require more hardware requirements per physical machine.
Xen is virtual machine monitor itanium, IA-32, x86-64 and ARM architectures. In the same computer it allows several guest operating systems concurrently. The structure of xen systems with the xen hypervisor is lowest and most privileged layer. On the top of this layer one or more operating systems, which it schedules across the physical CPU. In xen terminology the first guest operating is "domain0"it boots automatically when the xen receives special management privileges by default it directly access all physical hardware. "domain u" in the xen terminology when the system administrator can log into domain 0 to manage further guest operating systems.
In the "domain 0" we can run the upgraded versions of Linux, NetBSD and Solaris. Various modified versions like UNIX operating systems might be function as guest operating systems on a particular hardware systems of using the version 3.0 for xen sources, but in unmodified versions of Microsoft windows and other operating systems can also be run as a guest operating systems if the cpu supports x86 hardware.
Virtual machine monitors are classified into two types Type 1 and Type 2 hypervisors.
Type 1 virtual machine monitors are run directly into the host hardware to handle the hardware and monitor the guest operating systems, but a guest operating systems be run in another level of the hypervisor.
Type2 virtual machine monitors are run within its operating systems. But guest operating systems run at the third level over the hardware.
Ms Windows's system as guests:
If the host machine's processor supports hardware virtualization allowed by Intel VT-x or AMD-V.The unmodified version of Microsoft Windows as a guest operating system is capability to run on Xen version 3.0
Unix-like system as a guest:
To execute guest operating systems for fully virtualized we required special hardware and for par virtualized to require guest Os code modification. The following system has plots leaving them to run paravirtualized Xen guests:
Linux, paravirtualization integrated in 2.6.23, patches for other versions exist
Plan 9 from Bell Labs
OpenBSD, announced here but discontinued
OZONE (has support for Xen v1.2)