SlideShare a Scribd company logo
1 of 32
Virtual Machines: Versatile Platforms
for Systems and Processes
J. E. Smith
University of Wisconsin-Madison
Ravi Nair
IBM Thomas J. Watson Research Center
INTRODUCTION
This material is based on the book, Virtual Machines: Versatile Platforms for
Systems and Processes, Copyright 2005 by Elsevier Inc. All rights reserved.
It has been used and/or modified with permission from Elsevier Inc.
Introduction 3
Course Objectives
 Study VM architectures and applications
 Study key implementation technologies
 Focus on architecture and microarchitecture
aspects
 Cover significant case studies
Introduction 4
Introduction
Why are virtual machines interesting?
They allow transcending of interfaces
(which often seem to be an obstacle to innovation)
They enable innovation in flexible, adaptive software & hardware,
security, network computing (and others)
They involve computer architecture in a pure sense
Virtualization will be a key part of future computer systems
A fourth major discipline? (with HW, System SW, Application SW)
Introduction 5
Advantages of Standard Interfaces
 Major design tasks are decoupled
• In space and time
 Different hardware and software
development schedules
 Software can run on any machine
supporting a compatible interface
PowerPC
MacOS
MacIntosh apps.
x86
Linux
Linux apps
x86
Windows
Windows apps.
Introduction 6
There are also disadvantages…
 Software compiled for one ISA will not run on
hardware with a different ISA
• Apple Mac (PowerPC) binaries on an x86?
 Even if ISAs are the same, OSes may differ
• Windows NT applications on a Solaris x86?
 Binary may not be optimized for the specific hardware
platform it runs on
• Intel Pentium 4 binaries on an AMD Athlon?
MacOS
MacIntosh apps
x86 x86
Windows apps.
Linux
Introduction 7
Disadvantages (contd.)
 Innovation may be inhibited by fixed ISA
• Hard to add new instructions
OR remove obsolete ones
• What was the most recent (successful) new ISA?
Or new OS?
 Difficult for software to interact directly with
implementation
• Performance features
• Power management
• Fault tolerance
• Software is supposed to be implementation independent
Introduction 8
Hardware Resources
 Conventional system software manages
hardware resources directly
• An OS manages the physical memory of a specific
size
• I/O devices are managed as physical entities
 Difficult to share resources except through OS
• All users of hardware must use the same OS
• All users are vulnerable to attack from other users
sharing the resource (via security holes in OS)
Introduction 9
Abstraction
 Computer systems are built
on levels of abstraction
 Higher level of abstraction
hide details at lower levels
 Example: files are an
abstraction of a disk
file
file
abstraction
I/O devices
and
Networking
Controllers
System Interconnect
(bus)
Controllers
Memory
Translation
Execution Hardware
Drivers
Memory
Manager
Scheduler
Operating System
Libraries
Application
Programs
Main
Memory
Software
Hardware
Introduction 10
Virtualization
 An isomorphism from guest to host
• Map guest state to host state
• Implement “equivalent” functions
Si S
Si
' Sj'
Guest
Host
V(Si) V(Sj)
e(Si)
e'(Si')
j
Introduction 11
Virtualization
 Similar to abstraction
Except
• Details not necessarily hidden
 Construct Virtual Disks
• As files on a larger disk
• Map state
• Implement functions
 VMs: do the same thing
with the whole “machine”
file
file
virtualization
Introduction 12
Application Program Interface
• API
• User ISA + library calls
The “Machine”
 Different perspectives on
what the Machine is:
 OS developer
 Compiler developer
 Application programmer
Instruction Set Architecture
• ISA
• Major division between hardware
and software
Application Binary Interface
• ABI
• User ISA + OS calls I/O devices
and
Networking
System Interconnect
(bus)
Memory
Translation
Execution Hardware
Application
Programs
Main
Memory
Operating System
Libraries
Introduction 13
The “Machine”
 Different perspectives on
what the Machine is:
 OS developer
Instruction Set Architecture
• ISA
• Major division between hardware
and software
I/O devices
and
Networking
System Interconnect
(bus)
Memory
Translation
Execution Hardware
Application
Programs
Main
Memory
Operating System
Libraries
Introduction 14
The “Machine”
 Different perspectives on
what the Machine is:
 Compiler developer
