A virtual machine (VM) is a
software implementation of a machine (i.e. a computer) that executes programs
like a physical machine. A virtual machine was originally defined by Popek and
Goldberg as "an efficient, isolated duplicate of a real machine". Current
use includes virtual machines which have no direct correspondence to any real
hardware.
Definitions of Virtual Machining
Virtual is a term that originally
came from optics, to understand objects in a mirror. Objects in a mirror are
reflections of an actual physical object but mirrors are not actually that
object. This means that the image looks exactly like the actual object. In
contrast, a process virtual machine is designed to run a single program, which
means that it supports a single process. Essential Virtual machines are
separated into two major categories, based on their use and degree of
correspondence to any real machine.
(a) System virtual machine
(b) Process virtual machine
A system virtual machine provides
a complete system platform which supports the execution of a complete operating
system (OS). 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. System virtual machines
(sometimes called hardware virtual machines) allow the sharing of the
underlying physical machine resources between different virtual machines, each
running its own operating system. The software layer providing the
virtualization is called a virtual machine monitor or hypervisor. A hypervisor
can run on bare hardware (Type 1 or native VM) or on top of an operating system
(Type 2 or hosted VM).
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.
Advantages of System Virtual Machines
(a) Multiple OS environments can
co-exist on the same computer, in strong isolation from each other.
(b) The virtual machine can
provide an instruction set architecture (ISA) that is somewhat different from
that of the real machine.
(c) Application provisioning,
maintenance, high availability and disaster recovery.
While the graphic simulation
available in most CAM packages show only motions, the VM systems can depict the
material removal as well. In a VM system, one starts with the virtual model of
the work piece and as machining progresses, the geometry of the work piece gets
updated by subtracting the volume swept by the cutter during each motion. It is
possible to model even the machine tool and fixture elements so that even
collisions can be detected. The user gets a realistic visual feel of the
machining process in a VM system; it helps in predicting errors on the computer
screen itself. This system can automatically do the verification both to
ascertain the safety of machining (detection of collision etc.) and geometric
conformance to design. It is also possible to optimize the technological
parameters (spindle speed and feed rate) from the geometric characteristics of
the material removal process.
Disadvantages of System Virtual Machines
(a) A virtual machine is less
efficient than a real machine when it accesses the hardware indirectly.
(b) When multiple VMs are
concurrently running on the same physical host, each VM may exhibit a varying
and unstable performance, which highly depends on the workload imposed on the
system by other VMs, unless proper techniques are used for temporal isolation
among virtual machines.
After verifying the NC programs using a
virtual machining system, the NC programmer can hand them over to the operator
for machining. This also makes global manufacturing possible - model in one
place, prepare cutter path in another place and machine it in yet another
place. VM systems are too few compared to the CAM packages due to its high
computational complexity. However, with the availability of powerful low cost
computer hardware and software, VM systems are emerging. VM can also be used
for machine tool simulation as well as optimization of spindle speed and feed
rate. Standardization of NC procedures and documentation and careful customization
of VM system will improve its effectiveness.
No comments