Hercules (emulator)

Hercules runs under multiple parent operating systems including Linux, Microsoft Windows, FreeBSD, NetBSD, Solaris, and macOS and is released under the open source software license QPL.

There are two exceptions: Hercules uses hardware assists to provide inter-processor consistency when emulating multiple CPUs on SMP host systems, and Hercules uses assembler assists to convert between little-endian and big-endian data on platforms where the operating system provides such services and on x86/x86-64 processors.

IBM's Coupling Facility control code, which enables Parallel Sysplex, and UTS also require licenses to run.

For example, a group of developers independent of the Hercules project implemented a hybrid mainframe architecture which they dubbed "S/380"[6] using modifications to both Hercules and to freely available classic versions of MVS (and later VM and DOS/VS), enhancing the operating systems with some degree of 31-bit (and as of 2016, 64-bit) binary compatibility with later operating system versions (and as of 2018, 32-bit is also supported).

This is partially due to the difficulty of comparing real mainframe hardware to other PCs and servers as well as the lack of concrete, controlled performance comparisons.

Hercules can produce peaks of over 1200 MIPS when running in a tight loop, such as in a synthetic instruction benchmark or with other small, compute-intensive programs.

Compared to the more powerful but still entry-level IBM Multiprise 2000 and 3000 mainframes (also from the 1990s), Hercules on typical x86 hardware would be considered a mid-range server in performance terms.

[citation needed] Note that there are other non-functional system attributes beyond performance which are typically relevant to mainframe operators.

These include high availability, failover, hot-plug CPU and RAM, I/O routing over I/O meshes, system migration and LPAR management.

Debian GNU/Linux running on Hercules