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
   34   35   36   37   38   39   40   41   42   43   44