Application Binary Interface
• ABI
• User ISA + OS calls
I/O devices
and
Networking
System Interconnect
(bus)
Memory
Translation
Execution Hardware
Application
Programs
Main
Memory
Operating System
Libraries
Introduction 15
The “Machine”
 Different perspectives on
what the Machine is:
 Application programmer
Application Program Interface
• API
• User ISA + library calls
I/O devices
and
Networking
System Interconnect
(bus)
Memory
Translation
Execution Hardware
Application
Programs
Main
Memory
Operating System
Libraries
Introduction 16
Hardware
"Machine"
OS
Applications
Virtualizing
Software
Virtual
Machine
OS
Applications
Guest
VMM
Host
Virtual Machines
add Virtualizing Software to a Host platform
and support Guest process or system on a Virtual Machine (VM)
Example: System Virtual Machine
Introduction 17
The Family of Virtual Machines
 Lots of things are called “virtual machines”
IBM VM/370
Java
VMware
Some things not called “virtual machines”, are virtual machines
IA-32 EL
Dynamo
Transmeta Crusoe
Introduction 18
Taking a Unified View
“The subjects of virtual machines and
emulators have been treated as entirely
separate. … they have much in common. Not
only do the usual implementations have many
shared characteristics, but this commonality
extends to the theoretical concepts on which
they are based”
-- Efrem G. Wallach, 1973
Introduction 19
Major Program Interfaces
 ISA Interface -- supports all conventional
software
System Calls
User ISA
System ISA
ISA
Application Software
Operating System
System Calls
User ISA
System ISA
ABI
Application Software
Operating System
 Application Binary Interface (ABI)
-- supports application software only
Introduction 20
System Virtual Machines
 Provide a system
environment
 Constructed at ISA
level
 Persistent
 Examples: IBM
VM/360, VMware,
Transmeta Crusoe
guest
process
HOST PLATFORM
virtual
network communication
Guest OS
VMM
guest
process
guest
process
guest
process
Guest OS2
VMM
guest
process
guest
process
Introduction 21
System Virtual Machines
 Native VM System
• VMM privileged mode
• Guest OS user mode
• Example: classic IBM
VMs
 User-mode Hosted VM
• VMM runs as user
application
 Dual-mode Hosted VM
• Parts of VMM privileged;
parts non-privileged
• Example VMware
Non-privileged
modes
Privileged
Mode
Virtual
Machine
VMM
Hardware
Virtual
Machine
Host OS
Hardware
VMM
Virtual
Machine
Host OS
Hardware
VMM
Introduction 22
Process VMs
 Execute application binaries with an ISA different from
hardware platform
 Couple at ABI level via Runtime System
 Examples: IA-32 EL, FX!32
Virtualizing
Software
Application Process
Machine
OS
Hardware
Guest
Runtime
Host
Application Process
Virtual
Machine
Introduction 23
Process Virtual Machines
 Constructed at ABI level
 Runtime manages guest
process
 Not persistent
 Guest processes may
intermingle with host
processes
 As a practical matter, guest
and host OSes are often
the same
 Dynamic optimizers are a
special case
 Examples: IA-32 EL, FX!32,
Dynamo
HOST OS
Disk
file sharing
network communication
guest
process
create
host
process
guest
process
runtime
runtime
guest
process
runtime
host
process
Introduction 24
Same-ISA Dynamic Binary Optimizers
 Optimize Binary at Runtime
 An ABI level optimization
 A type of Process VM
 Example HP Dynamo
• Can optimize for dynamic
properties of program
• Can optimize for a specific
processor implementation
HP PA
UNIX
HP Apps
Introduction 25
HLL VMs
 Java and CLI are recent examples
 Binary class files are distributed
 “ISA” is part of binary class format
 OS interaction via APIs (part of VM platform)
Sparc
Workstation
Java Binary Classes
x86
PC
Apple
Mac
VM
implementation
VM
implementation
VM
implementation
Java VM
Architecture
Introduction 26
High Level Language Virtual Machines
 Raise the level of abstraction
• User higher level virtual ISA
• OS abstracted as standard libraries
 Process VM (or API VM)
HLL Program
Intermediate Code
Memory Image
Object Code
(ISA)
Compiler front-end
Compiler back-end
Loader
HLL Program
Portable Code
(Virtual ISA )
Host Instructions
Virt. Mem. Image
Compiler
VM loader
VM Interpreter/Translator
Traditional HLL VM
Introduction 27
Co-Designed VMs
VLIW
Windows
X86 Apps
 Perform both translation and
