Large Systems: Design + Implementation: Virtualization. Image (c) Facebook

Size: px
Start display at page:

Download "Large Systems: Design + Implementation: Virtualization. Image (c) Facebook"

Transcription

1 Large Systems: Design + Implementation: Image (c) Facebook Virtualization

2 Virtualization What is Virtualization "a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources." Virtualization is the process of making things more abstract in order to make them easier to use. 2

3 Examples? 3

4 Storage virtualization Files Linear sequence of bytes Instead of blocks on a disk (or magnetic particles) Disk partitioning LBA RAID - redundant array of independent disks Logical Volume management Combines disks and partitions into logical disks. 4

5 Network virtualization VLAN Channel bonding multiple links combined offered a single, higher-bandwidth link Computer clusters Multiple logical networks on same physical wires multiple discrete computers into larger metacomputers e.g. Hadoop Virtual NICs and bridges for VM communication 5

6 Resource virtualization Multiprogramming Each process thinks it has CPU to itself Virtual memory Present linear address space composed of non-consecutive blocks of: Physical memory Disk space 6

7 7 Virtual Machines

8 Credits Slides largely based on: Virtual Machines: Versatile Platforms for Systems and Processes James E. Smith Ravi Nair Morgan Kaufmann Publishers 2005 Or see: DS3, 3.2 8

9 Why Virtual Machines? LS context: Basis for cloud computing Resource utilization Spin up capacity on demand Server consolidation Facilitate maintenance 9

10 Why Virtual Machines? Spin up capacity on demand Isolate applications in separate VMs Sandbox applications for security Support different OSes concurrently Legacy applications on legacy OSes Application testing using VMs with known state Testing OS upgrades, training OS development 10

11 12 Computer Architecture Recap

12 13 Instruction Set Architecture Software ISA Hardware E.g. x86_64

13 14 User + System ISA Application Programs System ISA Operating System Hardware User ISA

14 15 User ISA = For doing computations Simple Memory Instructions Move data from memory to registers and v.v. Integer Instructions Floating-Point Instructions Branch instructions Jump to address Jump to address if... Part of SHA1 in assembly: addl movl xorl andl xorl %esi, %e; %c, %esi; %d, %esi; %b, %esi; %d, %esi;

15 System ISA (1/2) = Management of system resources System Resources: Management: Main memory Storage Other I/O devices Fair allocation between user programs Prevent concurrent/unauthorized access Role of the Operating System 16

16 17 System ISA (2/2) OS requires special privileges over user programs OS runs in CPU Kernel mode Apps run in CPU User Mode User Mode x86: Implemented via 2 privilege levels / rings Kernel Mode Ring

17 System ISA Instructions Processor Management Memory Management Manage page table, TLB: virtual memory I/O Management Change to user mode + run application Timer interrupt gives control back to OS load and store to/from device Traps Change to kernel mode from application On purpose (system call) or on exception 18

18 19 System Call Instruction Application Programs Operating System System call Handler I/O instructions Hardware Disk System call: read(file) E.g. syscall on x86 or svc on ARM.

19 System Call = Mechanism for User Mode code to request services from Kernel Mode What services? Read/write to files and devices Create processes i.e. use Operating System abstractions: File abstraction for storing blocks on disk Process abstraction for running different code in parallel 20

20 21 System Call Interface (1/2) Application Programs System calls Operating System ISA Hardware

21 System Call Interface (2/2) Read/write files or devices: CreateFile(...) ReadFile(...) WriteFile(...) SetConsoleMode(...) Manipulate processes open(filename, ) read(fd,data, ) write(fd,data, ) ioctl() fork() exit() More... CreateProcess( ) ExitProcess( ) 22

22 23 System calls via libraries Application Programs Libraries System calls Operating System Hardware E.g. libc

23 Architecture Model Application Programs Run Kernel Mode Libraries System calls Operating System Interrupts, Traps, faults Privileged instructions Hardware 24 User Mode

24 25 Class 1 Recap

25 Recap 1 What is Distribution Transparency? What are the 2 main problems in achieving distribution transparency? How much time does it take to send a packet Over a LAN? Over the Atlantic? What are the 5 Scaling Techniques? 26

26 Recap 2 What is the user part of an ISA? What is the system part of an ISA? What functionality do they provide? What is virtual memory? 27

27 28 Recap 3 Application Programs 1 4 Libraries Operating System 3 2 Hardware Arrows? What runs in User / Kernel Mode?

28 29 Virtual Machines

29 Virtualize the machine? What is the machine? Machine is defined by an interface 3 interfaces that can be virtualized: 1. Instruction Set Architecture (ISA) 2. Application Binary Interface (ABI) 3. Application Programming Interface (API) 30

