Геркулес (эмулятор) - Hercules (emulator)

Геркулес
Геркулес-logo.gif
Hercules-emulator-running-ubuntu.png
Эмулятор Hercules, работающий в Ubuntu
Оригинальный автор (ы) Роджер Боулер
Разработчики) Джей Мейнард , Ян Йегер, Дэвид «Фиш» Траут, Грег Смит, Бернард ван дер Хельм, Иван Уоррен и другие.
изначальный выпуск 1999 г.  ( 1999 )
Стабильный выпуск
3.13 / 29 сентября 2017 г . ; 3 года назад  ( 29 сентября 2017 г. )
Предварительный выпуск
4.0.0rc0 / 16 декабря 2016 г . ; 4 года назад  ( 2016-12-16 )
Репозиторий 3.xx spinhawk 4.xx hyperion
Написано в C
Операционная система Кроссплатформенность
Тип Эмулятор
Лицензия Q Общественная лицензия
Интернет сайт www .hercules-390 .eu
www .hercules-390 .org
4.x Hyperion SoftDevLabs
Разработчики) Дэвид Б. Траут
Стабильный выпуск
4.3 / 27 ноября 2020 г . ; 3 месяца назад  ( 2020-11-27 )
Репозиторий github .com / sdl-hercules-390 / hyperion
Интернет сайт www .sdl-hercules-390 .org

Hercules - это компьютерный эмулятор, позволяющий программному обеспечению, написанному для мэйнфреймов IBM ( System / 370 , System / 390 и zSeries / System z ), а также для мэйнфреймов, совместимых с подключаемыми модулями (например, машины Amdahl ), работать на других типах компьютерного оборудования, особенно на низком уровне. -дорогие персональные компьютеры . Разработка началась в 1999 году Роджером Боулером, системным программистом для мэйнфреймов.

Hercules работает под управлением нескольких родительских операционных систем, включая Linux , Microsoft Windows , FreeBSD , NetBSD , Solaris и Mac OS X, и выпускается под лицензией на программное обеспечение с открытым исходным кодом QPL . Он аналогичен Bochs и QEMU в том, что он эмулирует инструкции ЦП и выбирает только периферийные устройства. Поставщик (или дистрибьютор) по-прежнему должен предоставить операционную систему, а пользователь должен ее установить. Hercules был первым эмулятором мэйнфрейма, который включил поддержку 64-битной архитектуры z / .

Дизайн

Эмулятор почти полностью написан на Си . Его разработчики исключили использование машинно-зависимого ассемблерного кода, чтобы избежать проблем с переносимостью, хотя такой код может значительно повысить производительность. Есть два исключения: Hercules использует аппаратные ассистенты для обеспечения межпроцессорной согласованности при эмуляции нескольких процессоров в хост-системах SMP, а Hercules использует ассистенты ассемблера для преобразования между прямым порядком байтов и прямым порядком байтов на платформах, где операционная система предоставляет такие услуги и на процессорах x86 / x86-64 .

Статус операционных систем

Hercules технически совместим со всеми операционными системами мэйнфреймов IBM, даже с более старыми версиями, которые больше не работают на новых мэйнфреймах. Однако для работы многих операционных систем для мэйнфреймов требуются лицензии поставщиков. Новые лицензированные операционные системы, такие как OS / 390 , z / OS , VSE / ESA , z / VSE , VM / ESA , z / VM , TPF / ESA и z / TPF , технически совместимы, но не могут работать на эмуляторе Hercules на законных основаниях. за исключением очень ограниченных случаев, и они всегда должны быть лицензированы IBM. Управляющий код IBM Coupling Facility , который включает Parallel Sysplex , и UTS также требует лицензий для работы.

Операционные системы, которые могут быть запущены на Hercules на законных основаниях без затрат на лицензию, включают:

  • Старые операционные системы IBM, включая OS / 360 , DOS / 360 , DOS / VS , MVS , VM / 370 и TSS / 370, которые являются либо общественным достоянием, либо «программным обеспечением, защищенным авторским правом, предоставляемым бесплатно».
  • MUSIC / SP Операционная система может быть доступна для образовательных и демонстрационных целей по их просьбе его владельца авторских прав, McGill University . Для некоторых функций MUSIC / SP, особенно для работы в сети, требуется z / VM (и, следовательно, лицензия IBM). Однако доступна полная демонстрационная версия MUSIC / SP в комплекте с альтернативным эмулятором мэйнфрейма Sim390.
  • Система терминала Мичиган (МТС) версии 6.0A было специально для работы под Геркулеса.
  • Нет известных юридических ограничений на запуск операционных систем с открытым исходным кодом Linux на IBM Z и OpenSolaris для System z на эмуляторе Hercules. Они хорошо работают на Hercules, и многие разработчики Linux на IBM Z работают с Hercules. Некоторые дистрибьюторы предоставляют 64-битные версии Linux для z / Architecture, а некоторые также предоставляют версии, совместимые с ESA / 390 . Дистрибутивы Linux для мэйнфреймов включают SUSE Linux Enterprise Server , Red Hat Enterprise Linux , Debian , CentOS и Slackware . Sine Nomine Associates представила OpenSolaris в System z, полагаясь на функции, предоставляемые z / VM. Эмуляция этих конкретных функций z / VM для OpenSolaris включена, начиная с Hercules версии 3.07.
  • Некоторые свободные редакторы и утилиты, которые могут работать на мэйнфрейме без родительской операционной системы, также могут быть доступны для работы на Hercules.
