Page 39 - DCAP507_SYSTEM_SOFTWARE
P. 39
Unit 2: Evolution of Operating System
2.2.5 Virtual Machines Notes
A virtual machine is a type of computer application used to create a virtual environment, which
is referred to as virtualization. Virtualization allows the user to see the infrastructure of a
network through a process of aggregation. Virtualization may also be used to run multiple
operating systems at the same time. Through the help of a virtual machine, the user can operate
software located on the computer platform.
There are different types of virtual machines. Most commonly, the term is used to refer to
hardware virtual machine software, also known as a hypervisor or virtual machine monitor.
This type of virtual machine software makes it possible to perform multiple identical executions
on one computer. In turn, each of these executions runs an operating system. This allows multiple
applications to be run on different operating systems, even those they were not originally
intended for.
Virtual machine can also refer to application virtual machine software. With this software, the
application is isolated from the computer being used. This software is intended to be used on a
number of computer platforms. This makes it unnecessary to create separate versions of the
same software for different operating systems and computers.
Example: Java Virtual Machine is a very well known example of an application virtual
machine.
A virtual machine can also be a virtual environment, which is also known as a virtual private
server. A virtual environment is used for running programs at the user level. Therefore, it is
used solely for applications and not for drivers or operating system kernels.
A virtual machine may also be a group of computers that work together to create a more
powerful machine. In this type of virtual machine, the software makes it possible for one
environment to be formed throughout several computers. This makes it appear to the end user
as if he or she is using a single computer, when there are actually numerous computers at work.
The heart of the system, known as the virtual machine monitor, runs on the bare hardware and
does the multiprogramming, providing not one, but several virtual machines to the next layer
up. However, unlike all other operating systems, these virtual machines are not extended
machines, with files and other nice features. Instead, they are exact copies of the bare hardware,
including kernel/user mod, I/O, interrupts, and everything else the real machine has.
Each virtual machine is identical to the true hardware; therefore, each one can run any operating
system that will run directly on the hardware. Different virtual machines can, and usually do,
run different operating systems. Some run one of the descendants of OF/360 for batch processing,
while other ones run a single-user, interactive system called CMS (conversational Monitor
System) fro timesharing users.
Conceptually, a computer system is made up of layers. The hardware is the lowest level in all such
systems. The kernel running at the next level uses the hardware instructions to create a set of
system calls for use by outer layers. The systems programs above the kernel are therefore able to
use either system calls or hardware instructions, and in some ways these programs do not
differentiate between these two. Thus, although they are accessed differently, they both provide
functionality that the program can use to create even more advanced functions. System programs,
in turn, treat the hardware and the system calls as though they both are at the same level.
Some systems carry this scheme even a step further by allowing the system programs to be
called easily by the application programs. As before, although the system programs are at a
level higher than that of the other routines, the application programs may view everything
under them in the hierarchy as though the latter were part of the machine itself. This layered
approach is taken to its logical conclusion in the concept of a virtual machine.
LOVELY PROFESSIONAL UNIVERSITY 33