SlideShare une entreprise Scribd logo
1  sur  17
Virtualization
Concepts
CS5204 –
Operating Systems
Virtualization
2
Concepts
 James Smith, Ravi Nair, “The Architectures of Virtual Machines,” IEEE Computer, May 2005, pp. 32-38.
 Mendel Rosenblum, Tal Garfinkel, “Virtual Machine Monitors: Current Technology and Future Trends,” IEEE Computer, May 2005, pp. 39-47.
 L.H. Seawright, R.A. MacKinnon, “VM/370 – a study of multiplicity and usefulness,” IBM Systems Journal, vol. 18, no. 1, 1979, pp. 4-17.
 S.T. King, G.W. Dunlap, P.M. Chen, “Operating System Support for Virtual Machines,” Proceedings of the 2003 USENIX Technical Conference,
June 9-14, 2003, San Antonio TX, pp. 71-84.
 A. Whitaker, R.S. Cox, M. Shaw, S.D. Gribble, “Rethinking the Design of Virtual Machine Monitors,” IEEE Computer, May 2005, pp. 57-62.
 G.J. Popek, and R.P. Goldberg, “Formal requirements for virtualizable third generation architectures,” CACM, vol. 17 no. 7, 1974, pp. 412-421.
References and Sources
CS5204 –
Operating Systems
Virtualization
3
Definitions
 Virtualization
 A layer mapping its visible interface and resources onto the
interface and resources of the underlying layer or system on
which it is implemented
 Purposes
 Abstraction – to simplify the use of the underlying resource (e.g., by
removing details of the resource’s structure)
 Replication – to create multiple instances of the resource (e.g., to simplify
management or allocation)
 Isolation – to separate the uses which clients make of the underlying
resources (e.g., to improve security)
 Virtual Machine Monitor (VMM)
 A virtualization system that partitions a single physical
“machine” into multiple virtual machines.
 Terminology
 Host – the machine and/or software on which the VMM is implemented
 Guest – the OS which executes under the control of the VMM
CS5204 –
Operating Systems
Virtualization
4
Origins - Principles
 Efficiency
 Innocuous instructions should
execute directly on the hardware
 Resource control
 Executed programs may not affect
the system resources
 Equivalence
 The behavior of a program executing
under the VMM should be the same as
if the program were executed directly
on the hardware (except possibly for
timing and resource availability) Communications of the ACM, vol 17, no 7, 1974, pp.412-421
“an efficient, isolated duplicate of the real machine”
CS5204 –
Operating Systems
Virtualization
5
Origins - Principles
Instruction types
 Privileged
an instruction traps in unprivileged (user) mode but not in privileged (supervisor) mode.
 Sensitive
Control sensitive –
attempts to change the memory allocation or privilege mode
Behavior sensitive
 Location sensitive – execution behavior depends on location in memory
 Mode sensitive – execution behavior depends on the privilege mode
 Innocuous – an instruction that is not sensitive
Theorem
For any conventional third generation computer, a virtual machine monitor may be constructed if
the set of sensitive instructions for that computer is a subset of the set of privileged instructions.
Signficance
The IA-32/x86 architecture is not virtualizable.
CS5204 –
Operating Systems
Virtualization
6
Origins - Technology
 Concurrent execution of multiple production operating systems
 Testing and development of experimental systems
 Adoption of new systems with continued use of legacy systems
 Ability to accommodate applications requiring special-purpose OS
 Introduced notions of “handshake” and “virtual-equals-real mode” to allow
sharing of resource control information with CP
 Leveraged ability to co-design hardware, VMM, and guestOS
IBM Systems Journal, vol. 18, no. 1, 1979, pp. 4-17.
CS5204 –
Operating Systems
Virtualization
7
VMMs Rediscovered
 Server/workload consolidation (reduces “server sprawl”)
 Compatible with evolving multi-core architectures
 Simplifies software distributions for complex environments
 “Whole system” (workload) migration
 Improved data-center management and efficiency
 Additional services (workload isolation) added “underneath” the OS
 security (intrusion detection, sandboxing,…)
 fault-tolerance (checkpointing, roll-back/recovery)
