Search the Archive
  Home
  Welcome to
  Station Information
  Mathematical and
  Natural Sciences

  Astronomy
  Biology
  Chemistry
  Computer science
  Earth science
  Ecology
  Health science
  Mathematics
  Physics
  Statistics
  Applied Arts
  and Sciences

  Agriculture
 
Architecture
  Business
  Communication
  Education
  Engineering
  Family and
  consumer science

  Government
  Law
  Library and information
  science

  Medicine
  Politics
  Public affairs
  Software engineering
  Technology
  Transport
  Social Sciences
  and Philosophy

  Archaeology
  Economics
  Geography
  History
  History of science
  and technology

  Language
  Linguistics
  Mythology
  Philosophy
  Political science
  Psychology
  Sociology
  Culture and
  Fine Arts

  Classics
  Cooking
  Dance
  Entertainment
  Film
  Games
  Gardening
  Handicraft
  Hobbies
  Holidays
  Internet
  Literature
  Music
  Opera
  Painting
  Poetry
  Radio
  Recreation
  Religion
  Sculpture
  Sports
  Television
  Theater
  Tourism
  Visual arts and design

Emulator


 
An emulator, in the most general sense, duplicates (provide an emulation of) the functions of one system with a different system, so that the second system appears to behave like the first system. (Contrast with simulation). The most common form of emulation is that of a software emulator. A software emulator is a piece of computer software that allows certain computer programs to run on a platform (computer architecture and/or operating system) other than the one they were originally written for. It does this by "emulating", or reproducing, the behavior of one type of computer on another by accepting the same data, executing the same programs, and achieving the same results.

In a technical sense, the Church-Turing thesis implies that any operating environment can be emulated within any other. In practice, it can be quite difficult, particularly when the exact behaviour of the system to be emulated is not documented and has to be deduced through reverse engineering. It also says nothing about timing constraints; if the emulator does not perform as quickly as the original hardware, the emulated software may run much more slowly than it would have on the original hardware.

Most emulators just emulate a hardware architecture—if a specific operating system is required for the desired software, it must be provided as well (and may itself be emulated). Both the OS and the software will then be interpreted by the emulator, rather than being run by native hardware. Apart from this interpreter for the emulated machine's language, some other hardware (such as input or output devices) must be provided in virtual form as well: if writing to a specific memory location should influence the screen, for example, this will have to be emulated as well.

A popular use of emulators is to run software, often games, written for hardware that is no longer sold or readily available, such as the Commodore 64 or early Amiga models. Emulating these on modern desktop computers is usually less cumbersome than relying on the original machine, which may be inoperational. However, software licensing issues may require emulator authors to write original software that duplicates the functionality of the original computer's bootstrap ROM and BIOS.

Developers of software for embedded systems or video game consoles often design their software on especially accurate emulator called a simulator before trying it on the real hardware. This is so that software can be produced and tested before the final hardware exists in large quantities, so that it can be tested without taking the time to copy the program to the hardware, or so that it can be debugged at a low level without introducing the side effects of a debugger.

For a list of emulators, see List of emulators.

See Also

Console emulator, in-circuit emulator, binary translation, fan translation, virtual machine








Site Partners

Easy Encyclopedia
Small Business Forum
Free Web Templates
Free Mortgage Quote

  This content from wikipedia is licensed under the GNU Free Documentation License