Hercules (emulator)
| Company type | Private |
|---|---|
| Industry | Software emulation |
| Founded | 2009 |
| Founder | Roger Bowler |
| Headquarters | France |
| Products | Hercules (software emulator) |
Hercules is a software emulator that allows programs created for IBM mainframe platforms (System/370, System/390, and zSeries/System z) as well as compatible mainframe systems (such as those from Amdahl) to operate on alternative hardware, notably affordable personal computers. The project was initiated in 1999 by Roger Bowler, an experienced mainframe systems developer.
This emulator supports a variety of operating systems including Linux, Microsoft Windows, FreeBSD, NetBSD, Solaris, and macOS. Distributed under the open source QPL license, Hercules functions similarly to emulators like Bochs and QEMU by simulating CPU instructions and certain peripherals. However, it requires users or vendors to supply and install the operating system themselves. Importantly, Hercules was the pioneering mainframe emulator to provide support for 64-bit z/Architecture.
Design
The codebase of Hercules is predominantly written in the C language. To ensure broad portability across different platforms, the developers deliberately minimized the use of machine-dependent assembly code, even though such code could enhance performance. The few exceptions involve hardware-level assistance for maintaining consistency between processors on SMP systems and assembly routines for endianness conversion on supported operating systems running on x86 or x86-64 architectures.
Operating systems status
Hercules can technically run all IBM mainframe operating systems, including legacy versions that are no longer supported by current hardware. Nevertheless, many of these require valid licenses from vendors. Licensed environments such as OS/390, z/OS, VSE/ESA, z/VSE, VM/ESA, z/VM, TPF/ESA, and z/TPF are only operable under strict licensing agreements with IBM. Additionally, IBM's proprietary software like the Coupling Facility control code and UTS also necessitate proper licensing.
Operating systems that can be legally used on Hercules without incurring license fees include:
- Earlier IBM operating systems such as OS/360, DOS/360, DOS/VS, MVS, VM/370, and TSS/370, which are either in the public domain or freely distributed.
- The educationally licensed operating system MUSIC/SP, provided by its copyright owner, McGill University. Some functionalities require z/VM and IBM licenses; a demonstration version is included with the Sim390 emulator.
- The customized version 6.0A of the Michigan Terminal System (MTS).
- Open-source platforms like Linux on IBM Z and OpenSolaris for System z perform effectively on Hercules. Many developers targeting Linux on IBM Z utilize Hercules during development. Various distributors provide 64-bit z/Architecture Linux editions along with some ESA/390-compatible versions. Mainframe Linux variants include distributions such as SUSE Linux Enterprise Server, Red Hat Enterprise Linux, Debian, CentOS, and Slackware. The OpenSolaris port to System z was accomplished by Sine Nomine Associates, leveraging z/VM features emulated starting with Hercules Version 3.07.
- Certain independent editors and utility programs that do not require a host operating system may also operate on Hercules.
- PDOS/3x0 (Public Domain Operating System for mainframes) implements a subset of the MVS application programming interface.
Usage
Hercules functions as a development platform designed to test code portability across various Linux processor architectures, verify support for symmetric multiprocessing (SMP), and ensure 64-bit compatibility.
A substantial network of current and former mainframe professionals, including operators, developers, and enthusiasts, utilizes Hercules in conjunction with publicly available IBM operating systems for educational and hobbyist activities. The expertise acquired from legacy IBM mainframe OS versions continues to be valuable when migrating to licensed IBM systems running contemporary software.
As an open-source project, Hercules enables users to develop tailored emulator variants. For example, an independent developer team introduced a hybrid mainframe architecture named "S/380," which involved modifying both Hercules and traditional MVS versions to provide enhanced operating system support for 31-bit and 64-bit binaries, with additional 32-bit compatibility added by 2018.
Performance
Assessing Hercules' performance compared to authentic mainframes is complicated by the diversity of hardware platforms and legal constraints surrounding benchmarking of licensed IBM operating systems.
Performance metrics for Hercules are expressed in MIPS. Despite the inherent overhead of emulation, it typically surpasses the processing speed of early System/360 and System/370 hardware when run on modern personal computers. Nevertheless, contemporary System z mainframes deliver substantially higher performance. A robust dual-processor x86 machine can sustain between 50 and 60 MIPS under typical conditions, with bursts reaching up to 300 MIPS on high-end PCs around 2009. Synthetic benchmarks have recorded peaks exceeding 1200 MIPS in tight-loop scenarios.
Tom Lehmann, co-founder of TurboHercules, observed:
Hercules outperforms IBM's PC-based mainframes from the mid-1990s—which peaked at approximately 29 MIPS—and is comparable to mid-tier servers such as IBM Multiprise 2000/3000 models. For mainframes newer than the Generation 1 9672 series, Hercules is positioned as an entry-level solution. By contrast, premium IBM zEnterprise 196 systems from around 2010 achieve over 52,000 MIPS alongside advanced I/O capabilities. Similarly configured z/PDT environments typically operate at roughly three times the speed of Hercules.
Beyond raw computational power, mainframe users prioritize features including high availability, failover mechanisms, hot-pluggable CPUs and memory modules, I/O routing through mesh networks, system migration capabilities, and logical partition (LPAR) management. Mainframe designs offload complex I/O tasks to peripheral processors to minimize CPU load. While Hercules can emulate simple I/O devices effectively, reproducing intricate I/O configurations remains difficult.
TurboHercules
In 2009, Roger Bowler established TurboHercules SAS in France with the goal of commercializing Hercules technology. That July, TurboHercules sought an IBM license for z/OS to operate on its platforms; however, IBM declined the request. In March 2010, TurboHercules filed a complaint with European Commission regulators accusing IBM of breaching EU antitrust laws by coupling its mainframe hardware with proprietary operating system restrictions; this prompted a preliminary investigation by the Commission. In November 2010, Microsoft Corporation invested in TurboHercules. Despite this, the European Commission concluded its investigation in September 2011 without taking enforcement action.
See also
External links
- Hercules, Son of Z's (Detailed review on Tech-news.com)
- CBT tape archive featuring IBM mainframe OS and software collections
- Public domain software archive (Includes Turnkey MVS CD image)