VMM
VirtualVirtual
MachineMachine
Guest OS
Application
VirtualVirtual
MachineMachine
Guest OS
Application
VirtualVirtual
MachineMachine
Guest OS
Application
Real
Machine
CS5204 –
Operating Systems
Virtualization
8
Architecture & Interfaces
 Architecture: formal specification of a system’s interface and the logical
behavior of its visible resources.
Hardware
System ISA User ISA
Operating
System
System Calls
Libraries
Applications
ISA
ABI
API
 API – application binary interface
 ABI – application binary interface
 ISA – instruction set architecture
CS5204 –
Operating Systems
Virtualization
9
VMM Types
 System
 Process
 Provides ABI interface
 Efficient execution
 Can add OS-independent
services (e.g., migration,
intrustion detection)
 Provdes API interface
 Easier installation
 Leverage OS services (e.g.,
device drivers)
 Execution overhead (possibly
mitigated by just-in-time
compilation)
CS5204 –
Operating Systems
Virtualization
10
System-level Design Approaches
 Full virtualization (direct execution)
 Exact hardware exposed to OS
 Efficient execution
 OS runs unchanged
 Requires a “virtualizable” architecture
 Example: VMWare
 Paravirtualization
 OS modified to execute under VMM
 Requires porting OS code
 Execution overhead
 Necessary for some (popular) architectures (e.g., x86)
 Examples: Xen, Denali
CS5204 –
Operating Systems
Virtualization
11
Design Space (level vs. ISA)
 Variety of techniques and approaches available
 Critical technology space highlighted
API interface ABI interface
CS5204 –
Operating Systems
Virtualization
12
System VMMs
 Structure
 Type 1: runs directly on host hardware
 Type 2: runs on HostOS
 Primary goals
 Type 1: High performance
 Type 2: Ease of
construction/installation/acceptability
 Examples
 Type 1: VMWare ESX Server, Xen, OS/370
 Type 2: User-mode Linux
Type 1
Type 2
CS5204 –
Operating Systems
Virtualization
13
Hosted VMMs
 Structure
 Hybrid between Type1 and Type2
 Core VMM executes directly on hardware
 I/O services provided by code running on HostOS
 Goals
 Improve performance overall
 leverages I/O device support on the HostOS
 Disadvantages
 Incurs overhead on I/O operations
 Lacks performance isolation and performance
guarantees
 Example: VMWare (Workstation)
CS5204 –
Operating Systems
Virtualization
14
Whole-system VMMs
 Challenge: GuestOS ISA differs from HostOS
ISA
 Requires full emulation of GuestOS and its
applications
 Example: VirtualPC
CS5204 –
Operating Systems
Virtualization
15
Strategies
 De-privileging
 VMM emulates the effect on system/hardware
resources of privileged instructions whose
execution traps into the VMM
 aka trap-and-emulate
 Typically achieved by running GuestOS at a lower
hardware priority level than the VMM
 Problematic on some architectures where
privileged instructions do not trap when executed
at deprivileged priority
 Primary/shadow structures
 VMM maintains “shadow” copies of critical
structures whose “primary” versions are
manipulated by the GuestOS
 e.g., page tables
 Primary copies needed to insure correct
environment visible to GuestOS
 Memory traces
 Controlling access to memory so that the shadow
and primary structure remain coherent
 Common strategy: write-protect primary copies
so that update operations cause page faults
which can be caught, interpreted, and emulated.
resource
vmm
privileged
instruction
trap
GuestOS
resource
emulate change
change
CS5204 –
Operating Systems
Virtualization
16
Virtualizing the IA-32 (x86) architecture
 Architecture has protection rings 0..3 with OS normally in ring 0 and
applications in ring 3…
 …and VMM must run in ring 0 to maintain its integrity and control
 …but GuestOS not running in ring 0 is problematic:
 Some privileged instructions execute only in ring 0 but do not fault when
executed outside ring 0 (remember privileged vs. sensitive?)
 instructions for low latency system calls (SYSENTER/SYSEXIT) always
transition to ring 0 forcing the VMM into unwanted emulation or overhead
 For the Itanium architecture, interrupt registers only accessible in ring 0;
