IBM`s VM-by-Aniruddha-Marathe-Fall

Download Report

Transcript IBM`s VM-by-Aniruddha-Marathe-Fall

IBM’s VM
BY
ANIRUDDHA MARATHE
(CS-550/SECTION 1)
INTRODUCTION
• IBM’sVM (Virtual Machine) has long been recognized as a
robust computing platform, spanning the entire family of S/390
and zSeries servers.
• Virtual Machine operating system (VM for short) is used around
the world by over nine million people. For example It is also
used at MIT to run some of their "mission critical" applications.
• The latest version of this technology is known as z/VM and
supports virtual machines on IBM's z Series 900 platform
(formerly known as S/390).
INTRODUCTION
• VM is a modern time-sharing system running at a no.of sites
around the world. It is based on the concept of Virtual Machines;
each VM user works in an environment which simulates (hence
the term 'virtual'), and provides the full power of a System
390/VM ((hence the term 'machine' ).
• VM users also have powerful advanced software development
tools available, such as the ReXX scripting language, the CMS
Pipes facility, and the DB2/VM database system.
• Like most other operating systems, IBM's VM operating system
offers a virtual machine to each user process. The difference
between IBM's VM system and the vast majority of its
competitors is that the virtual machine.
Memory management concept
• VM offers to a user process that has identical semantics to the
machine on which VM runs, except, of course, that it is a bit
slower and has fewer resources.
• In order to offer this, VM relies on a memory management unit
in order to virtualize memory, and it relies on the fact that a
program's access to non-memory resources outside the CPU is
through privileged instructions, such that attempts to use these
in user mode cause a trap.
Virtual Machine Monitor (VMM):
• Virtual Machine Monitor (VMM): software that
manages the machine’s real resource among VMs.
APPLCATIONS
APPLCATIONS
O/S
O/S
VIRTUAL MACHINE VIRTUAL MACHINE
VMM
PHYSICAL MACHINE
Nonprivileged
instruction
Protection/isol
ation
Privileged
instruction
VMM
• In typical mainframe, VMM runs on top of h/w in privileged
mode, and VMs runs in user mode
• If OS/VM issues a non-privileged instruction, they are passed
down directly
• If OS/VM issues a privileged inst, it will cause a trap or
interrupt or exception.
• “sensitive” inst: affect other OS/VM, so they cannot be executed
by OS directly. Ex: PushF, PopF, SIDT, SLDT.
• To be “fully” virtualized, all sensitive and privileged
instructions must be able to trapped.
• Intel Pentium CPU has 17 sensitive and non-privileged
instructions .
The Process Model
• Virtual time: The time used by just this processes. Generally Virtual
time progresses at a rate independent of other processes. Actually, this
is false, the virtual time is typically incremented a little during systems
calls used for process switching; so if there are more other processors
more ``overhead'' virtual time occurs.
• Virtual memory: The memory as viewed by the process. Each process
typically believes it has a contiguous chunk of memory starting at
location zero. Of course this can't be true of all processes (or they
would be using the same memory) and in modern systems it is actually
true of no processes (the memory assigned is not contiguous and does
not include location zero).
• Virtual time and virtual memory are examples of abstractions provided
by the operating system to the user processes.
Advantages.
• Some advantages of using virtual machines include:
 Portability
 Added Security
 Useful for developing O/S and
 Reliability
 System development can be done on the virtual machine,
instead of on a physical machine
 A perfect vehicle for operating-systems research and
development
Disadvantages
• Difficult to implement due to the effort required to
provide an exact duplicate to the underlying machine
• The isolation, however, permits no direct sharing of
resources
• The main disadvantage of this approach is reduced
efficiency.
• provides complete protection of system resources since
each virtual machine is isolated from all other virtual
machines.
JVM
• Compiled Java programs are platform-neutral
bytecodes executed by a Java Virtual Machine
(JVM).
• JVM consists of
- class loader
- class verifier
- runtime interpreter
• Just-In-Time(JIT) compilers increase performance.
Reasons for Linux to run on VM
• Running the Linux operating system as a guest of z/VM or VM/ESA is
a smart choice. Consider the following benefits VM offers a Linux
guest environment:
• Resources can be shared among multiple Linux images running on the
same VM system. These resources include: CPU cycles, memory,
storage devices, and network adapters.
• Server hardware consolidation -- running tens or hundreds of Linux
systems on a single zSeries offers customers savings in space and
personnel required to manage real hardware.
• Virtualization -- the virtual machine environment is highly flexible and
adaptable. New Linux guests can be added to a VM system quickly
and easily without requiring dedicated resources. This is useful for
replicating servers in addition to giving users a highly flexible test
environment.
Continued
• Running Linux on VM means the Linux guest(s) can transparently
take advantage of VM support for zSeries hardware architecture and
RAS features.
• VM/ESA provides high-performance communication among virtual
machines running Linux and other operating systems on the same
processor. The underlying technologies enabling high-speed TCP/IP
connections are virtual channel-to-channel (CTC) adapter support and
VM IUCV (Inter-User Communication Vehicle).
• Linux on zSeries includes a minidisk device driver that can access all
DASD types supported by z/VM and VM/ESA.
• Data-in-memory performance boosts are offered by VM exploitation
of the z/Architecture.
• Debugging -- VM offers a functionally rich debug environment that is
particularly valuable for diagnosing problems in the Linux kernel and
device drivers.
Backups and Cache
• Backups cease to be an issue; because VM is managing all the
disks for the virtual machines, all their data is backed up with the
VM backup. The same with data integrity; for that kind of cash,
you get well-implemented hot-swappable RAID.
• VM has an extremely efficient cache. Frequently accessed disk
blocks will be held in the cache and requests never go to the
drives at all. This is a huge win if you either share disks among
machines, or if you're running a server form.