Page 50 - DCAP403_Operating System
P. 50

Unit 3: Operating System Structure




          one computer. In turn, each of these executions runs an operating system. This allows multiple   Notes
          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. 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. The VM operating system for IBM
          systems is the best example of the virtual-machine concept, because IBM pioneered the work in
          this area.
          By using CPU scheduling and virtual-memory techniques, an operating system can create the
          illusion of multiple processes, each executing on its own processor with its own (virtual) memory.
          Of course, normally, the process has additional features, such as system calls and a fi le system,
          which are not provided by the bare hardware. The virtual-machine approach, on the other hand,
          does not provide any additional function, but rather provides an interface that is identical to
          the underlying bare hardware. Each process is provided with a (virtual) copy of the underlying
          computer.
          The resources of the physical computer are shared to create the virtual machines. CPU scheduling
          can be used to share the CPU and to create the appearance that users have their own processor.
          Spooling and a fi le system can provide virtual card readers and virtual line printers. A normal
          user timesharing terminal provides the function of the virtual machine operator’s console.


                                           LOVELY PROFESSIONAL UNIVERSITY                                    43
   45   46   47   48   49   50   51   52   53   54   55