Debian GNU / Linux, работающий на Hercules
  • PDOS / 3X0 (операционная система Public Domain, версия для мэйнфрейма)

использование

Hercules можно использовать в качестве среды разработки для проверки переносимости кода (например, для различных архитектур процессоров Linux), поддержки симметричной многопроцессорной обработки (SMP) и 64-битной «чистоты».

Существует также большое сообщество нынешних и бывших операторов и программистов мэйнфреймов, а также тех, кто не имеет предыдущего опыта, которые используют Hercules и общественные операционные системы IBM в качестве хобби и в учебных целях. Большинство навыков, приобретенных при изучении классических версий операционной системы для мэйнфреймов IBM, по-прежнему актуальны при переходе на лицензированные машины IBM с последними версиями.

Открытый источник природа Геркулеса означает , что любой человек может производить свою собственную настроенную версию эмулятора. Например, группа разработчиков, независимых от проекта Hercules, реализовала гибридную архитектуру мэйнфрейма, которую они назвали «S / 380», используя модификации как Hercules, так и свободно доступных классических версий MVS (и более поздних версий VM и DOS / VS), улучшая операционные системы с некоторой степенью 31-битной (а по состоянию на 2016 год 64-битной) двоичной совместимости с более поздними версиями операционных систем (а с 2018 года также поддерживается 32-битная версия).

Спектакль

Трудно точно определить, насколько производительность эмуляции Hercules соответствует реальному оборудованию мэйнфрейма, но характеристики производительности, по понятным причинам, сильно отличаются. Частично это связано со сложностью сравнения реального оборудования мэйнфрейма с другими ПК и серверами, а также с отсутствием конкретных контролируемых сравнений производительности. Сравнение производительности, вероятно, юридически невозможно для лицензированных операционных систем IBM, и эти операционные системы сильно отличаются от других операционных систем, таких как Linux.

Hercules выражает свою производительность обработки в MIPS . Из-за возраста более раннего оборудования System / 360 и System / 370 относительно безопасно предположить, что Hercules превзойдет их при работе на умеренно мощном оборудовании, несмотря на значительные накладные расходы на эмуляцию компьютерной архитектуры в программном обеспечении. Однако более новые, частично или полностью сконфигурированные машины System z значительно превосходят Hercules по производительности. Относительно быстрая двухпроцессорная машина X86 под управлением Hercules способна поддерживать от 50 до 60 MIPS для кода, который использует оба процессора в реалистичной среде, с устойчивым увеличением скорости до 300 MIPS в передовых (начало 2009 г.) системах класса ПК. . Hercules может генерировать пики более 1200 MIPS при работе в тесном цикле, например, в тесте синтетических инструкций или с другими небольшими программами, требующими интенсивных вычислений.

Том Леманн, соучредитель TurboHercules, писал:

... Мы можем запустить нагрузку разумного размера (800 MIPS с нашим стандартным пакетом). Если рассматриваемая машина больше, чем это, мы можем масштабироваться до 1600 MIPS с нашим четырехъядерным пакетом на базе Nehalem, и нам обещали 8-процессорный компьютер на базе Nehalem EX в начале следующего года, который должен довести нас до отметки 3200 MIPS. Все, что больше, воспроизводится набором систем.

Hercules в целом превосходит по производительности мэйнфреймы на базе ПК IBM середины 1990-х годов, заявленная пиковая производительность которых составляет около 29 MIPS. По сравнению с более мощными, но все же мэйнфреймами IBM Multiprise 2000 и 3000 начального уровня (также из 1990-х годов), Hercules на типичном оборудовании x86 будет считаться сервером среднего уровня с точки зрения производительности. Для каждого мэйнфрейма после 9672 Generation 1 Hercules, как правило, является системой самого низкого уровня. Для сравнения: современные высокопроизводительные системы IBM zEnterprise 196 могут обеспечивать производительность более 52 000 операций в секунду на машину и имеют значительные преимущества в производительности ввода-вывода. При том же количестве эмулируемых процессоров Sys Z z / PDT примерно в 3 раза быстрее, чем Hercules.

Обратите внимание, что помимо производительности существуют и другие нефункциональные системные атрибуты, которые обычно имеют отношение к операторам мэйнфреймов.

ТурбоГеркулес

В 2009 году Роджер Боулер основал TurboHercules SAS во Франции с целью коммерциализации технологии Hercules. В июле 2009 года TurboHercules SAS попросила IBM лицензировать z / OS для своих клиентов для использования в системах, продаваемых TurboHercules. IBM отклонила запрос компании. В марте 2010 года TurboHercules SAS подала жалобу регулирующим органам Европейской комиссии , утверждая, что IBM нарушила антимонопольные правила ЕС, якобы привязав оборудование мэйнфрейма к своей операционной системе мэйнфрейма, и Европейская комиссия начала предварительное расследование. В ноябре 2010 года TurboHercules объявила о получении инвестиций от корпорации Microsoft. В сентябре 2011 года регулирующие органы ЕС прекратили расследование без каких-либо действий.

Смотрите также

Рекомендации

внешняя ссылка