QEMU Binary Translation Ashish Kaila akaila Maneet Singh
QEMU Binary Translation Ashish Kaila (akaila) Maneet Singh (maneets) 1
Virtualization Techniques Ø Full Virtualization using Binary Translation 2
Virtualization Techniques Ø OS Assisted Virtualization or Paravirtualization 3
Virtualization Techniques Ø Hardware Assisted Virtualization 4
Binary Translation Ø VMWare Software Virtualization Translation Units (TU) Source Inst Stream (binary) IR 1 IR 2. . IRn Compiled Code Fragment (CCF) Target Inst Stream (binary) Dynamic Binary Translator 5
Binary Translation Ø QEMU Binary Translation in brief Source Inst Stream (binary) Microoperations implemented in C Object file dyngen Target Inst Stream (binary) 6
Quick EMUlation (QEMU) Ø Machine Emulator Ø Virtualizer QEMU modes: Ø User-mode emulation – Allows a process built for one CPU to be executed on another. Ø System-mode emulation – Allows emulation of a full system, including processor and assorted peripherals. 7
References • A comparison of software and hardware techniques for x 86 virtualization – Keith Adams, Ole Agesen, ASPLOS’ 06 • Understanding Full Virtualization, Paravirtualization and Hardware Assist – VMware Whitepaper • QEMU, a fast and portable Dynamic Translator – Fabrice Bellard • QEMU Wiki: wiki. qemu. org 8
QEMU Deep Dive Source: wiki. qemu. org 9
10
11
12
13
14
15
16
QEMU ARCHITECTURE 17
18
19 19
Thank you 20
- Slides: 20