30 31 Interface 1: ISA Application Programs Libraries System calls Operating System ISA Hardware Virtualize a complete machine, that can run an OS, supporting multiple processes = System VM

31 32 Interface 2: ABI Application Programs Libraries System calls Operating System ABI = Hardware Virtualize the environment of a single process (binary) = Process VM System calls + user ISA

32 33 Interface 3: API Application Programs Libraries System calls Operating System API = Hardware Virtualization provides same interface at programming language (source) level. Libraries + user ISA

33 Example Virtualizing ISA Support a machine's complete ISA VM/370 Xen* KVM* 34

34 Example Virtualizing ABI Run binaries unmodified on different platform Common: Run Win32-x86 binaries on: Unix-x86 (Wine) Solaris-SPARC (Sun WABI) Win32-Alpha (Digital FX!32) 35

35 Example Virtualizing API Recompile applications from source Runs on any platform with same API E.g. Linux-x86 and Linux-ARM (Assuming platform-independent code) 36

36 VM Implementations Application Programs Application Programs Libraries Guest OS Virtual Machine Monitor Hardware (a) System VM Virtual Machine Monitor Host OS Hardware (b) Process VM 37

37 What ISA? Same or different Same: Run Win32-x86 on Linux-x86 Diff: Run Linux-ARM on Win32-x86 Application Programs Libraries OS Source ISA Virtual Machine Monitor Hardware Target ISA 38

38 39 Taxonomy Process VMs System VMs Same ISA Different ISA Same ISA Different ISA Multiprogrammed Systems Emulators/ Translators Classic-System VMs Whole-System VMs High-level Language VMs Hosted VMs Codesigned VMs

39 Example: Windows Multiprogramming Win32 native Win32 native 40 Process Win32 API Windows OS One CPU, illusion of processes running in parallel X86 Hardware Process VM / Same ISA

40 41 Example: Android Java High-level Language VM (HLL-VM) Java VM + Libs Linux OS ARM Hardware Different ISA: Java vs. ARM Process VM / Diff ISA

41 42 Example: Android Emulation Java Java VM Win32 native Linux OS WholeSystem VM ARM VM Runtime Process Win32 API Windows OS X86 Hardware System VM / Diff ISA

42 43 Example: Android Emulation on Xen Java Java VM Linux OS ARM VM Runtime Win32 Native Linux Native Windows OS Xen domain Linux Native Linux OS Xen Hypervisor X86 Hardware = Hosted VM

43 44 Example: VMWare Applications VMApp Guest OS VM Driver VMMonitor Host OS X86 Hardware = Hosted VM System VM / Same ISA

44 45 Example: AS/400 Application Programs Higher level ISA OS Source ISA Virtual Machine Monitor Allow evolution of hardware ISA Hardware Target ISA = Co-designed VM System VM / Diff ISA

45 46 Taxonomy Examples Process VMs Same ISA UNIX Multiprogrammed Systems Different ISA Wine, WABI Emulators/ Translators Java VM, MS CLR High-level Language VMs System VMs Same ISA Different ISA VM/370 ARM VM runtime Classic-System VMs Whole-System VMs VMware, Xen, Docker* Hosted VMs AS/400 Codesigned VMs

46 47 Crossword!

47 49 Implementing Virtual Machines with Different ISAs

48 VM implementation: Emulation Emulation = implement interface of one system on another system with a different interface Example: x86 instruction addl %edx,4(%eax) Emulated via PowerPC instructions: lwz addi lwzx lwz add stw r4,0(r1) r5,r4,4 r5,r2,r5 r4,12(r1) r5,r4,r5 r5,12(r1) 50

49 LS 2018 The slides on how to handle different ISAs are not part of the exam. 51

50 52 Emulation Model e Sa Sb Source Executing instruction e changes state of Source machine from Sa to Sb

51 53 Emulation Model e Sa Sb Source S'b Target e' S'a Real machine has corresponding state S'a Performs e by means of instruction(s) e'

52 Recall: Registers + Memory r0 r1 r2 Cache rn PC CPU MEM 54

53 55 Example: Change registers e CPU MEM CPU MEM e' CPU MEM CPU MEM Source Target

54 56 Example: Change registers e CPU MEM CPU MEM e' CPU MEM CPU MEM CPU state of Source may be kept in Target memory, not registers! Source Target

55 Emulation Performance + Methods Can be slow because of mapping Source to Target! Range of emulation methods: Interpretation: Interpretation Binary translation Decode a single source instruction and execute using target instructions Binary translation: Translate a block of source instructions once and reuse 57

56 Interpretation Source instruction is a series of bytes Different formats RISC: clean and simple CISC: complex with legacy Non-hardware: Java bytecodes Complexity of format influences interpretation performance! 58

