Skip Links

Network World

  • Social Web 
  • Email 
  • Close

(Comma separation for multiple addresses)
Your Message:

OS emulators: Un-sidetracking from last week

By Mark Gibbs , Network World , 02/14/2005
Gibbs
  • Share/Email
  • Tweet This
  • Comment
  • Print

In the words of William Tell on his first attempt: "Oops." The week before last we threatened to discuss a system called QEMU but then last week we got thoroughly sidetracked. So without further ado, we return to our story:

The QEMU emulator , created by Fabrice Bellard, is a processor emulator that mimics any number of simulated processors and supports a variety of host operating systems.

We must digress for a moment to note that Bellard is a digital overachiever, having won not one but two awards in the International Obfuscated C Code Contest . Bellard won in 2000 for the Most Specific Output (a program to print the biggest-known prime number, 2^6972593-1, in base 10) and again in 2001 for the Best Abuse of the Rules (for an Obfuscated Tiny C Compiler for i386-linux).

Anyway, the QEMU emulator is fascinating in its range of abilities and design. A really nice feature is that QEMU is robust, an attribute that can be impressively demonstrated by making QEMU emulate itself (a technique described as "self-virtualization") by running an instance of QEMU under another instance.

It is important to note that QEMU is not a virtualization tool but a true emulator. In other words, QEMU is not making a separate, protected chunk of memory that the processor switches into and out of, but rather runs as a program that interprets the code of a supported operating system.

Given the complexity of this architecture, QEMU's code interpretation speed is remarkable. For more insight into the sheer complexity of what QEMU does and how it does it check out the QEMU Internals section .

Dual emulation

QEMU has two operating modes: In system emulation mode, which allows you to load, run and unload complete operating systems without rebooting the host system, QEMU appears to be a complete computer system to the applications running on top of it.

This virtual computer comes with a processor, PC and VGA BIOSes, and various peripherals, including an i440FX host PCI bridge and a PIIX3 PCI-to-ISA bridge, a Cirrus CLGD 5446 PCI VGA card or dummy VGA card, a PS/2 mouse and keyboard, two PCI Integrated Drive Electronics (IDE) interfaces with hard disk and CD-ROM support, a floppy disk, an NE2000 PCI network adapter, serial ports and a SoundBlaster 16 card.

  • Share/Email
  • Tweet This
  • Comment
  • Print
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a NetworkWorld account? Log in here. Register now for a free account.

Videos

rssRss Feed