I/O and virtualization
|
|
- Dwayne Farmer
- 6 years ago
- Views:
Transcription
1 I/O and virtualization CSE-C3200 Operating systems Autumn 2015 (I), Lecture 8 Vesa Hirvisalo
2 Today I/O management Control of I/O Data transfers, DMA (Direct Memory Access) Buffering Single buffering Double buffering Virtualization The process abstraction defines a virtualization Why do we need something else? Compared to emulation and simulation Different classes of virtualization Virtual machines, virtualization engines, etc., and their support 2
3 I/O management 3
4 Introduction Reminder: The main tasks of an OS Resource management Abstraction of hardware Peripheral devices Often many, different types, Must be Managed Abstracted The appear as the filesystem, the network, Usually Significant proportion of a large OS is driver code The driver code is typically also the I/O code 4
5 I/O and devices Often there is plenty of structure Busses, bridges, controllers, (below a classical PC) Accessing the structure and its parts is not trivial From old main frames to newer devices Computer hardware is evolving rapidly (no universal computer ) Stand-alone computers are (more or less) dead No such thing Huge variations The traditional computer architecture (the PC) The novel computer architecture 5
6 Devices Devices come in wide variety human readable: display/keyboard/mouse etc. machine readable: hard disks, USB keys, sensors communication: modems,... Key differences data rate: orders of magnitude differences application: e.g., a hard disk vs. a keyboard complexity of control: e.g., disk vs. printer unit of transfer: block vs. character (stream) oriented data representation: data encoding differs from device to device error conditions: how the errors are handled and reported back, T.Lilja 6
7 Control of I/O Programmed I/O (typically polling) OS (CPU) issues I/O commands on behalf of a process the process waits until the the operation is complete Interrupt-driven I/O if instruction is non-blocking, process continues if instructions is blocking, the process is moved to blocked state once the I/O is finished, an interrupt is issued Direct Memory Access (DMA) processor initiates data transfer DMA module transfers the data independently DMA module issues an interrupt once the transfer is completed 7
8 Data transfers Small amount can be transferred by the processor big amounts call for HW support otherwise, CPU will become a bottleneck DMA transfer operation type: read or write address of the I/O device involved (e.g. network card) memory address where to start the operation number of words to be read or written PCI architecture includes arbitration PCI devices can request control of the bus and issue memory read/write operations 8
9 Organization Sharing the system bus with memory and CPU DMA module performs programmed I/O to transfer data inefficient: DMA must issue a transfer request and a transfer which both go to the same system bus! Explicit paths from DMA to I/O modules saves bus cycles: avoids the transfer request I/O systems might have their own DMA modules or share them Dedicated I/O bus allows sharing the DMA module among I/O devices easily expandable communication among I/O devices possible without going to memory, T.Lilja 9
10 Layered I/O handling Layered architecture lower the level the closer the HW layers should communicate through well-defined APIs Logical I/O provides the interface for the processes open, close, read, write Device I/O data converted to I/O instructions, channel and control commands buffering techniques may be used Scheduling and control I/O requests are scheduled and executed handles interrupts, memory transfer, status updates, T.Lilja 10
11 Buffering 11
12 I/O Buffering Typical issues in I/O there are significant speed differences efficient transfers must be large bursts of data there can be latencies no one at other end is listening Therefore considering control requests are deferred (asynchronous handling) considering data buffers (i.e., reserved memory areas) are used There typically are several buffers user, kernel, device, read, write, 12
13 I/O Device Types Different classifications per OS We use the UNIX ones Stream or character oriented data is transferred one unit at a time random access is not usually supported e.g., keyboard, mouse Block oriented data is moved in blocks block size for HDD is, e.g., 4096 bytes random accessing data is possible (or even fast) usually linearly addressed 13
14 Single Buffer: Block-Oriented Devices Block-oriented device: reading I/O device input is first transferred to the kernel space buffer once completed, the buffer is moved to the user space and another request for the I/O is issued (read-ahead) at the end one unnecessary read is done Block-oriented device: writing process data is first copied to a kernel buffer user process is free to continue its run data is written to the I/O device at a later time Process need not hang waiting for I/O to be completed swapping the userland side of I/O buffer is possible, T.Lilja 14
15 Single Buffer: Stream-Oriented Devices Line-at-a-time buffering kernel buffer is filled until a line termination character is found from the input stream e.g., terminal window Byte-a-time buffering single byte is read to the kernel and moved to the user avoids writing the data directly to the user address space e.g., mouse in a GUI Stream-oriented device: reading user process is suspended until a line of input is read avoids context switches between user process and I/O handling Stream-oriented device: writing user process can write a line and continue must suspend only if another line of output is available before the previous one gets written to the I/O device (flushed), T.Lilja 15
16 Double Buffering We can assign two kernel buffers for the I/O operation one is used by the process for reading/writing another is used by the kernel/device driver for I/O when operation(s) is(are) completed, the buffers are swapped Allows simultaneously access for both OS and process single buffering: process must block if the device driver is currently updating the buffer Using more than two buffers (circular buffering) Needed if the process performs rapid bursts of complex I/O Note: buffer = an area with concurrency control The point here is the use of locks, or semaphores, or Smaller granularity gives more opportunities for parallelism 16
17 Virtualization 17
18 Introduction Process abstraction is a virtualization But not a very good one (roughly: a program in execution) Process descriptors are large They refer to a whole lot of data Complex memory structures (incl. sharing), complex open files, etc. The data binds processes tightly onto the platform Migration of processes is heavy (sometimes almost impossible) Programs need to co-operate Process context switches are heavy Therefore IPC (Inter-Process Communication) is slow Threads are no good, also Parallel processing with threads is a nightmare Difficult to fix (we get back to this issue on the next lecture) HW threads are hard to replace 18
19 Virtualization Virtualization using resources that do not match real resources virtualization is based on real resources a virtual printer may be implemented by using several physical printers to do its job a virtual machine is usually based on the computational resources of an other (physically existing) machine Emulation a form of virtualization where there exists a physical device, whose behavior we mimic (without having the physical device) Simulation we imitate the operation of a system based on a model E.g., we have an abstract model of a memory system and simulate the operation of the memory system by using the model 19
20 Virtual computers (1/2) CPU emulates CPU instruction set, registers and other internal state e.g., MIPS simulator run on x86 would allow executing MIPS binaries provided that binary does no system calls or external device access Peripherals individual device emulation like memory, hard disks, networks e.g. distributed role system provide an illusion of a single hard disk even though data is spread through set of networked disks Full system virtualization models all parts of real or fictive system e.g. CPU, Memory, PCI-Bus, Network Interface if such hardware is exists and is supported by a SDK we can run real binaries unmodified, T.Lilja 20
21 Virtual computers (2/2) Operating system virtualization share the same kernel several isolated user-space instances user space instances have their own independent file system hierarchy resources can be allocated on instance bases e.g., Solaris containers Application level virtualization emulate some run-time requirements of applications e.g., system calls of a kernel: FreeBSD's Linux system call emulation allows running unmodified Linux binaries on a FreeBSD host WINE Windows Emulator allows running Windows binaries on Linux Programming language virtual machines Java Virtual Machine providing runtime support for Java byte code for these, usually there is no real hardware counterpart, T.Lilja 21
22 Classification of virtualization (1/2) Separation of guest and host (and their OSes) Host operating system is run on real hardware Guest operating system is run in a virtualized environment Bare metal architecture Hypervisor on real hardware Guest on the hypervisor Hosted architecture Host operating system on real hardware Hypervisor run on the operating system In both cases, the guest is running on the hypervisor Basically, multiple different guest operating system(s) on top of a real hardware, T.Lilja 22
23 Classification of virtualization (2/2) Full virtualization the whole system is completely modelled (CPU, Disk, NIC, ) allows for running unmodified guest operating systems e.g., system-mode QEMU Partial virtualization parts of the hardware are simulated allowing some code run unmodified not full blown kernel but some user-land binaries r.g., virtual 8086 mode on x86 architecture Paravirtualization hardware is not necessary emulated at all Guest OS is modified to be able to run in paravirtualized environment, T.Lilja 23
24 Hardware virtualization (1/3) Virtual Machine Monitor/Hypervisor is capable of virtualizing full set of hardware resources when the following criteria are met equivalence: program running under virtual machine monitor behaves essentially identically to one running on equivalent (real) machine safety: hypervisor or virtual machine monitor must be in complete control of the virtualized resources performance: most of the instructions should be executed without virtual machine monitor intervention If the safety criterion is broken guest program can take control of the virtualized resources without ever giving control back to VMM If the performance criterion is broken It may be too slow to provide any useful service, T.Lilja 24
25 Hardware virtualization (2/3) To derive conditions of a virtualization of a hardware architecture, we have to classify ISA of a CPU into three categories Privileged instructions cause a trap or exception when run in user mode do not cause any exception when run in kernel mode Control sensitive instructions change the configuration or state of resource e.g., processor execution mode Behavior sensitive instructions result depends on the configuration of a resource e.g., content of the relocation register or processor mode, T.Lilja 25
26 Hardware virtualization (3/3) An effective VM can be constructed if the set of sensitive instructions is a subset of the set of privileged instructions Why? All instructions that can effect the functioning of the VMM (i.e. sensitive instructions) must pass control to the VMM guarantees safety criteria Non-privileged instructions are executed natively guarantees performance criteria Classic or trap-and-emulate virtualization VMM must trap and emulate every sensitive instruction run non-sensitive instructions natively and for the sensitive instructions install a trap handler that is run instead of the OS trap handler, T.Lilja 26
27 Virtualization with Intel x86 (1/2) Classical x86 architecture had some sensitive instructions that did not produce traps (critical instructions) e.g., critical instructions change processor or resource state without allowing the virtual machine monitor to intervene Causes problems when VMM runs multiple OS OS #1 issues SIDT (Store Interrupt Descriptor Table Register) instruction and install interrupt handler vector OS #2 issues SIDT OS #1 invokes an interrupt OS #1 ends up in the OS #2 interrupt handler trap-and-emulate would not work Classical x86 can perform virtualization by binary translation replace sensitive instructions not producing traps with instructions that transfer control to the virtual machine monitor but the performance for critical instructions is poor, T.Lilja 27
28 Virtualization with Intel x86 (2/2) AMD released virtualization extension called AMD-v in 2005 Intel followed in 2006 releasing extension called VT-x which modifies 86 behavior when running VMM two operation modes: VMM and Guest mode own address space for VMM and Guest OSes transfer control to VMM when OS uses sensitive instructions virtualized interrupt vectors for guest OS Virtual Machine Control Structure used for context switching between Guest OS and VMM This provided the basic HW virtualization of the CPU but peripheral device virtualization was still not very efficient, T.Lilja 28
29 QEMU An emulator using Dynamic Binary Translation (DBT) Full software virtualization (no specific HW support required) User-mode user code is natively executed after DBT processor ISA functional emulation OS and rest of the system is emulated by the QEMU System-mode all code is natively executed after DBT all HW is emulated by QEMU Supports various CPUs: x86, PowerPC, ARM, SPARC, a number of various peripherals, PCI and ISA bridges network cards, audio cards, USB controllers, hard disks, QEMU is lacking proper multicore support QEMU can emulate a multicore guest but using a unicore host (or one core of a multicore) memory sharing and coherency are issues here 29
30 Xen (1/2) Xen hypervisor is run when the system boots dom0: runs modified version of Linux kernel (host OS) guest is aware that it is a virtual machine makes hypercalls directly, rather than issuing privileged instructions provides device drivers for all guests uses Xend daemon to control execution of the Guest OS XenStore provides statistics collection domu: runs guest operating systems unmodified OS if hardware assisted virtualization is supported otherwise, guests must be paravirtualized (critical instructions translated and device access remapped), T.Lilja 30
31 Xen (2/2), T.Lilja 31
32 I/O virtualization 32
33 Virtual I/O devices Similarly as for computing, I/O can be virtualized I/O operations are done with virtual devices The underlying HW implementation may differ significantly A memory copy may realize as network operations A network transfer may realize as a memory copy Programmability Code portability, migrations, etc. are hard Do such things under the hood Performance I/O operations are typically very slow (Parallel) hardware acceleration is often the answer Forget about the hand coded assembler is faster This is obsolete: modern systems are far too complex 33
34 KVM KVM consists of loadable generic kernel module (kvm.ko) and specific modules for AMD/Intel guest OS are run under modified version of the QEMU emulator part of Linux kernel and uses its scheduler and memory management to do the resource division easy to setup (no boot needed) no paravirtualization for CPU but may support it for I/O wrt to QEMU QEMU purely software-based and somewhat slow wrt to Xen Xen is an external hypervisor host OS needs to be specifically compiled supports paravirtualization, T.Lilja 34
35 Docker Applications in software containers Abstract the platform structure away Operating system-level virtualization Not actually a virtual machine Basically a virtualization engine Use Linux container mechanisms Process isolation and co-operation By using the kernel mechanisms Toward distributed systems Abstracts the network connection Multiple processes, apps, tasks, etc. Run on single or multiple hosts Sllows for lightweight communication Docker uses directly the kernel Allows for using quotas Does not support live migration 35
36 I/O virtualization with Intel x86 Extended Page Tables Translate guest-physical host-physical address Guest OS can modify its own page tables without VMM IOMMU Allows a single Guest OS direct access for I/O devices techniques: DMA and interrupt remapping AMD-Vi and Intel VT-d Toward the CPU: Intel CMT and CAT Network Virtualization Network card hardware must support this Allows sharing a single network device with multiple guest OS Allows hardware accelerated I/O operations Intel VT-c, SR-IOV, MR-IOV PC-SIG I/O virtualization PCI-E standardized non x86-specific I/O virtualization methods 36
37 Resource management tools (1/2) Virtualization needs basic tools Virtualization is an abstraction by definition But: there must be resource management, too And security, dependability, etc. (remember the OS basic tasks) Linux provides a wide range of tools, e.g. cgroups (control groups) An evolution of various mechanisms (check the 2.6.x history) A unified interface to many different use cases E.g., memory usage limit for a subsystem Namespaces Isolating the namespace of a subsystem from the others pid, mount, NIC, hostnames, etc. E.g., virtual machine isolation Governors E.g., in CPUfreq subsystem e.g., Performance Governor, Powersave Governor, On-demand Governor, Conservative Governor (what is available depends on the system) 37
38 Resource management tools (2/2) 38
Virtualization. Pradipta De
Virtualization Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Virtualization Basics System Virtualization Techniques CSE506: Ext Filesystem 2 Virtualization? A virtual machine (VM) is an emulation
More informationModule 1: Virtualization. Types of Interfaces
Module 1: Virtualization Virtualization: extend or replace an existing interface to mimic the behavior of another system. Introduced in 1970s: run legacy software on newer mainframe hardware Handle platform
More informationSpring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand
Introduction to Virtual Machines Nima Honarmand Virtual Machines & Hypervisors Virtual Machine: an abstraction of a complete compute environment through the combined virtualization of the processor, memory,
More informationLecture 5: February 3
CMPSCI 677 Operating Systems Spring 2014 Lecture 5: February 3 Lecturer: Prashant Shenoy Scribe: Aditya Sundarrajan 5.1 Virtualization Virtualization is a technique that extends or replaces an existing
More informationCloud Computing Virtualization
Cloud Computing Virtualization Anil Madhavapeddy anil@recoil.org Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. x86 support for virtualization. Full and
More informationThe Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36
The Challenges of X86 Hardware Virtualization GCC- Virtualization: Rajeev Wankar 36 The Challenges of X86 Hardware Virtualization X86 operating systems are designed to run directly on the bare-metal hardware,
More informationVirtualization, Xen and Denali
Virtualization, Xen and Denali Susmit Shannigrahi November 9, 2011 Susmit Shannigrahi () Virtualization, Xen and Denali November 9, 2011 1 / 70 Introduction Virtualization is the technology to allow two
More informationChapter 5 C. Virtual machines
Chapter 5 C Virtual machines Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple guests Avoids security and reliability problems Aids sharing
More informationWhat is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks
LINUX-KVM The need for KVM x86 originally virtualization unfriendly No hardware provisions Instructions behave differently depending on privilege context(popf) Performance suffered on trap-and-emulate
More informationVirtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization
Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.
More informationLast class: Today: Course administration OS definition, some history. Background on Computer Architecture
1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O
More informationVirtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized
Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.
More informationKnut Omang Ifi/Oracle 20 Oct, Introduction to virtualization (Virtual machines) Aspects of network virtualization:
Software and hardware support for Network Virtualization part 2 Knut Omang Ifi/Oracle 20 Oct, 2015 32 Overview Introduction to virtualization (Virtual machines) Aspects of network virtualization: Virtual
More informationCHAPTER 16 - VIRTUAL MACHINES
CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and benefits of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show
More informationThe Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)
The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014) ManolisMarazakis (maraz@ics.forth.gr) Institute of Computer Science (ICS) Foundation
More informationNested Virtualization and Server Consolidation
Nested Virtualization and Server Consolidation Vara Varavithya Department of Electrical Engineering, KMUTNB varavithya@gmail.com 1 Outline Virtualization & Background Nested Virtualization Hybrid-Nested
More informationMultiprocessor Scheduling. Multiprocessor Scheduling
Multiprocessor Scheduling Will consider only shared memory multiprocessor or multi-core CPU Salient features: One or more caches: cache affinity is important Semaphores/locks typically implemented as spin-locks:
More informationDistributed Systems COMP 212. Lecture 18 Othon Michail
Distributed Systems COMP 212 Lecture 18 Othon Michail Virtualisation & Cloud Computing 2/27 Protection rings It s all about protection rings in modern processors Hardware mechanism to protect data and
More informationCSCI 8530 Advanced Operating Systems. Part 19 Virtualization
CSCI 8530 Advanced Operating Systems Part 19 Virtualization Virtualization This is a very old idea It appears in many different forms A variety of commercial products exist The idea has become hot again
More informationCSCE 410/611: Virtualization
CSCE 410/611: Virtualization Definitions, Terminology Why Virtual Machines? Mechanics of Virtualization Virtualization of Resources (Memory) Some slides made available Courtesy of Gernot Heiser, UNSW.
More informationfor Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC
Virtualization for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC Why virtualization? Virtualization means many things! Multi-programming any UNIX is virtualizing resources to allow
More information1 Virtualization Recap
1 Virtualization Recap 2 Recap 1 What is the user part of an ISA? What is the system part of an ISA? What functionality do they provide? 3 Recap 2 Application Programs Libraries Operating System Arrows?
More informationOperating Systems 4/27/2015
Virtualization inside the OS Operating Systems 24. Virtualization Memory virtualization Process feels like it has its own address space Created by MMU, configured by OS Storage virtualization Logical view
More informationVirtual Machine Monitors!
ISA 673 Operating Systems Security Virtual Machine Monitors! Angelos Stavrou, George Mason University! Virtual Machine Monitors 2! Virtual Machine Monitors (VMMs) are everywhere! Industry commitment! Software:
More informationI/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13
I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of
More informationVirtualization. Dr. Yingwu Zhu
Virtualization Dr. Yingwu Zhu Virtualization Definition Framework or methodology of dividing the resources of a computer into multiple execution environments. Types Platform Virtualization: Simulate a
More informationNON SCHOLAE, SED VITAE
TDIU11 Operating systems Operating System Structures and Machines [SGG7/8] Chapter 2.7-2.8 [SGG9] Chapter 2.7, 1.11.6 Copyright Notice: The lecture notes are modifications of the slides accompanying the
More informationVirtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.
Virtualization...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania April 6, 2009 (CIS 399 Unix) Virtualization April 6, 2009 1 / 22 What
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 16: Virtual Machine Monitors Geoffrey M. Voelker Virtual Machine Monitors 2 Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot
More informationCHAPTER 16 - VIRTUAL MACHINES
CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and bene ts of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is
More informationScuola Superiore Sant Anna. I/O subsystem. Giuseppe Lipari
Scuola Superiore Sant Anna I/O subsystem Giuseppe Lipari Input Output and Device Drivers ERI Gennaio 2008 2 Objectives of the I/O subsystem To hide the complexity From the variability of the devices Provide
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationCOMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy
COMPUTER ARCHITECTURE Virtualization and Memory Hierarchy 2 Contents Virtual memory. Policies and strategies. Page tables. Virtual machines. Requirements of virtual machines and ISA support. Virtual machines:
More informationAdvanced Operating Systems (CS 202) Virtualization
Advanced Operating Systems (CS 202) Virtualization Virtualization One of the natural consequences of the extensibility research we discussed What is virtualization and what are the benefits? 2 Virtualization
More informationOS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.
Virtualization Basics Motivation OS Virtualization CSC 456 Final Presentation Brandon D. Shroyer Types of Virtualization Process virtualization (Java) System virtualization (classic, hosted) Emulation
More informationVirtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.
Virtual Machines Part 2: starting 19 years ago Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved. Operating Systems In Depth IX 2 Copyright 2018 Thomas W. Doeppner.
More informationAn overview of virtual machine architecture
An overview of virtual machine architecture Outline History Standardized System Components Virtual Machine Basics Process VMs System VMs Virtualizing Process Summary and Taxonomy History In ancient times:
More informationLecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems
Lecture 7 Xen and the Art of Virtualization Paul Braham, Boris Dragovic, Keir Fraser et al. Advanced Operating Systems 16 November, 2011 SOA/OS Lecture 7, Xen 1/38 Contents Virtualization Xen Memory CPU
More informationVirtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018
Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Today s Papers Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Edouard
More informationVirtualization. Darren Alton
Virtualization Darren Alton A brief introduction... In general, virtualization means emulating computer hardware* with software**. Virtual machine (VM) can mean a couple of things: A process virtual machine
More informationIntroduction to Cloud Computing and Virtualization. Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay
Introduction to Cloud Computing and Virtualization By Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay Talk Layout Cloud Computing Need Features Feasibility Virtualization of Machines What
More informationVirtualization and memory hierarchy
Virtualization and memory hierarchy Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department
More information24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.
24-vm.txt Mon Nov 21 22:13:36 2011 1 Notes on Virtual Machines 15-440, Fall 2011 Carnegie Mellon University Randal E. Bryant References: Tannenbaum, 3.2 Barham, et al., "Xen and the art of virtualization,"
More informationUnit 5: Distributed, Real-Time, and Multimedia Systems
Unit 5: Distributed, Real-Time, and Multimedia Systems Unit Overview Unit 5 provides an extension to the core topics of operating systems. It introduces distributed systems and special-purpose operating
More informationVirtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Virtual Machines Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today's Topics History and benefits of virtual machines Virtual machine technologies
More informationVirtual Machine Security
Virtual Machine Security CSE443 - Spring 2012 Introduction to Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse443-s12/ 1 Operating System Quandary Q: What is the primary goal
More informationXen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016
Xen and the Art of Virtualization CSE-291 (Cloud Computing) Fall 2016 Why Virtualization? Share resources among many uses Allow heterogeneity in environments Allow differences in host and guest Provide
More informationLINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017
LINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017 LINUX KERNEL-BASED VIRTUAL MACHINE KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central
More informationI/O Systems. Jo, Heeseung
I/O Systems Jo, Heeseung Today's Topics Device characteristics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking
More informationCOS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Project
More informationLINUX Virtualization. Running other code under LINUX
LINUX Virtualization Running other code under LINUX Environment Virtualization Citrix/MetaFrame Virtual desktop under Windows NT. aka Windows Remote Desktop Protocol VNC, Dameware virtual console. XWindows
More informationSystem Virtual Machines
System Virtual Machines Outline Need and genesis of system Virtual Machines Basic concepts User Interface and Appearance State Management Resource Control Bare Metal and Hosted Virtual Machines Co-designed
More informationI/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
I/O Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Device characteristics Block device vs. Character device Direct I/O vs.
More informationSpring 2017 :: CSE 506. Device Programming. Nima Honarmand
Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt
More informationOperating Systems. Operating System Structure. Lecture 2 Michael O Boyle
Operating Systems Operating System Structure Lecture 2 Michael O Boyle 1 Overview Architecture impact User operating interaction User vs kernel Syscall Operating System structure Layers Examples 2 Lower-level
More informationChapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs
Chapter 5 (Part II) Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple
More informationLIA. Large Installation Administration. Virtualization
LIA Large Installation Administration Virtualization 2 Virtualization What is Virtualization "a technique for hiding the physical characteristics of computing resources from the way in which other systems,
More informationFaculty of Computer Science, Operating Systems Group. The L4Re Microkernel. Adam Lackorzynski. July 2017
Faculty of Computer Science, Operating Systems Group The L4Re Microkernel Adam Lackorzynski July 2017 2 Agenda Plan What is L4Re? History The L4Re Microkernel / Hypervisor Fiasco Interfaces SMP Virtualization...
More informationServer Virtualization Approaches
Server Virtualization Approaches Virtual Machine Applications Emulation Replication Composition Emulation: Mix-and-match cross-platform portability Replication: Multiple VMs on single platform Composition:
More informationHardware OS & OS- Application interface
CS 4410 Operating Systems Hardware OS & OS- Application interface Summer 2013 Cornell University 1 Today How my device becomes useful for the user? HW-OS interface Device controller Device driver Interrupts
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationKnut Omang Ifi/Oracle 6 Nov, 2017
Software and hardware support for Network Virtualization part 1 Knut Omang Ifi/Oracle 6 Nov, 2017 1 Motivation Goal: Introduction to challenges in providing fast networking to virtual machines Prerequisites:
More information[08] IO SUBSYSTEM 1. 1
[08] IO SUBSYSTEM 1. 1 OUTLINE Input/Output (IO) Hardware Device Classes OS Interfaces Performing IO Polled Mode Interrupt Driven Blocking vs Non-blocking Handling IO Buffering & Strategies Other Issues
More informationOperating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap2 OS Structure National Tsing-Hua University 2016, Fall Semester Outline OS Services OS-Application Interface OS Structure Chapter2 OS-Structure Operating System Concepts NTHU LSA
More informationDEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year and Semester : II / IV Subject Code : CS6401 Subject Name : Operating System Degree and Branch : B.E CSE UNIT I 1. Define system process 2. What is an
More informationCSE 451: Operating Systems Winter I/O System. Gary Kimura
CSE 451: Operating Systems Winter 2012 I/O System Gary Kimura What s Ahead Principles of I/O Hardware Structuring of I/O Software Layers of an I/O System Operation of an I/O System 2 Hardware Environment
More informationXen and the Art of Virtualization
Xen and the Art of Virtualization Paul Barham,, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer,, Ian Pratt, Andrew Warfield University of Cambridge Computer Laboratory Presented
More informationVIRTUALIZATION: IBM VM/370 AND XEN
1 VIRTUALIZATION: IBM VM/370 AND XEN CS6410 Hakim Weatherspoon IBM VM/370 Robert Jay Creasy (1939-2005) Project leader of the first full virtualization hypervisor: IBM CP-40, a core component in the VM
More informationreferences Virtualization services Topics Virtualization
references Virtualization services Virtual machines Intel Virtualization technology IEEE xplorer, May 2005 Comparison of software and hardware techniques for x86 virtualization ASPLOS 2006 Memory resource
More informationOperating Systems. V. Input / Output
Operating Systems V. Input / Output Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Devices of a Computer System Applications OS CPU Memory
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 27 Virtualization Slides based on Various sources 1 1 Virtualization Why we need virtualization? The concepts and
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationIntel Virtualization Technology Roadmap and VT-d Support in Xen
Intel Virtualization Technology Roadmap and VT-d Support in Xen Jun Nakajima Intel Open Source Technology Center Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS.
More informationPerformance Considerations of Network Functions Virtualization using Containers
Performance Considerations of Network Functions Virtualization using Containers Jason Anderson, et al. (Clemson University) 2016 International Conference on Computing, Networking and Communications, Internet
More informationVirtualization (II) SPD Course 17/03/2010 Massimo Coppola
Virtualization (II) SPD Course 17/03/2010 Massimo Coppola The players The Hypervisor (HV) implements the virtual machine emulation to run a Guest OS Provides resources and functionalities to the Guest
More informationDISCO and Virtualization
DISCO and Virtualization 1. Announcements: a. Project now due Friday at 9 pm b. Class moving to CS 1325 starting Thursday. 2. Questions from reviews: a. NFS scalability bottleneck? i. Yes, other things
More informationVirtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels
Virtualization Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels 1 What is virtualization? Creating a virtual version of something o Hardware, operating system, application, network, memory,
More informationI/O virtualization. Jiang, Yunhong Yang, Xiaowei Software and Service Group 2009 虚拟化技术全国高校师资研讨班
I/O virtualization Jiang, Yunhong Yang, Xiaowei 1 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,
More informationInput/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture
168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU
More informationOperating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group
Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and
More informationToday: I/O Systems. Architecture of I/O Systems
Today: I/O Systems How does I/O hardware influence the OS? What I/O services does the OS provide? How does the OS implement those services? How can the OS improve the performance of I/O? Lecture 20, page
More informationThe Price of Safety: Evaluating IOMMU Performance
The Price of Safety: Evaluating IOMMU Performance Muli Ben-Yehuda 1 Jimi Xenidis 2 Michal Ostrowski 2 Karl Rister 3 Alexis Bruemmer 3 Leendert Van Doorn 4 1 muli@il.ibm.com 2 {jimix,mostrows}@watson.ibm.com
More informationBjörn Döbel. Microkernel-Based Operating Systems. Exercise 3: Virtualization
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Björn Döbel Microkernel-Based Operating Systems Exercise 3: Virtualization Emulation Virtualization Emulation / Simulation
More informationLecture 5. KVM for ARM. Christoffer Dall and Jason Nieh. 5 November, Operating Systems Practical. OSP Lecture 5, KVM for ARM 1/42
Lecture 5 KVM for ARM Christoffer Dall and Jason Nieh Operating Systems Practical 5 November, 2014 OSP Lecture 5, KVM for ARM 1/42 Contents Virtualization KVM Virtualization on ARM KVM/ARM: System architecture
More informationComp 204: Computer Systems and Their Implementation. Lecture 18: Devices
Comp 204: Computer Systems and Their Implementation Lecture 18: Devices 1 Today Devices Introduction Handling I/O Device handling Buffering and caching 2 Operating System An Abstract View User Command
More informationCIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:
CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,
More informationCSC 5930/9010 Cloud S & P: Virtualization
CSC 5930/9010 Cloud S & P: Virtualization Professor Henry Carter Fall 2016 Recap Network traffic can be encrypted at different layers depending on application needs TLS: transport layer IPsec: network
More informationVGA Assignment Using VFIO. Alex Williamson October 21 st, 2013
VGA Assignment Using VFIO alex.williamson@redhat.com October 21 st, 2013 Agenda Introduction to PCI & PCIe IOMMUs VFIO VGA VFIO VGA support Quirks, quirks, quirks Status and future Performance 2 A brief
More informationXen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila
Xen and the Art of Virtualization Nikola Gvozdiev Georgian Mihaila Outline Xen and the Art of Virtualization Ian Pratt et al. I. The Art of Virtualization II. Xen, goals and design III. Xen evaluation
More informationEE 660: Computer Architecture Cloud Architecture: Virtualization
EE 660: Computer Architecture Cloud Architecture: Virtualization Yao Zheng Department of Electrical Engineering University of Hawaiʻi at Mānoa Based on the slides of Prof. Roy Campbell & Prof Reza Farivar
More informationVirtualization and Performance
Virtualization and Performance Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International license (http://creativecommons.org/licenses/by-nc/4.0/)
More informationI/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)
I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran
More informationOS Virtualization. Linux Containers (LXC)
OS Virtualization Emulate OS-level interface with native interface Lightweight virtual machines No hypervisor, OS provides necessary support Referred to as containers Solaris containers, BSD jails, Linux
More informationVirtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?
Virtual Machines To do q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm? *Partially based on notes from C. Waldspurger, VMware, 2010 and Arpaci-Dusseau s Three
More informationCS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II
CS-580K/480K Advanced Topics in Cloud Computing VM Virtualization II 1 How to Build a Virtual Machine? 2 How to Run a Program Compiling Source Program Loading Instruction Instruction Instruction Instruction
More informationLast 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture
Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the
More informationCS330: Operating System and Lab. (Spring 2006) I/O Systems
CS330: Operating System and Lab. (Spring 2006) I/O Systems Today s Topics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking
More informationVirtualization for Embedded Systems
Is an open source solution right for you? 6/26/2013 Julia Keffer Page i Table of Contents Table of Contents Introduction... 1 What is Virtualization?... 1 Virtualization Applications... 2 Operating Systems
More information