57 59 Example Formats x86: Prefixes Opcode 0-4 bytes Opcode ModR/M SIB optional optional optional Displace- Immediate ment 0,1,2,4 0,1,2,4 bytes Software developer's manual: 3796 pages! Java: Opcode Index Opcode Index1 Index2 Opcode Data1 Data2 Java VM Specification: 604 pages

58 60 x86 Format Prefixes 0-4 bytes Opcode Opcode ModR/M SIB optional optional optional Displace- Immediate ment 0,1,2,4 0,1,2,4 bytes Prefixes: Repetition for strings, overrides for address and operand sizes ModR/M: addressing mode and which register SIB: base register, index register, index scale Displacement: offset to be added to address Immediate: variable length operand

59 Binary Translation Per-instruction interpretation slow Alternative: Especially when complex Translate blocks of source instructions once Reuse cf. Just-in-Time compilers Hard 61

60 Performance Tradeoff E(n) = time needed to execute an instruction n times Formula: E(n) = S + n*t S = startup time T = time required per emulation of the instruction Interpretation: S low, T high Binary translation S high, T low 62

61 63 Performance Tradeoff Interpretation E Binary Translation n In practice: automatic profiling, often used code is binary translated

62 OS Emulation For Process VMs have to emulate whole ABI User ISA System call interface System call instructions (e.g. sysenter) emulated Translate call from Source OS to Target OS Same OS: straightforward to hard Diff OS: straightfoward to impossible No guarantees that Target OS has same features as Source! E.g. fsync() 64

63 65 Implementing Virtual Machines with the Same ISA

64 66 Same ISA VMs Emulation needed for different ISA VMs For same ISA: Theoretically, source instructions can be executed directly on target Fastest Application Programs Does this work for all Libraries instructions? Guest OS Virtual Machine Monitor Hardware

