A Virtual Machine

Published on January 2017 | Categories: Documents | Downloads: 23 | Comments: 0 | Views: 2522
of 2
Download PDF   Embed   Report

Comments

Content

Introduction A virtual machine or (VM) is a "completely isolated operating system installation within your normal operating system". This is implemented by either software emulation or hardware virtualization. Definitions A virtual machine (VM) is a software implementation of a machine (i.e. a computer) that executes programs like a physical machine. Virtual machines are separated into two major categories, based on their use and degree of correspondence to any real machine. System Virtual Machine A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS). In contrast, a process virtual machine is designed to run a single program, which means that it supports a single process. An essential characteristic of a virtual machine is that the software running inside is limited to the resources and abstractions provided by the virtual machine it cannot break out of its virtual world.

The main advantages of VMs are:
y y y

Multiple OS environments can co-exist on the same computer, in strong isolation from each other The virtual machine can provide an instruction set architecture (ISA) that is somewhat different from that of the real machine Application provisioning, maintenance, high availability and disaster recovery

The main disadvantages of VMs are:
y y

y

A virtual machine is less efficient than a real machine when it accesses the hardware indirectly when multiple VMs are concurrently running on the same physical host, each VM may exhibit a varying and unstable performance (Speed of Execution, and not results) , which highly depends on the workload imposed on the system by other VMs, unless proper techniques are used for temporal isolation among virtual machines. Multiple VMs each running their own operating system (called guest operating system) are frequently used in server consolidation, where different services that used to run on individual machines to avoid interference are instead run in separate VMs on the same physical machine.

Process virtual machines A process VM, sometimes called an application virtual machine, runs as a normal application inside an OS and supports a single process. It is created when that process is started and destroyed when it

exits. Its purpose is to provide a platform-independent programming environment that abstracts away details of the underlying hardware or operating system, and allows a program to execute in the same way on any platform. A process VM provides a high-level abstraction. Unlike other process VMs, these systems do not provide a specific programming language, but are embedded in an existing language; typically such a system provides bindings for several languages (e.g., C and FORTRAN). Examples are PVM (Parallel Virtual Machine) and MPI (Message Passing Interface). They are not strictly virtual machines, as the applications running on top still have access to all OS services, and are therefore not confined to the system model provided by the "VM". Intel and AMD have introduced features to their x86 processors to enable virtualization in hardware. Other uses of VMs
y y y

Virtual machines can also perform the role of an emulator, allowing software applications and operating systems written for another computer processor architecture to be run. Some virtual machines emulate hardware that only exists as a detailed specification Operating system-level virtualization

Operating system-level virtualization is a server virtualization technology which virtualizes servers on an operating system (kernel) layer. It can be thought of as partitioning: a single physical server is sliced into multiple small partitions (otherwise called virtual environments (VE), virtual private servers (VPS), guests, zones, etc.); each such partition looks and feels like a real server, from the point of view of its users. For example, Solaris Zones supports multiple guest OSes running under the same OS (such as Solaris 10). All guest OSes have to use the same kernel level and cannot run as different OS versions. Solaris native Zones also requires that the host OS be a version of Solaris; other OSes from other manufacturers are not supported.[citation needed],however you need to use Solaris Branded zones to use another OSes as zones. The operating system level architecture has low overhead that helps to maximize efficient use of server resources. The virtualization introduces only a negligible overhead and allows running hundreds of virtual private servers on a single physical server. In contrast, approaches such as full virtualization (like VMware) and paravirtualization (like Xen or UML) cannot achieve such level of density, due to overhead of running multiple kernels. From the other side, operating system-level virtualization does not allow running different operating systems (i.e. different kernels), although different libraries, distributions etc. are possible.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close