forcing VMM to intercept each device driver access to these registers has
severe performance consequences
 Masking interrupts can only be done in ring 0
 Ring compression: paging does not distinguish privilege levels 0-2,
GuestOS must run in ring 3 but is then not protected from its applications
also running in ring 3
 Cannot be used for 64-bit guests on IA-32
 The fact that it is not running in ring 0 can be detected (is this important?)
CS5204 –
Operating Systems
Virtualization
17
Memory Management
 Isolation/protection of
Guest OS address spaces
 Efficient MM address
translation
VMM
machine
VMM GuestOS
“shadow” page tables page tables
process
virtual
OS
physical
entity
address space

Contenu connexe

Tendances

SYSAD323 Virtualization Basics
SYSAD323 Virtualization BasicsSYSAD323 Virtualization Basics
SYSAD323 Virtualization BasicsDon Bosco BSIT
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology OverviewOpenCity Community
 
Virtualization and cloud Computing
Virtualization and cloud ComputingVirtualization and cloud Computing
Virtualization and cloud ComputingRishikese MR
 
Hardware virtualization basic
Hardware virtualization basicHardware virtualization basic
Hardware virtualization basicSanoj Kumar
 
Cloud Computing using virtulization
Cloud Computing using virtulizationCloud Computing using virtulization
Cloud Computing using virtulizationAJIT NEGI
 
Virtualization
VirtualizationVirtualization
Virtualizationraulverma
 
Virtualization
VirtualizationVirtualization
Virtualizationvishnurk
 
Virtualization technology and an application of building vm ware
Virtualization technology and an application of building vm wareVirtualization technology and an application of building vm ware
Virtualization technology and an application of building vm wareYeditepe University
 
Virtualization: Force driving cloud computing
Virtualization: Force driving cloud computingVirtualization: Force driving cloud computing
Virtualization: Force driving cloud computingMayank Aggarwal
 
VMware Interview questions and answers
VMware Interview questions and answersVMware Interview questions and answers
VMware Interview questions and answersvivaankumar
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsArun Shukla
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloudAshok Kumar
 
1.Introduction to virtualization
1.Introduction to virtualization1.Introduction to virtualization
1.Introduction to virtualizationHwanju Kim
 
Virtual Machine Concept
Virtual Machine ConceptVirtual Machine Concept
Virtual Machine Conceptfatimaanique1
 

Tendances (20)

Virtual machine
Virtual machineVirtual machine
Virtual machine
 
SYSAD323 Virtualization Basics
SYSAD323 Virtualization BasicsSYSAD323 Virtualization Basics
SYSAD323 Virtualization Basics
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology Overview
 
Virtualization and cloud Computing
Virtualization and cloud ComputingVirtualization and cloud Computing
Virtualization and cloud Computing
 
Virtualization basics
Virtualization basics Virtualization basics
Virtualization basics
 
Hardware virtualization basic
Hardware virtualization basicHardware virtualization basic
Hardware virtualization basic
 
Cloud Computing using virtulization
Cloud Computing using virtulizationCloud Computing using virtulization
Cloud Computing using virtulization
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Virtualization technology and an application of building vm ware
Virtualization technology and an application of building vm wareVirtualization technology and an application of building vm ware
Virtualization technology and an application of building vm ware
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Virtualization: Force driving cloud computing
Virtualization: Force driving cloud computingVirtualization: Force driving cloud computing
Virtualization: Force driving cloud computing
 
VMware Interview questions and answers
VMware Interview questions and answersVMware Interview questions and answers
VMware Interview questions and answers
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & Hypervisors
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloud
 
Paravirtualization
ParavirtualizationParavirtualization
Paravirtualization
 
1.Introduction to virtualization
1.Introduction to virtualization1.Introduction to virtualization
1.Introduction to virtualization
 
Virtual Machine Concept
Virtual Machine ConceptVirtual Machine Concept
Virtual Machine Concept
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 

Similaire à Vmm concepts

virtualization.pptx
virtualization.pptxvirtualization.pptx
virtualization.pptxssuser6e6eec
 
IaaS - Virtualization_Cambridge.pdf
IaaS - Virtualization_Cambridge.pdfIaaS - Virtualization_Cambridge.pdf
IaaS - Virtualization_Cambridge.pdfDharavathRamesh2
 
