Jak można było uruchomić oprogramowanie mainframe IBM w emulacji na HP?

Nov 25 2020

... A przynajmniej bez pozwu w ziemię?

Według jednej z odpowiedzi na pytanie Jakie było najbardziej krytyczne oprogramowanie wspomagające COBOL na komputerach mainframe IBM?

Zainstalowaliśmy nowy HP zastępujący system IBM, a częścią instalacji był emulator do uruchamiania kodu IBM na HP.

Nie udało mi się znaleźć żadnego prawdopodobnego odniesienia do tego emulatora w Google. Najbliższą rzeczą, jaką udało mi się znaleźć, był emulator o nazwie Hercules, który został wydany po raz pierwszy w 1999 roku. Jednak najwyraźniej IBM wyraźnie odmówił udzielenia licencji na którykolwiek ze swoich systemów operacyjnych do uruchamiania w Herkulesie. Hobbyści mogą i tak spróbować z piracką kopią systemu operacyjnego tylko po to, aby się bawić, prawdopodobnie słusznie sądząc, że IBM nie będzie się tym przejmował, ale firma uznałaby to za wysoce niewskazane.

I rzeczywiście, komentarz do innej odpowiedzi:

Jest rzeczą oczywistą, że oprogramowanie pośredniczące mainframe jest mocno obciążone i chronione przez umowy o zachowaniu poufności itp. Bez względu na to, jak pomocny może się wydawać IBM, jakim są okrojone wersje, np. Ich produktów MQ działających w systemie UNIX lub Windows, możesz się założyć, że każdy, kto Próbowali naśladować każdy niuans komputerów mainframe, przez długi czas byliby uwięzieni w sądzie.

Brzmi wiarygodnie. Gdyby jednak IBM zareagował w ten sposób na kogoś emulującego ich oprogramowanie pośredniczące, z pewnością zareagowałby jeszcze bardziej agresywnie na emulację całej platformy?

Więc do czego odnosił się emulator w HP i jak im się to udało?

Odpowiedzi

10 WillHartung Nov 25 2020 at 12:14

Nie wiem, jakie środowisko zainstalowali, aby uruchomić swoje oprogramowanie w HP. Sprzedawca wykonał całą pracę. Z tego, co wiem, był to po prostu surowy COBOL z kompatybilnym środowiskiem wykonawczym IBM działającym na szczycie HP-UX. Najbardziej godną uwagi rzeczą było to, że wymagało 3270 terminali (w większości niespotykanych w świecie Uniksa).

Przypomnij sobie kilka rzeczy.

Wszystkie maszyny IBM są i są od jakiegoś czasu dużymi wirtualnymi środowiskami wykonawczymi. Kod nie jest kompilowany dla podstawowego sprzętu, jest kompilowany na maszynę wirtualną, która jest następnie ładowana do pracy na rzeczywistej maszynie podstawowej.

Chociaż mainframe jest szczególnie wyrafinowany, nie oznacza to, że rzeczywiste aplikacje są szczególnie wyrafinowane. To był system zarządzania hotelem i rezerwacji. COBOL nie jest szczególnie dobrym systemem do programowania systemu (jeśli w ogóle było to napisane w języku COBOL, to takie założenie). To wysokopoziomowy system biznesowy zaprojektowany wokół ekranów i raportów. Do obsługi większości aplikacji COBOL nie są potrzebne systemy o dokładnych cyklach. Musisz po prostu obsługiwać system plików, drukarki i interfejsy ekranu. I być może jakiś klej JCL, który może być dostarczany z aplikacją jako opakowanie dla przepływu pracy i tym podobne.

Tak więc wątpię, czy faktycznie korzystali z "wirtualnego" mainframe'a, raczej myślę, że mieli warstwę kompatybilności wspieraną przez ich środowisko programistyczne, która sprawiła, że ​​przenoszenie ich oprogramowania było proste, aż do użycia terminali 3270.

Rozważmy, że oprogramowanie, które sprzedaliśmy i napisaliśmy, zostało napisane w kodzie P, a środowisko wykonawcze zostało przeniesione na kilka różnych systemów. W razie potrzeby kod można skompilować do postaci binarnej dla określonych maszyn, ale podobnie jak Java, kod P był przenośny, o ile zainstalowano środowisko wykonawcze.

W naszym przypadku P-Code był odpowiedni dla większości programów, ale sugerowaliśmy kompilację najpopularniejszych, dużych programów nie tyle ze względu na samą wydajność, ile po prostu na pamięć. Skompilowany kod współdzielił strony wykonywalne dla wielu użytkowników, podczas gdy P-Code nie, a zatem miał większy ślad pamięci, gdy 10 lub 20 użytkowników uruchamia ten sam program.

8 Kartman Nov 25 2020 at 12:23

Było wiele firm oferujących komputery mainframe kompatybilne z IBM - przychodzą na myśl Hitachi, Fujitsu i Amdahl. IBM został spoliczkowany pozwem antymonopolowym, gdy próbował ograniczyć swoje systemy operacyjne tylko dla swoich maszyn. Dużo się też działo w terminalach, drukarkach, napędach taśmowych i dyskowych itp.

Amdahl był szczególnie skuteczny w produkcji szybszych i tańszych maszyn niż IBM. Dlatego uruchamianie kodu IBM na innych maszynach było powszechne.

3 ConcernedOfTunbridgeWells Nov 26 2020 at 07:54

Micro Focus COBOL będzie emulować co najmniej 20 różnych dialektów języka COBOL oraz może kompilować i działać na różnych platformach, w tym HP / UX (przynajmniej w starszych wersjach). Ma nawet emulator CICS. Możliwe, że dostawca korzystał z tego narzędzia lub innego narzędzia do portowania języka mainframe COBOL w celu przeniesienia aplikacji do HP.