optimization
 VM provides interface between
standard ISA software and
implementation ISA
 Primary goal is performance or
power efficiency
 Use proprietary implementation ISA
 Transmeta Crusoe and IBM Daisy
best-known examples
Introduction 28
Composition
ISA 2
OS 1
apps 2
OS 1
apps 1
Introduction 29
Composition: Example
Java application
Linux x86
JVM
Windows x86
VMware
Crusoe VLIW
Code Morphing
Introduction 30
Summary (Taxonomy)
VM type (Process or System)
Host/Guest ISA same or different
Multiprogrammed
Systems
Java VM
MS CLI
Transmeta
Crusoe
same ISA
different
ISA
Process VMs System VMs
Virtual PC
for Mac
different
ISA
same ISA
IBM VM/370
VMware
HP
Dynamo
IA-32 EL
FX!32
Introduction 31
Course Topics
 Introduction & VM Overview
 Emulation: Interpretation & Binary Translation
 Process VMs & Dynamic Translators
 Dynamic Binary Optimization
 Co-Designed VMs
 HLL VMs
 System VMs
 Emerging Applications
Introduction 32
Case Studies
 Shade
 Sun WABI
 Compaq FX!32
 HP Dynamo
 VMware
 Transmeta Crusoe
 IBM Daisy
 Intel VT-x
…. and others

More Related Content

Similar to VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt

Unit-I_part-II_Virtualization.pptx
Unit-I_part-II_Virtualization.pptxUnit-I_part-II_Virtualization.pptx
Unit-I_part-II_Virtualization.pptxDARKKNIGHT116809
 
virtual-machine-150316004018-conversion-gate01.pdf
virtual-machine-150316004018-conversion-gate01.pdfvirtual-machine-150316004018-conversion-gate01.pdf
virtual-machine-150316004018-conversion-gate01.pdfKowsalyaJayakumar2
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server VirtualisationAlan McSweeney
 
IT109 Microsoft Windows 7 Operating Systems Unit 02
IT109 Microsoft Windows 7 Operating Systems Unit 02IT109 Microsoft Windows 7 Operating Systems Unit 02
IT109 Microsoft Windows 7 Operating Systems Unit 02blusmurfydot1
 
Vmm concepts
Vmm conceptsVmm concepts
Vmm conceptsLibin M
 
cloud basics.
cloud basics.cloud basics.
cloud basics.Mercy joy
 
Virtualization and Cloud Computing
Virtualization and Cloud ComputingVirtualization and Cloud Computing
Virtualization and Cloud ComputingJosh Folgado
 
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Disco
Disco: Running Commodity Operating Systems on Scalable Multiprocessors DiscoDisco: Running Commodity Operating Systems on Scalable Multiprocessors Disco
Disco: Running Commodity Operating Systems on Scalable Multiprocessors DiscoMagnus Backman
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualizationelliando dias
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsNational Cheng Kung University
 
Virtualization
VirtualizationVirtualization
VirtualizationYansi Keim
 

Similar to VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt (20)

Unit-I_part-II_Virtualization.pptx
Unit-I_part-II_Virtualization.pptxUnit-I_part-II_Virtualization.pptx
Unit-I_part-II_Virtualization.pptx
 
Vitualisation
VitualisationVitualisation
Vitualisation
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
virtual-machine-150316004018-conversion-gate01.pdf
virtual-machine-150316004018-conversion-gate01.pdfvirtual-machine-150316004018-conversion-gate01.pdf
virtual-machine-150316004018-conversion-gate01.pdf
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server Virtualisation
 
IT109 Microsoft Windows 7 Operating Systems Unit 02
IT109 Microsoft Windows 7 Operating Systems Unit 02IT109 Microsoft Windows 7 Operating Systems Unit 02
IT109 Microsoft Windows 7 Operating Systems Unit 02
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Vmm concepts
Vmm conceptsVmm concepts
Vmm concepts
 
Vmm concepts
Vmm conceptsVmm concepts
Vmm concepts
 
Operating system
Operating systemOperating system
Operating system
 
cloud basics.
cloud basics.cloud basics.
cloud basics.
 
