Virtual machines allow more than one operating system to run simultaneously on the same physical hardware. A virtual machine monitor sits between guest operating systems and the actual hardware, allocating resources and creating the illusion that each guest has dedicated processors, memory, and devices. This allows the resources of a single physical machine to be shared among multiple virtual machines running different operating systems at the same time.
1. Question?
Does more than one instance of that operating system run on
the same hardware at the same time?
More than one different operating system can share the same
hardware at the same time?
11/25/2012 Unit I - Operating System Structures
2. The answer is Yes.
But How?
We can do it through Virtual Machines.
11/25/2012 Unit I - Operating System Structures
3. A virtual machine provides an interface identical to the
underlying bare hardware.
I.e., all devices, interrupts, memory, page tables, etc.
The Virtual Machine operating system creates the illusion of
multiple processes, each executing on its own processor with
its own (virtual) memory.
11/25/2012 Unit I - Operating System Structures
P .T. O
4. The resources of the physical computer are shared to create
the virtual machines.
CPU scheduling can create the appearance that users have
their own processor.
A normal user time-sharing terminal serves as the virtual
machine operator’s console.
11/25/2012 Unit I - Operating System Structures
5. Non-virtual Machine Virtual Machine
11/25/2012 Unit I - Operating System Structures
6. Virtual Machine Monitor
A layer above the hardware provide interface to operating
systems running on it is called the Virtual Machine Monitor
(VMM).
It provides virtual processors, memory, and virtualized I/O
devices
The OS which provides the virtual machine environment,
is called the Host.
The operating system and the applications running on it
are called Guests.
11/25/2012 Unit I - Operating System Structures
7. Compiled Java programs are platform independent.
They produce byte codes, executed by a Java Virtual
Machine (JVM).
JVM consists of
a) Class loader : Loads .class files from both Java Program and API
b) Class verifier : It checks whether Java Byte code is Valid or not
c) Java interpreter : It executes the Java Byte code.
Just-In-Time (JIT) compilers increases the performance
1. It is used to turn the Byte code into Native machine language.
11/25/2012 Unit I - Operating System Structures
8. 11/25/2012 Unit I - Operating System Structures
9. User goals – operating system should be convenient to use,
easy to learn, reliable, safe, and fast.
System goals – operating system should be easy to design,
implement, and maintain, as well as flexible, reliable, error-
free, and efficient.
11/25/2012 Unit I - Operating System Structures
10. policies decide what will be done.
(i.e. read a string from a file)
Mechanisms determine how to implement a policy.
The separation of policy from mechanism is a very important
principle, it allows maximum flexibility if policy decisions are
to be changed later.
11/25/2012 Unit I - Operating System Structures
11. Traditionally OS are written in assembly language.
Now – a – days OS is written in higher-level languages.
Code written in a high-level language:
can be written faster.
is more compact.
is easier to understand and debug.
An operating system is far easier to port (move to some
other hardware) if it is written in a high-level language.
11/25/2012 Unit I - Operating System Structures
Editor's Notes
Virtual machine
spooling refers to the process of putting instructions or something that needs to be done into memory or on storage until the program or computer is ready to execute those instructions.