Science Fair Project Encyclopedia
Hercules emulator
The Hercules emulator is an emulator for the IBM mainframe hardware: the System/370, System/390 and zSeries computers. It runs under Linux, Windows and Mac OS X and is released under the free software license QPL. It emulates the CPU and peripheral device hardware only; the operating system has to be supplied by the user.
The IBM public domain operating systems OS/360, DOS, DOS/VS , MVS, VM/CMS, and TSS/370 run under the emulator. Newer operating systems, such as OS/390, z/OS, VSE, VM/ESA , and z/VM will run, but cannot legally be used except in very limited circumstances for license reasons. Linux/390 runs well on Hercules, and much development work is done on the emulator.
One of the prime uses for Hercules is as a cheap way of getting multiprocessor and 64-bit environments for development purposes to verify that code is portable and works with SMP and is 64-bit clean.
The screenshot below shows Hercules' emulation of the Hardware Management Console (HMC) on an IBM S/390 mainframe. On real z-Series machines (successor to the 390 series) it is an IBM Thinkpad laptop running OS/2 and dedicated software that makes it look like an old-fashioned 9672 terminal... so we already have a few layers of virtualisation before introducing Hercules! PSW means "Program Status Word", known as "Instruction Pointer" on some other architectures. All counters are zero because the machine has not yet been told to boot. The console is alive (ie, imagine the OS/2 laptop is running its terminal software.) In Unix terminology the mainframe is talking back in single user console mode.
To the right is what you see after an OS is booted, in this case Debian GNU/Linux 390 . The HMC command "IPL 0800" (Initial Program Load) was issued to boot from the device found at address 0800, approximately speaking. A Linux boot sequence takes place that looks more-or-less as it does on Alpha, Intel or other platforms. Interaction here is still via the virtualised HMC, where the rule is that any commands prefixed by a dot "." are passed through to the mainframe session and anything else is interpreted as an HMC command. An alternative is to connect via a 3270 session or a TCP/IP connection over ssh or X11/xterm just as for a real computer.
The screenshot on the left is after logging in (with password in plain text due to the HMC pass-through arrangement. The user has shown that Linux/390 thinks it is running on a dual processor S/390 with a serial number of Pi.
External links
- Hercules Emulator home page: http://www.conmicro.cx/hercules/
- Public domain OS library (MVS version 3.8, VM/CMS release 6, DOS/VS release 34, TSS/370 version 3): http://www.cbttape.org
- Public domain software archive: http://www.ibiblio.org/jmaynard
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details


