1. Home
  2. Computing & Technology
  3. Linux

The Linux Gamers' How-To

From The Linux Documentation Project

10.1. What is a virtual machine?

A "real computer" provides an operating system many things, including a CPU, I/O channels, memory, a BIOS to provide low level access to motherboard and I/O resources, etc. When an operating system wants to write to a hard drive, it communicates through a device driver that interfaces directly with the hardware device memory.

However, it's possible to give a program all the hardware resources it needs. When it wants to access a hard drive, give it some memory to write to. When it wants to set an IRQ, give it some bogus instructions that lets it think it set an IRQ. If you do this correctly, then in principle, there's no way for the poor application to know whether it's really accessing hardware or tricked by being given resources which simulate hardware. A virtual machine is the environment which tricks applications into believing they're running on a real computer. It provides all the services that a real computer would provide.

VM's were used initially in the 1960's to emulate time shared operating systems, but these days we use them to run software which was written for foreign operating systems, or more commonly, an entire operating system. Because of the nature of the VM, the foreign OS can't tell the difference between operating in a VM or in a "real" machine.

* License

* The Linux Gamers' How-To Index

Explore Linux
About.com Special Features

Holiday Central

What to eat, where to go, fun things to do and how to save money on the perfect gifts. More >

Family Tech Center

Stay connected and entertained with reviews on tips on the latest HDTVs, cellphones and more. More >

  1. Home
  2. Computing & Technology
  3. Linux
  4. Linux HowTos
  5. The Linux Gamers How-To
  6. The Linux Gamers' How-To - Emulation and Virtual Machines

©2009 About.com, a part of The New York Times Company.

All rights reserved.