Virtualization and Cloud Computing
Virtualization and Cloud ComputingVirtualization and Cloud Computing
Virtualization and Cloud Computing
 
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Disco
Disco: Running Commodity Operating Systems on Scalable Multiprocessors DiscoDisco: Running Commodity Operating Systems on Scalable Multiprocessors Disco
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Disco
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Unit II.ppt
Unit II.pptUnit II.ppt
Unit II.ppt
 
Usenix Invited Talk
Usenix Invited TalkUsenix Invited Talk
Usenix Invited Talk
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM Boards
 
Operating system
Operating systemOperating system
Operating system
 
Overview.ppt
Overview.pptOverview.ppt
Overview.ppt
 
Virtualization
VirtualizationVirtualization
Virtualization
 

More from nagarajans87

DIGITAL MARKETTING ANNA UNIVERSITY 3..pptx
DIGITAL MARKETTING ANNA UNIVERSITY 3..pptxDIGITAL MARKETTING ANNA UNIVERSITY 3..pptx
DIGITAL MARKETTING ANNA UNIVERSITY 3..pptxnagarajans87
 
Unit 1 operatingsystem Introduction.pptx
Unit 1 operatingsystem Introduction.pptxUnit 1 operatingsystem Introduction.pptx
Unit 1 operatingsystem Introduction.pptxnagarajans87
 
4_6 Forward kinematics ROBOTICS ENGINNERING.ppt
4_6 Forward kinematics ROBOTICS ENGINNERING.ppt4_6 Forward kinematics ROBOTICS ENGINNERING.ppt
4_6 Forward kinematics ROBOTICS ENGINNERING.pptnagarajans87
 
Digital marketting UNIT ONE Nootes.pptx
Digital  marketting UNIT ONE Nootes.pptxDigital  marketting UNIT ONE Nootes.pptx
Digital marketting UNIT ONE Nootes.pptxnagarajans87
 
UNIT 2 DIGITAL FRAMEWORK AND MODELS.pptx
UNIT 2   DIGITAL FRAMEWORK AND MODELS.pptxUNIT 2   DIGITAL FRAMEWORK AND MODELS.pptx
UNIT 2 DIGITAL FRAMEWORK AND MODELS.pptxnagarajans87
 
Role-of-Artificial-Intelligence-in-Human-Life.pptx
Role-of-Artificial-Intelligence-in-Human-Life.pptxRole-of-Artificial-Intelligence-in-Human-Life.pptx
Role-of-Artificial-Intelligence-in-Human-Life.pptxnagarajans87
 

More from nagarajans87 (6)

DIGITAL MARKETTING ANNA UNIVERSITY 3..pptx
DIGITAL MARKETTING ANNA UNIVERSITY 3..pptxDIGITAL MARKETTING ANNA UNIVERSITY 3..pptx
DIGITAL MARKETTING ANNA UNIVERSITY 3..pptx
 
Unit 1 operatingsystem Introduction.pptx
Unit 1 operatingsystem Introduction.pptxUnit 1 operatingsystem Introduction.pptx
Unit 1 operatingsystem Introduction.pptx
 
4_6 Forward kinematics ROBOTICS ENGINNERING.ppt
4_6 Forward kinematics ROBOTICS ENGINNERING.ppt4_6 Forward kinematics ROBOTICS ENGINNERING.ppt
4_6 Forward kinematics ROBOTICS ENGINNERING.ppt
 
Digital marketting UNIT ONE Nootes.pptx
Digital  marketting UNIT ONE Nootes.pptxDigital  marketting UNIT ONE Nootes.pptx
Digital marketting UNIT ONE Nootes.pptx
 
UNIT 2 DIGITAL FRAMEWORK AND MODELS.pptx
UNIT 2   DIGITAL FRAMEWORK AND MODELS.pptxUNIT 2   DIGITAL FRAMEWORK AND MODELS.pptx
UNIT 2 DIGITAL FRAMEWORK AND MODELS.pptx
 
Role-of-Artificial-Intelligence-in-Human-Life.pptx
Role-of-Artificial-Intelligence-in-Human-Life.pptxRole-of-Artificial-Intelligence-in-Human-Life.pptx
Role-of-Artificial-Intelligence-in-Human-Life.pptx
 

Recently uploaded

SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 

Recently uploaded (20)

SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 

VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt

  • 1. Virtual Machines: Versatile Platforms for Systems and Processes J. E. Smith University of Wisconsin-Madison Ravi Nair IBM Thomas J. Watson Research Center
  • 2. INTRODUCTION This material is based on the book, Virtual Machines: Versatile Platforms for Systems and Processes, Copyright 2005 by Elsevier Inc. All rights reserved. It has been used and/or modified with permission from Elsevier Inc.
  • 3. Introduction 3 Course Objectives  Study VM architectures and applications  Study key implementation technologies  Focus on architecture and microarchitecture aspects  Cover significant case studies
  • 4. Introduction 4 Introduction Why are virtual machines interesting? They allow transcending of interfaces (which often seem to be an obstacle to innovation) They enable innovation in flexible, adaptive software & hardware, security, network computing (and others) They involve computer architecture in a pure sense Virtualization will be a key part of future computer systems A fourth major discipline? (with HW, System SW, Application SW)
  • 5. Introduction 5 Advantages of Standard Interfaces  Major design tasks are decoupled • In space and time  Different hardware and software development schedules  Software can run on any machine supporting a compatible interface PowerPC MacOS MacIntosh apps. x86 Linux Linux apps x86 Windows Windows apps.
  • 6. Introduction 6 There are also disadvantages…  Software compiled for one ISA will not run on hardware with a different ISA • Apple Mac (PowerPC) binaries on an x86?  Even if ISAs are the same, OSes may differ • Windows NT applications on a Solaris x86?  Binary may not be optimized for the specific hardware platform it runs on • Intel Pentium 4 binaries on an AMD Athlon? MacOS MacIntosh apps x86 x86 Windows apps. Linux
  • 7. Introduction 7 Disadvantages (contd.)  Innovation may be inhibited by fixed ISA • Hard to add new instructions OR remove obsolete ones • What was the most recent (successful) new ISA? Or new OS?  Difficult for software to interact directly with implementation • Performance features • Power management • Fault tolerance • Software is supposed to be implementation independent
  • 8. Introduction 8 Hardware Resources  Conventional system software manages hardware resources directly • An OS manages the physical memory of a specific size • I/O devices are managed as physical entities  Difficult to share resources except through OS • All users of hardware must use the same OS • All users are vulnerable to attack from other users sharing the resource (via security holes in OS)
  • 9. Introduction 9 Abstraction  Computer systems are built on levels of abstraction  Higher level of abstraction hide details at lower levels  Example: files are an abstraction of a disk file file abstraction I/O devices and Networking Controllers System Interconnect (bus) Controllers Memory Translation Execution Hardware Drivers Memory Manager Scheduler Operating System Libraries Application Programs Main Memory Software Hardware
  • 10. Introduction 10 Virtualization  An isomorphism from guest to host • Map guest state to host state • Implement “equivalent” functions Si S Si ' Sj' Guest Host V(Si) V(Sj) e(Si) e'(Si') j
  • 11. Introduction 11 Virtualization  Similar to abstraction Except • Details not necessarily hidden  Construct Virtual Disks • As files on a larger disk • Map state • Implement functions  VMs: do the same thing with the whole “machine” file file virtualization
  • 12. Introduction 12 Application Program Interface • API • User ISA + library calls The “Machine”  Different perspectives on what the Machine is:  OS developer  Compiler developer  Application programmer Instruction Set Architecture • ISA • Major division between hardware and software Application Binary Interface • ABI • User ISA + OS calls I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
  • 13. Introduction 13 The “Machine”  Different perspectives on what the Machine is:  OS developer Instruction Set Architecture • ISA • Major division between hardware and software I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
  • 14. Introduction 14 The “Machine”  Different perspectives on what the Machine is:  Compiler developer Application Binary Interface • ABI • User ISA + OS calls I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
  • 15. Introduction 15 The “Machine”  Different perspectives on what the Machine is:  Application programmer Application Program Interface • API • User ISA + library calls I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
  • 16. Introduction 16 Hardware "Machine" OS Applications Virtualizing Software Virtual Machine OS Applications Guest VMM Host Virtual Machines add Virtualizing Software to a Host platform and support Guest process or system on a Virtual Machine (VM) Example: System Virtual Machine
  • 17. Introduction 17 The Family of Virtual Machines  Lots of things are called “virtual machines” IBM VM/370 Java VMware Some things not called “virtual machines”, are virtual machines IA-32 EL Dynamo Transmeta Crusoe
  • 18. Introduction 18 Taking a Unified View “The subjects of virtual machines and emulators have been treated as entirely separate. … they have much in common. Not only do the usual implementations have many shared characteristics, but this commonality extends to the theoretical concepts on which they are based” -- Efrem G. Wallach, 1973
  • 19. Introduction 19 Major Program Interfaces  ISA Interface -- supports all conventional software System Calls User ISA System ISA ISA Application Software Operating System System Calls User ISA System ISA ABI Application Software Operating System  Application Binary Interface (ABI) -- supports application software only
  • 20. Introduction 20 System Virtual Machines  Provide a system environment  Constructed at ISA level  Persistent  Examples: IBM VM/360, VMware, Transmeta Crusoe guest process HOST PLATFORM virtual network communication Guest OS VMM guest process guest process guest process Guest OS2 VMM guest process guest process
  • 21. Introduction 21 System Virtual Machines  Native VM System • VMM privileged mode • Guest OS user mode • Example: classic IBM VMs  User-mode Hosted VM • VMM runs as user application  Dual-mode Hosted VM • Parts of VMM privileged; parts non-privileged • Example VMware Non-privileged modes Privileged Mode Virtual Machine VMM Hardware Virtual Machine Host OS Hardware VMM Virtual Machine Host OS Hardware VMM
  • 22. Introduction 22 Process VMs  Execute application binaries with an ISA different from hardware platform  Couple at ABI level via Runtime System  Examples: IA-32 EL, FX!32 Virtualizing Software Application Process Machine OS Hardware Guest Runtime Host Application Process Virtual Machine
  • 23. Introduction 23 Process Virtual Machines  Constructed at ABI level  Runtime manages guest process  Not persistent  Guest processes may intermingle with host processes  As a practical matter, guest and host OSes are often the same  Dynamic optimizers are a special case  Examples: IA-32 EL, FX!32, Dynamo HOST OS Disk file sharing network communication guest process create host process guest process runtime runtime guest process runtime host process
  • 24. Introduction 24 Same-ISA Dynamic Binary Optimizers  Optimize Binary at Runtime  An ABI level optimization  A type of Process VM  Example HP Dynamo • Can optimize for dynamic properties of program • Can optimize for a specific processor implementation HP PA UNIX HP Apps
  • 25. Introduction 25 HLL VMs  Java and CLI are recent examples  Binary class files are distributed  “ISA” is part of binary class format  OS interaction via APIs (part of VM platform) Sparc Workstation Java Binary Classes x86 PC Apple Mac VM implementation VM implementation VM implementation Java VM Architecture
  • 26. Introduction 26 High Level Language Virtual Machines  Raise the level of abstraction • User higher level virtual ISA • OS abstracted as standard libraries  Process VM (or API VM) HLL Program Intermediate Code Memory Image Object Code (ISA) Compiler front-end Compiler back-end Loader HLL Program Portable Code (Virtual ISA ) Host Instructions Virt. Mem. Image Compiler VM loader VM Interpreter/Translator Traditional HLL VM
  • 27. Introduction 27 Co-Designed VMs VLIW Windows X86 Apps  Perform both translation and optimization  VM provides interface between standard ISA software and implementation ISA  Primary goal is performance or power efficiency  Use proprietary implementation ISA  Transmeta Crusoe and IBM Daisy best-known examples
  • 28. Introduction 28 Composition ISA 2 OS 1 apps 2 OS 1 apps 1
  • 29. Introduction 29 Composition: Example Java application Linux x86 JVM Windows x86 VMware Crusoe VLIW Code Morphing
  • 30. Introduction 30 Summary (Taxonomy) VM type (Process or System) Host/Guest ISA same or different Multiprogrammed Systems Java VM MS CLI Transmeta Crusoe same ISA different ISA Process VMs System VMs Virtual PC for Mac different ISA same ISA IBM VM/370 VMware HP Dynamo IA-32 EL FX!32
  • 31. Introduction 31 Course Topics  Introduction & VM Overview  Emulation: Interpretation & Binary Translation  Process VMs & Dynamic Translators  Dynamic Binary Optimization  Co-Designed VMs  HLL VMs  System VMs  Emerging Applications
  • 32. Introduction 32 Case Studies  Shade  Sun WABI  Compaq FX!32  HP Dynamo  VMware  Transmeta Crusoe  IBM Daisy  Intel VT-x …. and others