GXemul
Encyclopedia
GXemul is a computer architecture
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....


emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

 being developed by Anders Gavare. It is
available as free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 under a revised BSD-style license.
In 2005, Gavare changed the name of the software project
from mips64emul to GXemul. This was to avoid giving the impression that the emulator
was confined to the MIPS
MIPS architecture
MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

 instruction set, which was the
only architecture being emulated initially.

Although development of the emulator is still a work-in-progress, since 2004 it
has been stable enough to let various unmodified guest operating systems run
as if they were running on real hardware. Currently emulated processor architectures include
ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

, MIPS
MIPS architecture
MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

, M88K
Motorola 88000
The 88000 is a RISC instruction set architecture developed by Motorola. The 88000 was Motorola's attempt at a home-grown RISC architecture, started in the 1980s. The 88000 arrived on the market some two years after the competing SPARC and MIPS...

, PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

, and SuperH
SuperH
SuperH is a 32-bit reduced instruction set computer instruction set architecture developed by Hitachi. It is implemented by microcontrollers and microprocessors for embedded systems....

.
Guest operating systems that have been verified to work inside the emulator
are NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...

, OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, HelenOS
HelenOS
HelenOS is an operating system based on a multiserver microkernel design. The source code of HelenOS is published under a BSD License.- Technical overview :...

, Ultrix
Ultrix
Ultrix was the brand name of Digital Equipment Corporation's native Unix systems. While ultrix is the Latin word for avenger, the name was chosen solely for its sound.-History:...

, and
Sprite
Sprite operating system
Sprite was an experimental Unix-like distributed operating system developed at the University of California, Berkeley by John Ousterhout's research group between 1984 and 1992. Its notable features included support for single system image on computer clusters and for the introduction of the...

.

Apart from running entire guest operating systems, the emulator can also be used
for experiments on a smaller scale, such as hobby operating system
development, or it can be used as a general debugger
Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...

.

Dynamic Translation

GXemul's processor emulation uses dynamic translation, to convert the
emulated processor's instructions into an intermediate representation (IR).
The IR is in a format which can be executed by the host. In other words, it
should be possible to port the emulator to new host architectures with just
a recompilation; there is no need to implement a native code generation backend
for each host architecture to get it running.

Usage Example

Assuming you have downloaded a NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...

/pmax 5.0 CD-ROM ISO image (pmaxcd-5.0.iso),
the following commands will let you install NetBSD onto an
emulated DECstation 5000 Model 200 (also known as "3max"):
dd if=/dev/zero of=nbsd_pmax.img bs=1024 count=1 seek=3000000

gxemul -e 3max -d nbsd_pmax.img -d b:pmaxcd-5.0.iso

The first command (dd
Dd (Unix)
In computing, dd is a common Unix program whose primary purpose is the low-level copying and conversion of raw data. According to the manual page for Version 7 Unix, it will "convert and copy a file". It is used to copy a specified number of bytes or blocks, performing on-the-fly byte order...

) creates an empty disk image, and the second
command launches GXemul. The -e option specifies the machine to
emulate, and the -d options add disk images. The first disk image
is the newly created disk image where NetBSD will be installed. The
second is the CD-ROM ISO image; the b: modifier flag means that
the system should boot from the ISO image, instead of the first
available disk image.

Installing NetBSD within the emulator should be very similar to installing
it on real hardware. Once the installation has completed, the following
command should start NetBSD from the disk image:
gxemul -e 3max -d nbsd_pmax.img

See also

  • QEMU
    QEMU
    QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures....

  • SIMH
    SIMH
    SIMH is a highly portable, multi-system emulator which runs on Windows, Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD, OpenVMS, and other operating systems...

  • PearPC
    PearPC
    PearPC is an architecture-independent PowerPC platform emulator capable of running many PowerPC operating systems, including Mac OS X, Darwin and Linux. It is released under the terms of the GNU General Public License . It can be executed on Microsoft Windows, Linux, FreeBSD and other systems based...

  • Bochs
    Bochs
    Bochs is a portable x86 and x86-64 IBM PC compatible emulator and debugger mostly written in C++ and distributed as free software under GNU Lesser General Public License...

  • Comparison of platform virtual machines

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK