 hercules is a computer emulator which allows software designed for ibm mainframe computers (system/370, system/390, and zseries/system z) and for plug compatible mainframes (such as amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers. although there are other mainframe emulators which perform a similar function, hercules is significant in that it enables private individuals to run mainframe computer software on their own personal computers. hercules runs under multiple parent operating systems including linux, windows, freebsd, solaris, and mac os x and is released under the open source software license qpl.list of licenses approved by the open source initiative it is analogous to bochs and qemu in that it emulates cpu instructions and select peripheral devices only. a vendor (or distributor) must still provide an operating system, and the user must install it. hercules was notably the first mainframe emulator to incorporate 64-bit z/architecture support, beating out commercial offerings. roger bowler, a mainframe systems programmer, started development of the hercules emulator in 1999. jay maynard currently maintains and hosts the project. == design == the emulator is written almost entirely in c. its developers ruled out using machine-specific assembly code to avoid problems with portability even though such code could significantly improve performance. 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. == operating systems status == hercules is technically compatible with all 
Free_emulation_software IBM_System/360_mainframe_line Linux_emulation_software OS_X_emulation_software Windows_emulation_software