65 Same ISA VMs (cont'd) No: System ISA instructions need to be controlled When? System VMs with a guest OS How? Guest OS runs in CPU User Mode System ISA instructions called in User Mode activate Kernel Mode i.e., cause a Trap VMM in Kernel Mode then emulates system instruction 67

66 Example: App Scheduling Applications User Mode Run Kernel Mode Operating System Interrupts, Traps, faults Privileged instructions Hardware 68

67 Example: App Scheduling Applications User Mode 2. Run app in User Mode Kernel Mode Operating System 3. Interrupt 1. Set interval timer Hardware 69

68 Example: App Scheduling Applications 4. Run app in User Mode User Mode Operating System 3. Run OS in User Mode 1. Set interval timer t Kernel Mode Virtual Machine Monitor 5. Interrupt 2. Set interval timer t' Hardware 70

69 Example: App Scheduling 71 Applications 4. Run app in User Mode User Mode Operating System 3. Run OS in User Mode 1. Set interval timer t Kernel Mode Virtual Machine Monitor 5. Interrupt 2. Set interval timer t' Hardware t = requested by OS t' = granted by VMM for fair scheduling of multiple VMs

70 Example: App Scheduling Applications Guest OS schedules Apps 4. Run app in User Mode Operating System 3. Run OS in User Mode 1. Set interval timer t Virtual Machine Monitor VMM schedules VMs 5. Interrupt 2. Set interval timer t' Hardware 72

71 x86 Same ISA Problems (1/3) Normal: Apps VM: OS no longer in kernel mode! OS + Apps OS Ring 0: Kernel Mode VMM OS Ring 3: User Mode 73

72 x86 Same ISA Problems (2/3) In x86, not all system instructions in User Mode activate Kernel Mode! When Guest OS runs in User Mode, not all system instruction calls observed by VMM Old solution: patch all binary code! Replace these critical instructions with explicit traps to Kernel Mode 74

73 75 x86 Same ISA Problems (3/3) New solution: Intel VT-x Allows Guest OS to run in Kernel Mode (Ring 0) Shared resources still controlled by VMM Using extra mode: VMX VMX Root for VMM VMX Non-root for Guest OS Ring -1 Also hardware support for VM context switch Apps OS OS VMM

74 77 Native and Hosted VMs Apps Apps Guest OS Guest OS VMM VMM Hardware (a) Native VM Host OS Hardware (b) Dual-Mode Hosted VM User Mode Kernel Mode

75 VMWare Workstation Install on top of existing host OS Easy to use Can use myriad of device drivers available in host OS 78

76 VMWare Architecture Applications VMApp Guest OS VM Driver VMMonitor Host OS X86 Hardware 79

77 VMWare Workstation Adds 3 components VMMonitor VMApp VMM in Kernel Mode, alongside Host OS User Process for translating VMM requests into system calls to host OS VMDriver Extension of the host OS Support switching between Host OS and VMM Enable VMM VMApp communication 80

78 81 VMWare I/O Applications VMApp Guest OS VMMonitor Device Driver Direct support, e.g. disk access via IDE Use host support, e.g. CD, sound, serial port VM Driver Device Driver Host OS X86 Hardware Device Driver

79 82 VMWare: New Capabilities Applications VMApp Guest OS VMMonitor VM Driver Device Driver Host OS X86 Hardware Device Driver COW Golden Image

80 83 Virtualization II Recap

81 Recap: App Scheduling Applications Operating System Virtual Machine Monitor Hardware 84

82 Recap 2 What is Intel VT-x? What problem does it solve? 85

83 86 Recap 3 Applications VMApp Guest OS VMMonitor VM Driver Device Driver Host OS X86 Hardware Device Driver COW Golden Image

84 87 Operating System Support for Virtualization

85 Native, Hosted, Paravirtualized VMs Apps Apps Apps Guest OS Guest OS VMM Guest OS Host OS VMM VMM Hardware Hardware Hardware Modify the Guest OS! 88

86 Paravirtualization System VMs can be faster when Guest OS can be modified for virtualization Showcased in Xen Project Modified Linux Windows XP Near native performance! 89

87 90 Paravirtualizing I/O Operating System Operating System Real Device Driver PV Device Driver I/O instructions Reverse Device Driver Hypercalls Network Handler Network Handler VMM Hardware VMM Hardware

88 Xen Evolution Problems: only open-source OSes can be modified Xen implementation tricks not on x86-64 New approach: Start from Full virtualization with Hardware Support (e.g. VT-x) Apply Paravirtualization in areas where speed can be gained: 1. Disk and network I/O 2. Interrupts and timers 3. Emulated motherboard, legacy boot 4. Privileged instructions, page tables 91

89 Xen Mode: HVM Source: Lars Kurth,

90 Xen Mode: PV 93

91 Xen Mode: HVM + PV Drivers 94

92 Xen Mode: PVHVM Drivers 95

93 Xen Mode: PVH 96

94 97 KVM KVM P

95 98 Xen Architecture Toolstack Applications Applications Domain 0 Host OS Drivers Guest OS (Modified) Guest OS (Modified) PV front PV front Xen Hypervisor virtual x86 Scheduler CPU X86 Hardware MMU Timers DomU = Unprivil eged

96 99 Xen Architecture Toolstack Applications Applications Domain 0 Host OS Guest OS (Modified) Guest OS (Modified) Driver MUX PV front PV front Xen Hypervisor virtual x86 Scheduler CPU X86 Hardware MMU Timers Domain

97 100 Xen Virtual Devices Toolstack Applications Domain 0 Guest OS Host OS vif6.0 eno1 eth0 xenbr0 Xen Hypervisor virtual x86 Scheduler CPU X86 Hardware MMU Timers

98 101 New: Xen PV Calls Toolstack Applications Domain 0 socket() Guest OS Host OS eno1 socket() backend frontend Xen Hypervisor virtual x86 Scheduler CPU X86 Hardware MMU Timers

99 Operating-System Level Virtualization In between System VM and Process VM Not System VM: Not Process VM: Cannot choose OS Multiple processes, not isolated As if multiple instances of the same OS are running on the same machine Example: Linux Containers cf. Docker 102

100 103 Linux Containers Applications OS View Namespaces Applications OS View Linux Host OS X86 Hardware Applications OS View CGroups

101 Linux Containers: Namespaces Linux kernel has a configuration + state Controlled via many files and outside input Idea: allow a configuration per process (group) E.g. for process A the hostname is X, for process B the hostname is Y cf. chroot Now: configuration is set of 6 namespaces Source: Rami Rosen, Linux Kernel Networking, APress. Michael Kerrisk, 104

102 6 Namespaces of Linux uts (hostname) mnt (mount points, filesystems) pid (processes) user (UIDs) ipc (inter process communication IDs) net (network stack) (plans to add more) 105

103 106 UTS Namespace (1/3) UNIX time sharing?! Contains 6 strings: sysname Operating system name (e.g., "Linux") nodename Name within "some implementation -defined network" release OS release (e.g., "2.6.28") version OS version machine Hardware identifier domainname NIS or YP domain name i.e., control the names of the container Source: uname(2)

104 UTS Namespaces (2/3) The old implementation of gethostname(): asmlinkage long sys_gethostname(char user *name, int len) {... if (copy_to_user(name, system_utsname.nodename, I)) errno = -EFAULT;... } system_utsname is a global variable 107

105 UTS Namespaces (3/3) The new implementation of gethostname(): static inline struct new_utsname *utsname(void) { return &current->nsproxy->uts_ns->name; } SYSCALL_DEFINE2(gethostname, char user *, name, int, len) { struct new_utsname *u;... u = utsname(); if (copy_to_user(name, u->nodename, i)) errno = -EFAULT; 108

106 109 MNT Namespace View of which filesystems are mounted New mounts only visible in current mnt namespace Unless special flags are used: mount make-shared / (root) /mnt sdb1 / (root) /home sda3 /mnt mnt ns1 /home sdc1 mnt ns2

107 PID Namespace Processes in different PID namespaces can have the same process ID. When creating the first process in a new namespace, its PID is 1. Hierarchy of PID namespaces: PIDs visible to parent namespace Nested upto 32 levels deep 110

108 User namespace New namespace = new set of User IDs and Group IDs Existing UIDs are mapped into new space E.g. user os3 has user ID 1023, group students2017 has group E.g. UID 1000 becomes UID 0 in new space First process in the new space has root Only for namespaces inside the new space! Create container: 1. Create new user namespace 2. Create new UTS, MNT, PID, etc. namespaces from that namespace Outside: permissions of parent UID 111

109 NET Namespace (1/3) A network namespace is logically another copy of the network stack: own routes, own firewall rules, own network devices. A network device belongs to exactly 1 network namespace A socket belongs to exactly 1 network namespace 112

110 NET Namespace (2/3) The initial network namespace includes: loopback device all physical devices, networking tables, etc. New network namespace includes only the loopback device Real devices can be moved into NS Virtual devices can be added

111 NET Namespace (3/3) Control via ip netns command And e.g. /etc/netns/<nsname>/hosts 114

112 Containers via namespaces Create a container: 1. Create a user namespace 2. Create a PID and UTS namespace inside 3. Create a MNT namespace to get your own filesystem 4. Mount container disk image 5. Create NET namespace, add virtual devices 6. Connect virtual devices to real network via e.g. virtual bridges 115

113 CGroups Namespaces can give groups of processes: Same view of the OS Illusion there are no other groups Control Groups is a mechanism for resource management for groups of processes: Set limits, e.g. on memory usage (main + FS cache) Set priorities (CPU or disk bandwidth) Accounting Checkpointing E.g. stop set of processes for resuming later 116

114 117 Episode MMXVI: The Empire Strikes Back

115 Virtualization on Windows Hypervisor: Hyper V Containers: Windows Server Containers Hyper V Containers Docker integration 119

116 Windows (cont'd) 120 Source: Wikipedia

117 Windows (cont') Windows Server Containers: 121 provide application isolation through process and namespace isolation technology. shares a kernel with the container host and all containers running on the host. Hyper-V Containers: like Server Containers but expand on the isolation by running each container in a highly optimized virtual machine. kernel of the container host is not shared with the Hyper-V Containers. Source: ew

118 Windows Container Types 122 Source: McCabe, Friis - Introduction to Windows Containers

119 Fedora Container Coloring Book 123

120 124 Virtualization III Recap

121 Full virtualization How can we improve performance? What are the implications of the solutions? 125

122 126 Recap 3 Application Programs Libraries Operating System Hardware In OS-level virtualization, where is the VMM? What are the risks of OS-level virtualization? What are the benefits?

123 130 VMs without Operating Systems

124 Unikernels Optimize VM for one application: Strip unused parts of OS and libraries Link directly with application Advantages: No context switching: No User-to-Kernel and vv. Less memory usage Apply application-specific OS optimizations More secure? More info see: 131

125 132 Unikernels Apps User Mode Kernel Mode Guest OS Apps VMM Guest + Host OS Hardware Hardware App Essential Guest OS VMM Hardware (a) Paravirtualization (b) Containers (c) Unikernels Unikernel

126 Video The Next Generation Cloud: Unleashing the Power of the Unikernel Russell Pavlicek, Xen Project Evangelist Large Installation System Administration Conference (LISA) entation/pavlicek (Thanks to Niels) 133

LIA. Large Installation Administration. Virtualization

LIA. 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 information

1 Virtualization Recap

1 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 information

Mechanisms and constructs for System Virtualization

Mechanisms and constructs for System Virtualization Mechanisms and constructs for System Virtualization Content Outline Design goals for virtualization General Constructs for virtualization Virtualization for: System VMs Process VMs Prevalent trends: Pros

More information

Virtualization. Pradipta De

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 information

Virtual 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. 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 information

Introduction to Virtual Machines. Michael Jantz

Introduction to Virtual Machines. Michael Jantz Introduction to Virtual Machines Michael Jantz Acknowledgements Slides adapted from Chapter 1 in Virtual Machines: Versatile Platforms for Systems and Processes by James E. Smith and Ravi Nair Credit to

More information

Cloud Computing Virtualization

Cloud 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 information

CSCE 410/611: Virtualization

CSCE 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 information

The 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 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 information

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Spring 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 information

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

Virtual Machines and Dynamic Translation: Implementing ISAs in Software Virtual Machines and Dynamic Translation: Implementing ISAs in Software Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Software Applications How is a software application

More information

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives Virtual Machines Resource Virtualization Separating the abstract view of computing resources from the implementation of these resources

More information

The 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) 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 information

Operating Systems 4/27/2015

Operating 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 information

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

for 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 information

Module 1: Virtualization. Types of Interfaces

Module 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 information

CS252 Spring 2017 Graduate Computer Architecture. Lecture 18: Virtual Machines

CS252 Spring 2017 Graduate Computer Architecture. Lecture 18: Virtual Machines CS252 Spring 2017 Graduate Computer Architecture Lecture 18: Virtual Machines Lisa Wu, Krste Asanovic http://inst.eecs.berkeley.edu/~cs252/sp17 WU UCB CS252 SP17 Midterm Topics ISA -- e.g. RISC vs. CISC

More information

I/O and virtualization

I/O and virtualization I/O and virtualization CSE-C3200 Operating systems Autumn 2015 (I), Lecture 8 Vesa Hirvisalo Today I/O management Control of I/O Data transfers, DMA (Direct Memory Access) Buffering Single buffering Double

More information

Lecture 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. 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 information

Advanced Computer Architecture

Advanced Computer Architecture ECE 563 Advanced Computer Architecture Fall 2007 Lecture 14: Virtual Machines 563 L14.1 Fall 2009 Outline Types of Virtual Machine User-level (or Process VMs) System-level Techniques for implementing all

More information

references Virtualization services Topics Virtualization

references 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 information

CHAPTER 16 - VIRTUAL MACHINES

CHAPTER 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 information

CSE 120 Principles of Operating Systems

CSE 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 information

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Virtualization. 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 information

CprE Virtualization. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

CprE Virtualization. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Virtualization Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Introduction Virtualization Technology Applications

More information

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Xen 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 information

System Virtual Machines

System 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 information

Chapter 5 C. Virtual machines

Chapter 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 information

Emulation. Michael Jantz

Emulation. Michael Jantz Emulation Michael Jantz Acknowledgements Slides adapted from Chapter 2 in Virtual Machines: Versatile Platforms for Systems and Processes by James E. Smith and Ravi Nair Credit to Prasad A. Kulkarni some

More information

24-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: 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 information

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

OS 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 information

Introduction to Virtual Machines

Introduction to Virtual Machines Introduction to Virtual Machines abstraction and interfaces virtualization Vs. abstraction computer system architecture process virtual machines system virtual machines Abstraction Abstraction is a mechanism

More information

CSCE 410/611: Virtualization!

CSCE 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 information

Virtual 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? 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 information

Virtual Machine Monitors (VMMs) are a hot topic in

Virtual Machine Monitors (VMMs) are a hot topic in CSE 120 Principles of Operating Systems Winter 2007 Lecture 16: Virtual Machine Monitors Keith Marzullo and Geoffrey M. Voelker Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot topic

More information

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

COMPUTER 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 information

深 入解析 Docker 背后的 Linux 内核技术. 孙健波浙江 大学 SEL/VLIS 实验室

深 入解析 Docker 背后的 Linux 内核技术. 孙健波浙江 大学 SEL/VLIS 实验室 深 入解析 Docker 背后的 Linux 内核技术 孙健波浙江 大学 SEL/VLIS 实验室 www.sel.zju.edu.cn Agenda Namespace ipc uts pid network mount user Cgroup what are cgroups? usage concepts implementation What is Namespace? Lightweight

More information

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW Virtual Machines Background IBM sold expensive mainframes to large organizations Some wanted to run different OSes at the same time (because applications were developed on old OSes) Solution: IBM developed

More information

CSC 5930/9010 Cloud S & P: Virtualization

CSC 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 information

CS 252 Graduate Computer Architecture. Lecture 15: Virtual Machines

CS 252 Graduate Computer Architecture. Lecture 15: Virtual Machines CS 252 Graduate Computer Architecture Lecture 15: Virtual Machines Krste Asanovic Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~krste http://inst.eecs.berkeley.edu/~cs252

More information

Advanced Operating Systems (CS 202) Virtualization

Advanced 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 information

Zdeněk Kubala Senior QA

Zdeněk Kubala Senior QA (Kernel) Isolation PV, HVM, OS-V technologies in Linux Introduction and description of the isolation diferences between HM, PV and OS-level virt. technologies. Zdeněk Kubala Senior QA Engineer zkubala@suse.com

More information

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. 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 information

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels Learning Outcomes Extended OS An appreciation that the abstract interface to the system can be at different levels. Virtual machine monitors (VMMs) provide a lowlevel interface An understanding of trap

More information

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Virtualization. ! 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 information

System Virtual Machines

System 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 information

Virtual Machine Monitors!

Virtual 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 information

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin CS 6V81-05: System Security and Malicious Code Analysis Overview of System Virtualization: The most powerful platform for program analysis and system security Zhiqiang Lin Department of Computer Science

More information

CS 152 Computer Architecture and Engineering. Lecture 22: Virtual Machines

CS 152 Computer Architecture and Engineering. Lecture 22: Virtual Machines CS 152 Computer Architecture and Engineering Lecture 22: Virtual Machines Krste Asanovic Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~krste

More information

Virtualization and memory hierarchy

Virtualization 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 information

Virtual Machine Security

Virtual 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 information

Sandboxing. CS-576 Systems Security Instructor: Georgios Portokalidis Spring 2018

Sandboxing. CS-576 Systems Security Instructor: Georgios Portokalidis Spring 2018 Sandboxing CS-576 Systems Security Instructor: Georgios Portokalidis Sandboxing Means Isolation Why? Software has bugs Defenses slip Untrusted code Compartmentalization limits interference and damage!

More information

OS Virtualization. Linux Containers (LXC)

OS 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 information

Multiprocessor Scheduling. Multiprocessor Scheduling

Multiprocessor 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 information

T Jarkko Turkulainen, F-Secure Corporation

T Jarkko Turkulainen, F-Secure Corporation T-110.6220 2010 Emulators and disassemblers Jarkko Turkulainen, F-Secure Corporation Agenda Disassemblers What is disassembly? What makes up an instruction? How disassemblers work Use of disassembly In

More information

Unit 5: Distributed, Real-Time, and Multimedia Systems

Unit 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 information

Xen and the Art of Virtualization

Xen 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 Presented by Thomas DuBuisson Outline Motivation

More information

Virtualisation: The KVM Way. Amit Shah

Virtualisation: The KVM Way. Amit Shah Virtualisation: The KVM Way Amit Shah amit.shah@qumranet.com foss.in/2007 Virtualisation Simulation of computer system in software Components Processor Management: register state, instructions, exceptions

More information

CS 5460/6460 Operating Systems

CS 5460/6460 Operating Systems CS 5460/6460 Operating Systems Fall 2009 Instructor: Matthew Flatt Lecturer: Kevin Tew TAs: Bigyan Mukherjee, Amrish Kapoor 1 Join the Mailing List! Reminders Make sure you can log into the CADE machines

More information

CS 550 Operating Systems Spring Introduction to Virtual Machines

CS 550 Operating Systems Spring Introduction to Virtual Machines CS 550 Operating Systems Spring 2018 Introduction to Virtual Machines 1 How to share a physical computer Operating systems allows multiple processes/applications to run simultaneously Via process/memory

More information

Four Components of a Computer System

Four 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 information

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

CSCI 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 information

C 1. Last time. CSE 490/590 Computer Architecture. Virtual Machines I. Types of Virtual Machine (VM) Outline. User Virtual Machine = ISA + Environment

C 1. Last time. CSE 490/590 Computer Architecture. Virtual Machines I. Types of Virtual Machine (VM) Outline. User Virtual Machine = ISA + Environment CSE 490/590 Computer Architecture Last time Directory-based coherence protocol 4 cache states: C-invalid, C-shared, C-modified, and C-transient 4 memory states: R(dir), W(id), TR(dir), TW(id) Virtual Machines

More information

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University Architectural Support for Operating Systems Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic services of OS Basic computer system

More information

Lecture 2: The Art of Emulation

Lecture 2: The Art of Emulation CSCI-GA.3033-015 Virtual Machines: Concepts & Applications Lecture 2: The Art of Emulation Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Disclaimer: Many slides of this lecture are based

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems OS Structures and System Calls Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Outline Protection

More information

Xen is not just paravirtualization

Xen is not just paravirtualization Xen is not just paravirtualization Dongli Zhang Oracle Asia Research and Development Centers (Beijing) dongli.zhang@oracle.com December 16, 2016 Dongli Zhang (Oracle) Xen is not just paravirtualization

More information

Lecture 5: February 3

Lecture 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 information

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Xen 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 information

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [VIRTUALIZATION] Shrideep Pallickara Computer Science Colorado State University Difference between physical and logical

More information

A Survey on Virtualization Technologies

A Survey on Virtualization Technologies A Survey on Virtualization Technologies Virtualization is HOT Microsoft acquires Connectix Corp. EMC acquires VMware Veritas acquires Ejascent IBM, already a pioneer Sun working hard on it HP picking up

More information

Knut Omang Ifi/Oracle 6 Nov, 2017

Knut 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

LINUX Virtualization. Running other code under LINUX

LINUX 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 information

EE 660: Computer Architecture Cloud Architecture: Virtualization

EE 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 information

CSE543 - Computer and Network Security Module: Virtualization

CSE543 - Computer and Network Security Module: Virtualization CSE543 - Computer and Network Security Module: Virtualization Professor Trent Jaeger CSE543 - Introduction to Computer and Network Security 1 Operating System Quandary Q: What is the primary goal of system

More information

Server Virtualization Approaches

Server 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 information

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING Agenda Intro / Prep Environments Day 1: Docker Deep Dive Day 2: Kubernetes Deep Dive Day 3: Advanced Kubernetes: Concepts, Management, Middleware Day 4:

More information

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition Linux and Xen Andrea Sarro andrea.sarro(at)quadrics.it Linux Kernel Hacking Free Course IV Edition Andrea Sarro (andrea.sarro(at)quadrics.it) Linux and Xen 07/05/2008 1 / 37 Introduction Xen and Virtualization

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 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 information

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

What 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 information

CHAPTER 16 - VIRTUAL MACHINES

CHAPTER 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 information

The only open-source type-1 hypervisor

The only open-source type-1 hypervisor Monika Danikáková What is Xen? The only open-source type-1 hypervisor For Unix and Unix-like OS Linux, NetBSD and OpenSolaris From ancient greek term Xenos (ξένος), guest-friends Developed by the University

More information

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

CS-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 information

Virtual Machines. Virtual Machines

Virtual Machines. Virtual Machines Virtual Machines Virtual Machines What is a virtual machine? Examples? Benefits? 1 Virtualization Creation of an isomorphism that maps a virtual guest system to a real host: Maps guest state S to host

More information

PROCESS MANAGEMENT Operating Systems Design Euiseong Seo

PROCESS MANAGEMENT Operating Systems Design Euiseong Seo PROCESS MANAGEMENT 2016 Operating Systems Design Euiseong Seo (euiseong@skku.edu) Definition A process is a program in execution Context Resources Specifically, Register file state Address space File and

More information

CS370 Operating Systems

CS370 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 information

Virtualization and Virtual Machines. CS522 Principles of Computer Systems Dr. Edouard Bugnion

Virtualization and Virtual Machines. CS522 Principles of Computer Systems Dr. Edouard Bugnion Virtualization and Virtual Machines CS522 Principles of Computer Systems Dr. Edouard Bugnion Virtualization and Virtual Machines 2 This week Introduction, definitions, A short history of virtualization

More information

CSE543 - Computer and Network Security Module: Virtualization

CSE543 - Computer and Network Security Module: Virtualization CSE543 - Computer and Network Security Module: Virtualization Professor Trent Jaeger CSE543 - Introduction to Computer and Network Security 1 1 Operating System Quandary Q: What is the primary goal of

More information

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor? Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor? Mr. Jacob Torrey May 13, 2014 Dartmouth College 153 Brooks Road, Rome, NY 315.336.3306 http://ainfosec.com @JacobTorrey torreyj@ainfosec.com

More information

Nested Virtualization and Server Consolidation

Nested 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 information

High-Level Language VMs

High-Level Language VMs High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs

More information

Distributed Systems COMP 212. Lecture 18 Othon Michail

Distributed 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 information

Virtual 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 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 information

OS Containers. Michal Sekletár November 06, 2016

OS Containers. Michal Sekletár November 06, 2016 OS Containers Michal Sekletár msekleta@redhat.com November 06, 2016 whoami Senior Software Engineer @ Red Hat systemd and udev maintainer Free/Open Source Software contributor Michal Sekletár msekleta@redhat.com

More information

Architectural Support for Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Architectural Support for Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Architectural Support for Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic structure of OS Basic computer

More information

CSE543 - Computer and Network Security Module: Virtualization

CSE543 - Computer and Network Security Module: Virtualization CSE543 - Computer and Network Security Module: Virtualization Professor Trent Jaeger CSE543 - Introduction to Computer and Network Security 1 Operating System Quandary Q: What is the primary goal of system

More information

Introduction to Virtual Machines. Carl Waldspurger (SB SM 89 PhD 95) VMware R&D

Introduction to Virtual Machines. Carl Waldspurger (SB SM 89 PhD 95) VMware R&D Introduction to Virtual Machines Carl Waldspurger (SB SM 89 PhD 95) VMware R&D Overview Virtualization and VMs Processor Virtualization Memory Virtualization I/O Virtualization Typesof Virtualization Process

More information

Virtual Virtual Memory

Virtual Virtual Memory Virtual Virtual Memory Jason Power 3/20/2015 With contributions from Jayneel Gandhi and Lena Olson 4/17/2015 UNIVERSITY OF WISCONSIN 1 Virtual Machine History 1970 s: VMMs 1997: Disco 1999: VMWare (binary

More information

Virtualization. Dr. Yingwu Zhu

Virtualization. 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 information

Xen and the Art of Virtualiza2on

Xen and the Art of Virtualiza2on Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian PraF, Andrew Warfield University of Cambridge Computer Laboratory Kyle SchuF CS 5204 Virtualiza2on Abstrac2on

More information