Hercules (емулятор)
Hercules — емулятор (віртуальна машина) мейнфрейму компанії IBM, який дозволяє завантажити операційну систему мейнфреймів IBM (System/370, System/390, zSeries) на інших типах комп'ютерної техніки, зокрема — на недорогих персональних комп'ютерах.
Хоча існують і інші емулятори мейнфреймів з аналогічними функціями, проект Hercules важливий в тому, що може вільно використовуватись приватними особам для запуску програмного забезпечення мейнфреймів на персональних комп'ютерах.
Використання
Hercules може виконуватись під кількома різними операційними системами, включаючи Linux, Windows, FreeBSD, Solaris, Mac OS X і поширюється відповідно до відкритої ліцензії QPL. Принципи його роботи аналогічні Bochs і QEMU в тому, що він емулює інструкції процесора і окремі периферійні пристрої.
Інсталяція Hercules може бути виконана з файлів з вихідним кодом або з зібраних пакунків[1].
Роджер Боулер, програміст мейнфреймів, приступив до розробки емулятора Hercules в 1999 році. Jay Maynard в даний час підтримує і супроводжує цей проект. Код операційної системи для емулятора був наданий компанією IBM у вільне використання безкоштовно.
Дизайн
Емулятор майже повністю написаний на С. Його розробники не використовували специфічні інструкції платформ, на яких виконується емуляція щоб уникнути проблем з переносимістю, хоча такий код і міг би значно підвищити продуктивність емульованої машини. Є два винятки:
- Hercules використовує апаратне забезпечення міжпроцесорної взаємодії при емуляції декількох процесорів в системах з SMP.
- Hercules використовує асемблерні вставки для конвертації між порядком байтів у слові «від старшого до молодшого» (прийнятим в системах System/370, System/390 тощо) і порядком «від молодшого до старшого» (англ. little-endian) на платформах з x86/x86-64 процесорами.