You are on page 1of 17

QEMU

Fast Portable Dynamic Translator

RESHMA SHEIK
PRIYA

Date: 30-Oct-2010
1
All about QEMU...
• As a fast machine emulator.
Emulator is a computer program or
device which imitates other computer program
or device.

• Uses a original portable dynamic


translator.

2
Why go for EMULATORS..?

• Maintains the look,feel and behaviour of the


original object.
• More cost effective.
• Reduces labour hours.
• Allows one operation exclusive to one system
to be executed on another.

3
Why QEMU preferred…?

• FAST
-- Relies on binary coded dynamic translation.
• PORTABLE
-- Feature exclusive to Qemu.
-- Real concept of “PC on a USB stick”.
• DYNAMIC
-- Use of Just in time compiler.
-- Use of translation cache.
4
Usage of QEMU

• To run one OS to another OS.


• Used for debugging.
• Used to test the result of cross compilers
• Used to test the CPU emulator without
having to start a complete virtual
machine.

5
QEMU Operating modes

Full System Emulation User mode Emulation

•Launch different OS without •Launch different processes


rebooting the PC or to debug compiled for one CPU on
system class. another CPU.

•It includes one or more •It is used to ease the work


several microprocessors with of cross compilers and
their peripherals. cross debugging.

6
QEMU for…

• CPU Emulator.
• Emulated Devices.
• Generic Devices
• Machine Descriptions.
• Debugger
• User Interface

7
How QEMU performs…

8
More into Dygen..

• Dynamic Generator.
• Build time tool for Qemu translation.
• For each microoperations it emits the C program
-- to copy these operations into the end of
translation buffer.
-- analyze the relocation records in object file.
• Dygens output is compiled and the result is linked
together with object code into QEMU executable.
9
Implémentation Détails
• Register Allocation
Fixed
• Condition Code Optimization
Done at translation time
To achieve good performance
• Memory management
Done by MMU
Use of Address translation Cache
• Exception Support 10
Conclusion
• Usable in every day work.
Emulation of Commercial x86 OSes as Windows.
PowerPC target is close to launch Mac OS.
Sparc begins to launch LINUX.
• Many targets on many hosts.
No other dynamic translator supports this mainly
because of their porting complexity.
• Compromise between performance and complexity.

11
Future Work
• Porting
For porting on Sparc, Alpha Qemu needs to be polished.
• Full system emulation
Is still on a developing stage.
• Performance
The software MMU performance can be increased.
• Debugging
Debuggers should be made more efficient by using cache
simulation and cycle counters. 12
Go for Qemu…

Available at
http://bellard.org/qemu

13
Reference…

• QEMU, a Fast and Portable Dynamic Translator – Fabrice Bellard


Freenix Track:2005 USENIX Annual Technical Conference.
• Aycock, J. (June 2003). "A brief history of just-in-time". ACM
Computing Surveys 35 (2): 97–113. doi:10.1145/857076.857077.
http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.97.3985&rep=rep1&type=pdf.
• Mark Probst, Fast Machine Adaptable Dynamic Binary Translation,
Workshop on Binary Translation,2001.
• http://bellard.org/qemu
• http://www.wikipedia.com

14
THANK YOU

15
QUERIES??

16
THANK YOU

17

You might also like