cloud basics.
cloud basics.cloud basics.
cloud basics.Mercy joy
 
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
 
Cloud Computing Virtualization and containers
Cloud Computing Virtualization and containersCloud Computing Virtualization and containers
Cloud Computing Virtualization and containersSelvaraj Kesavan
 
Chapter 5 – Cloud Resource Virtua.docx
Chapter 5 – Cloud Resource                        Virtua.docxChapter 5 – Cloud Resource                        Virtua.docx
Chapter 5 – Cloud Resource Virtua.docxmadlynplamondon
 
Chapter 5 – Cloud Resource Virtua.docx
Chapter 5 – Cloud Resource                        Virtua.docxChapter 5 – Cloud Resource                        Virtua.docx
Chapter 5 – Cloud Resource Virtua.docxgertrudebellgrove
 
Virtualization for Cloud Environment
Virtualization for Cloud EnvironmentVirtualization for Cloud Environment
Virtualization for Cloud EnvironmentDr. Sunil Kr. Pandey
 
VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt
VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).pptVIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt
VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).pptnagarajans87
 
Lecture 1-vs.pptx.......................
Lecture 1-vs.pptx.......................Lecture 1-vs.pptx.......................
Lecture 1-vs.pptx.......................HassamShahid2
 
CloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdfCloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdfkhan593595
 
CloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdfCloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdfkhan593595
 
Virtualization and Cloud Computing
Virtualization and Cloud ComputingVirtualization and Cloud Computing
Virtualization and Cloud ComputingJosh Folgado
 

Similaire à Vmm concepts (20)

virtualization.pptx
virtualization.pptxvirtualization.pptx
virtualization.pptx
 
IaaS - Virtualization_Cambridge.pdf
IaaS - Virtualization_Cambridge.pdfIaaS - Virtualization_Cambridge.pdf
IaaS - Virtualization_Cambridge.pdf
 
cloud basics.
cloud basics.cloud basics.
cloud basics.
 
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
 
Cloud Computing Virtualization and containers
Cloud Computing Virtualization and containersCloud Computing Virtualization and containers
Cloud Computing Virtualization and containers
 
Chapter 5 – Cloud Resource Virtua.docx
Chapter 5 – Cloud Resource                        Virtua.docxChapter 5 – Cloud Resource                        Virtua.docx
Chapter 5 – Cloud Resource Virtua.docx
 
Chapter 5 – Cloud Resource Virtua.docx
Chapter 5 – Cloud Resource                        Virtua.docxChapter 5 – Cloud Resource                        Virtua.docx
Chapter 5 – Cloud Resource Virtua.docx
 
Virtualization for Cloud Environment
Virtualization for Cloud EnvironmentVirtualization for Cloud Environment
Virtualization for Cloud Environment
 
VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt
VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).pptVIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt
VIRTUAL MACHINE VERSATILE PLATFORM01~chapter 1 (1).ppt
 
Lecture 1-vs.pptx.......................
Lecture 1-vs.pptx.......................Lecture 1-vs.pptx.......................
Lecture 1-vs.pptx.......................
 
Virtualization 101
Virtualization 101Virtualization 101
Virtualization 101
 
CloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdfCloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdf
 
CloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdfCloudComputing_UNIT 2.pdf
CloudComputing_UNIT 2.pdf
 
VSS-1.pdf
VSS-1.pdfVSS-1.pdf
VSS-1.pdf
 
Vitualisation
VitualisationVitualisation
Vitualisation
 
Handout2o
Handout2oHandout2o
Handout2o
 
Virtualization Approach: Theory and Application
Virtualization Approach: Theory and ApplicationVirtualization Approach: Theory and Application
Virtualization Approach: Theory and Application
 
Virtualization and Cloud Computing
Virtualization and Cloud ComputingVirtualization and Cloud Computing
Virtualization and Cloud Computing
 
Usenix Invited Talk
Usenix Invited TalkUsenix Invited Talk
Usenix Invited Talk
 
Virtualization
VirtualizationVirtualization
Virtualization
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Vmm concepts

  • 2. CS5204 – Operating Systems Virtualization 2 Concepts  James Smith, Ravi Nair, “The Architectures of Virtual Machines,” IEEE Computer, May 2005, pp. 32-38.  Mendel Rosenblum, Tal Garfinkel, “Virtual Machine Monitors: Current Technology and Future Trends,” IEEE Computer, May 2005, pp. 39-47.  L.H. Seawright, R.A. MacKinnon, “VM/370 – a study of multiplicity and usefulness,” IBM Systems Journal, vol. 18, no. 1, 1979, pp. 4-17.  S.T. King, G.W. Dunlap, P.M. Chen, “Operating System Support for Virtual Machines,” Proceedings of the 2003 USENIX Technical Conference, June 9-14, 2003, San Antonio TX, pp. 71-84.  A. Whitaker, R.S. Cox, M. Shaw, S.D. Gribble, “Rethinking the Design of Virtual Machine Monitors,” IEEE Computer, May 2005, pp. 57-62.  G.J. Popek, and R.P. Goldberg, “Formal requirements for virtualizable third generation architectures,” CACM, vol. 17 no. 7, 1974, pp. 412-421. References and Sources
  • 3. CS5204 – Operating Systems Virtualization 3 Definitions  Virtualization  A layer mapping its visible interface and resources onto the interface and resources of the underlying layer or system on which it is implemented  Purposes  Abstraction – to simplify the use of the underlying resource (e.g., by removing details of the resource’s structure)  Replication – to create multiple instances of the resource (e.g., to simplify management or allocation)  Isolation – to separate the uses which clients make of the underlying resources (e.g., to improve security)  Virtual Machine Monitor (VMM)  A virtualization system that partitions a single physical “machine” into multiple virtual machines.  Terminology  Host – the machine and/or software on which the VMM is implemented  Guest – the OS which executes under the control of the VMM
  • 4. CS5204 – Operating Systems Virtualization 4 Origins - Principles  Efficiency  Innocuous instructions should execute directly on the hardware  Resource control  Executed programs may not affect the system resources  Equivalence  The behavior of a program executing under the VMM should be the same as if the program were executed directly on the hardware (except possibly for timing and resource availability) Communications of the ACM, vol 17, no 7, 1974, pp.412-421 “an efficient, isolated duplicate of the real machine”
  • 5. CS5204 – Operating Systems Virtualization 5 Origins - Principles Instruction types  Privileged an instruction traps in unprivileged (user) mode but not in privileged (supervisor) mode.  Sensitive Control sensitive – attempts to change the memory allocation or privilege mode Behavior sensitive  Location sensitive – execution behavior depends on location in memory  Mode sensitive – execution behavior depends on the privilege mode  Innocuous – an instruction that is not sensitive Theorem For any conventional third generation computer, a virtual machine monitor may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions. Signficance The IA-32/x86 architecture is not virtualizable.
  • 6. CS5204 – Operating Systems Virtualization 6 Origins - Technology  Concurrent execution of multiple production operating systems  Testing and development of experimental systems  Adoption of new systems with continued use of legacy systems  Ability to accommodate applications requiring special-purpose OS  Introduced notions of “handshake” and “virtual-equals-real mode” to allow sharing of resource control information with CP  Leveraged ability to co-design hardware, VMM, and guestOS IBM Systems Journal, vol. 18, no. 1, 1979, pp. 4-17.
  • 7. CS5204 – Operating Systems Virtualization 7 VMMs Rediscovered  Server/workload consolidation (reduces “server sprawl”)  Compatible with evolving multi-core architectures  Simplifies software distributions for complex environments  “Whole system” (workload) migration  Improved data-center management and efficiency  Additional services (workload isolation) added “underneath” the OS  security (intrusion detection, sandboxing,…)  fault-tolerance (checkpointing, roll-back/recovery) VMM VirtualVirtual MachineMachine Guest OS Application VirtualVirtual MachineMachine Guest OS Application VirtualVirtual MachineMachine Guest OS Application Real Machine
  • 8. CS5204 – Operating Systems Virtualization 8 Architecture & Interfaces  Architecture: formal specification of a system’s interface and the logical behavior of its visible resources. Hardware System ISA User ISA Operating System System Calls Libraries Applications ISA ABI API  API – application binary interface  ABI – application binary interface  ISA – instruction set architecture
  • 9. CS5204 – Operating Systems Virtualization 9 VMM Types  System  Process  Provides ABI interface  Efficient execution  Can add OS-independent services (e.g., migration, intrustion detection)  Provdes API interface  Easier installation  Leverage OS services (e.g., device drivers)  Execution overhead (possibly mitigated by just-in-time compilation)
  • 10. CS5204 – Operating Systems Virtualization 10 System-level Design Approaches  Full virtualization (direct execution)  Exact hardware exposed to OS  Efficient execution  OS runs unchanged  Requires a “virtualizable” architecture  Example: VMWare  Paravirtualization  OS modified to execute under VMM  Requires porting OS code  Execution overhead  Necessary for some (popular) architectures (e.g., x86)  Examples: Xen, Denali
  • 11. CS5204 – Operating Systems Virtualization 11 Design Space (level vs. ISA)  Variety of techniques and approaches available  Critical technology space highlighted API interface ABI interface
  • 12. CS5204 – Operating Systems Virtualization 12 System VMMs  Structure  Type 1: runs directly on host hardware  Type 2: runs on HostOS  Primary goals  Type 1: High performance  Type 2: Ease of construction/installation/acceptability  Examples  Type 1: VMWare ESX Server, Xen, OS/370  Type 2: User-mode Linux Type 1 Type 2
  • 13. CS5204 – Operating Systems Virtualization 13 Hosted VMMs  Structure  Hybrid between Type1 and Type2  Core VMM executes directly on hardware  I/O services provided by code running on HostOS  Goals  Improve performance overall  leverages I/O device support on the HostOS  Disadvantages  Incurs overhead on I/O operations  Lacks performance isolation and performance guarantees  Example: VMWare (Workstation)
  • 14. CS5204 – Operating Systems Virtualization 14 Whole-system VMMs  Challenge: GuestOS ISA differs from HostOS ISA  Requires full emulation of GuestOS and its applications  Example: VirtualPC
  • 15. CS5204 – Operating Systems Virtualization 15 Strategies  De-privileging  VMM emulates the effect on system/hardware resources of privileged instructions whose execution traps into the VMM  aka trap-and-emulate  Typically achieved by running GuestOS at a lower hardware priority level than the VMM  Problematic on some architectures where privileged instructions do not trap when executed at deprivileged priority  Primary/shadow structures  VMM maintains “shadow” copies of critical structures whose “primary” versions are manipulated by the GuestOS  e.g., page tables  Primary copies needed to insure correct environment visible to GuestOS  Memory traces  Controlling access to memory so that the shadow and primary structure remain coherent  Common strategy: write-protect primary copies so that update operations cause page faults which can be caught, interpreted, and emulated. resource vmm privileged instruction trap GuestOS resource emulate change change
  • 16. CS5204 – Operating Systems Virtualization 16 Virtualizing the IA-32 (x86) architecture  Architecture has protection rings 0..3 with OS normally in ring 0 and applications in ring 3…  …and VMM must run in ring 0 to maintain its integrity and control  …but GuestOS not running in ring 0 is problematic:  Some privileged instructions execute only in ring 0 but do not fault when executed outside ring 0 (remember privileged vs. sensitive?)  instructions for low latency system calls (SYSENTER/SYSEXIT) always transition to ring 0 forcing the VMM into unwanted emulation or overhead  For the Itanium architecture, interrupt registers only accessible in ring 0; forcing VMM to intercept each device driver access to these registers has severe performance consequences  Masking interrupts can only be done in ring 0  Ring compression: paging does not distinguish privilege levels 0-2, GuestOS must run in ring 3 but is then not protected from its applications also running in ring 3  Cannot be used for 64-bit guests on IA-32  The fact that it is not running in ring 0 can be detected (is this important?)
  • 17. CS5204 – Operating Systems Virtualization 17 Memory Management  Isolation/protection of Guest OS address spaces  Efficient MM address translation VMM machine VMM GuestOS “shadow” page tables page tables process virtual OS physical entity address space