Darmowy system typu mainframe w twoim domu

Clikbaitowy tytuł – zaliczony. Chyba nie wyszedłem z wprawy od ostatniego razu? Ten sprzęt też będzie bez LEDów, żebyście się nie zdziwili czytając :-)

Zamiast nostalgii zwykłe młodzieńcze marzenia…

Ostatnio opowiadałem o tym jak sobie „wyobrazić” przedpotopowy komputer za darmo. Osobista podróż w czasie i przypomnienie starego rodzinnego PC było, nie ukrywam, bardzo miłą przygodą. Tymczasem grając w SimCity 3000 wpadłem na pomysł kolejnej ciekawej podróży w czasie i przestrzeni. Swoją drogą straciłem bite 12h, ale nie zrujnowałem miasta i dotrwałem do elektrowni termojądrowych na moim cyfrowym Podlasiu. A co z pomysłem? Czytaliście tytuł więc już chyba wiecie co się kroi. Płynąc do brzegu… Tak samo jak programista stron internetowych zastanawia się jak to jest mieć przynajmniej tą mityczną średnią krajową, tak ja zastanawiałem się jak to byłoby być poważnym operatorem starego poważnego komputera mainframe. Brzmi głupio? Tak właśnie mogło zabrzmieć bo jestem kiepski w rozbudowanych porównaniach paralelnych. Po prostu zaciekawiło mnie jak się kiedyś pracowało na takiej dziwnej i niecodziennej maszynie. Czy było trudno? Czy można było grać w gry i przeglądać YT jednocześnie? Czy trzeba było skończyć minimum Oxford albo Harvard aby umieć w tamtejszy system? Was to nigdy nie ciekawiło?

Półbóg, półoperator, półlitra…

Tak jak poprzednio swoją podróż rozpocząłem od przejrzenia DarkNetu. Niestety z trzeciej strony wyników Google nie dowiedziałem się zbyt wiele, a na czwartą bałem się zaglądać. Być może z wiekiem pogłębiła się moja impotencja w zadawaniu pytań wujkowi albo po prostu miałem pecha i trafiały mi się same kwaśne rodzynki. Jedynie przemknęło mi przed oczami imię mitycznego Herkulesa. Pomyślałem że to może mieć sens. Możliwe że komputery typu mainframe były znane i używane już w starożytnym Rzymie. Szczerze? Nawet by mnie to nie zdziwiło. Słyszałem od różnych ludzi jakie to jest stare rozwiązanie i kiedy mniej więcej mogło powstać. Gdzieś pisali że to okolice roku 1950 ale ja bym takim plotkom nie ufał.

Co do bohatera to byłem blisko, gdyż okazało się że Herkules to program potrafiący udawać sprzęt IBM mainframe! Bingo, trafiony zatopiony i po makale! Bez namysłu pobrałem i wypakowałem plik ZIP z programem hercules.exe i…

Gdzie jest ten port USB żeby wgrać Linuksa?

Kojarzycie śmieszne filmiki jak dają dzieciom kasetę oraz walkmana i podziwiają nieporadne zmagania latorośli nad tym by usłyszeć muzykę? Myślicie że to zabawne? A ja byłem dokładnie jak bohater takiego filmiku. Siedziałem przed monitorem i tylko patrzyłem czy nikt mnie ukradkiem nie nagrywa. Czułem się jak delfin któremu dali wykałaczkę i kazali wydłubywać mrówki z ziemi. Ani „beee” ani „meee”. Okazuje się że to nie będzie tak proste jak w przypadku PCem. Śmiem twierdzić że próg wejścia jest równie wysoki co postawienie Windowsa 10 bez błędów lub zainstalowanie natywnego PhotoShopa na Ubuntu. Po uruchomieniu programu hercules.exe jedyne co zobaczyłem to…

Wiecie dlaczego i co się stało? Postąpiłem jak typowy Janusz – nie przeczytałem instrukcji. Z PCem jeszcze przeszło bo to aplikacja okienkowa i można było wyklikać myszkiem. Ale tutaj? Nawet nie wiecie jaka była moja radość jak odkryłem po godzinie że klawiszem Esc zmienia się ekran na konsoli. Kompletnie nie rozumiałem co to daje i co znaczą te dziwne krzaczki ale radość była bezcenna.

Czym jesteś i dokąd tuptasz?

W końcu przeleciałem wzrokiem jakąś dokumentację. Okazuje się że Hercules jest dosyć oryginalnym emulatorem platformy którą chcemy posiąść. W zasadzie jego główne zadania to udawanie procesora oraz obsługa kompatybilnych urządzeń I/O. 

Jako że procesor nie jest normalny to na nic Wam się zdadzą rozszerzenia VT-x w domowych CPU. Z reszta udawanie wychodzi dobrze tylko dla starszego typu jednostki obliczeniowej (adresowanie 24-bitowe?) ale tym się nie zrażamy. Nie czarujmy się, docelowy sprzęt takim zwykłym komputerem wybitnie nie jest i nie ma co liczyć na to że będzie normalnie. Ale że będzie oryginalnie i nieszablonowo to raczej jestem pewny.

Jeśli chodzi o urządzenia wejścia/wyjścia to mamy tutaj cały katalog zabawek które można użyć: wirtualne terminale, dziurkacze jak i czytacze kart perforowanych, drukarki (takie prawie jak zwykłe), napędy taśmowe, SCSI, optyczne, fake’owe, itp. itd. Są też różnego rodzaju adaptery LAN TCP/IP, DASD (pamięć wszelaka), oraz linie komunikacyjne. Wszystko tak naprawdę zależy od waszej wyobraźni i od tego jak sobie zwizualizujecie te urządzenia. A śmialiście się pewnie z walkmanów i kaset. Który umie nawlec taśmę na szpulę tak aby zadziałało za pierwszym razem we „frejmie”? :D

Windows, Linuks, macOS… Nie rozśmieszajcie mnie…

Na komputerach mainframe można zainstalować i używać różnego rodzaju systemów operacyjnych zgodnych z architekturą. Ba! Można nawet używać kilku systemów jednocześnie. Tak przynajmniej piszą Internety i nie ufajcie mi na słowo. Najpopularniejszym OS’em jest IBM-owy z/OS. Można też trafić na bardziej wyspecjalizowane ustrojstwa typu z/VM, z/VSE, z/TPF oraz… Tum turu duuum! Linux for System Z. Tak - pingwiny również podbiły tę część rynku komputerów i tak – Windows tu nie działa mimo że ma obsługę gestów touchpada.

Jestem prostym człowiekiem i mi wystarczy na razie jeden działający system, najlepiej z prostym notatnikiem. Tymczasem nie mam żadnego. Problem w tym, że o ile Windowsa sobie pobierzecie z Internetów to już takiego IBM z/OS raczej Wam się nie uda. Nawet jeśli się uda to dostaniecie jakąś piracką, archaiczną, zbugowaną, wybrakowaną wersję i bez instrukcji mówiącej co z tym czymś co pobierzecie zrobić. O licencji nawet nie wspomnę. Wybitnie nie polecam bo stracicie czas i być może dobytek życia jak wam wystawią rachunek z IBM'u. Nie pytajcie nawet skąd to wiem…

Na pomoc po raz kolejny przychodzi dokumentacja. PDF na stronie Herculesa wspomina o projekcie MVS Turnkey System. Jest to nic innego jak implementacja systemu IBM MVS za posiadanie której nie zasądzają dożywotniej ścisłej kwarantanny w Sztumie. Pobierzmy więc to cudo technologii i może w końcu zrobimy ten pierwszy krok. Chciałem przypomnieć ze to już piąty akapit, a jeszcze nic nie mamy tak naprawdę…

He is alive! Buahahahaha!

Dobra, dobra… Już, już, powoli… Po pobraniu i wypakowaniu ‘tk4-_v1.00_current’ zobaczymy stertę plików. Będzie tam tona przydatnych informacji, cały Herkules, pliki z danymi, konfiguracja, instrukcja obsługi i linki do stron które naturalnie olałem, itp. Itd. Pamiętacie jak mówiłem czym jest Hercules oraz to jakie urządzenia obsługuje? W normalnym przypadku wszystko po kolei musieli byśmy konfigurować sami – terminale, mapowania, adresy i namiary na różne urządzenia końcowe. Co ja mówię skonfigurować… Na własnych plecach się te części do szafy targało z ciężarówki. W ogóle według instrukcji powinniśmy też sami sobie system operacyjny napisać, ale już bez przesady może co? W przypadku ‘tk4’ dostajemy w zasadzie w pełni skonfigurowaną i gotową do pracy platformę. Jedyną rzeczą którą można zrobić dla wygody to przełączenie pracy środowiska w tryb konsolowy. Przydaje się to gdy chcemy wywołać czynności które w prawdziwym świecie wymagały fizycznej interakcji np. załadowanie nowej szpuli taśm z danymi lub włożenie papieru do drukarki. Aby wprowadzić ustawienia wystarczy jednorazowo uruchomić skrypt ‘set_console_mode.bat’ który mieszka w katalogu ‘unattended’.

Teraz wystarczy wystartować całego MVS’a wywołując intuicyjny plik mvs.bat. Podziwiajcie blask i chwałę o niewierni, oto nadchodzi On!

Proste życie użytkownika mainframe

Jeszcze nic nie zrobiliśmy, a już tyle się wydarzyło… Przynajmniej ja przyswoiłem taką ilość informacji, że na wykresie efektu Krugera-Dunninga byłbym właśnie w najwyższym punkcie. Wracając…

Aby mieć jakąś sensownie wyglądającą i względnie wygodną możliwość interakcji z tym bydlakiem potrzebujemy jeszcze jednej rzeczy – terminala NT3270. Niestety prawdopodobnie nie macie takiego czegoś w domu, a jak macie to żyjecie w czasach gdy jeszcze kosmiczny kamyk nie przywalił w ziemię, a po lądzie ganiają się jakieś dziwne wielkie żyjątka. Trzeba posiłkować się emulatorem. Jakby jedno „wyimaginowane” urządzenie to było za mało... Mamy kilka możliwości, jednak to jaki emulator wybrać zostawiam wam jako praca domowa. Poczujecie się jak na e-lekcjach, a jeśli ktoś odkryje co łączy Microsoft oraz mainframe to być może zaoszczędzi parę groszy. Sam terminal nie był jakimś skomplikowanym tworem więc programowa emulacja nie stanowi dziś żadnego wyzwania.

Połączmy się więc pierwszy raz z naszym mainframe. Aby to zrobić w emulatorze należy podać minimum trzy opcje: typ, adres, port. W naszym przypadku kolejno: NT3270, localhost, 3270 - są to domyślne wartości na jakich tk4 wystawia naszego frejma na świat. Celowo nie pokazuje „co i jak” gdyż każdy program emulujący ma inaczej wyglądające opcje i wszystko zależy co sobie wybierzecie. Większość pozostałych opcji wystarczy aby miała wartości domyślne choć nie są one bez znaczenia. Jeśli wszystko wpiszemy poprawnie to…

Ujrzymy niemalże Świętego Piotra który zaprasza do odwiedzenia tego bezkresnego przybytku witając nas znaczącym aczkolwiek skromnym ‘ZZZzz’:

Jaki ten mainframe miły i kulturalny prawda? W dolnej części ekranu jesteśmy proszeni o podanie loginu. Po podaniu poświadczeń wita nas TSO:

A tuż po nim objawia się wspomniane środowisko wraz ze swoim menu:

Wygląda na to że przygoda dopiero się zaczyna

Udało się! Wedle pradawnych rycin wygląda na to że mamy działający mainframe z uruchomionym systemem gotowym do pracy. Dzięki Bogu literki na emulatorze są tak wielki, że ze łzami w oczach widzę wszystko prawie wyraźnie. Siedząc wygodnie w zaciszu mieszkania chyba właśnie dotykam kawałka historii. Czy co rano na początku pracy podobny ekran witał pracownik pentagonu, wallmarta lub jakiejś ubezpieczalni? Kto wie…

Wspomniałem że terminal NT3270 jest „dziwny”? Tak, z natury działanie tego cuda w pewnych miejscach nie przypomina znanego windowsowego CMD czy linuksowego Shella. Jeśli w pośpiechu klikacie na oślep to prawdopodobnie już dawno zablokowaliście swoje terminale xD Musicie wiedzieć, że pracując w środowisku mainframe każdy znak na ekranie może mieć wielkie znaczenie i ma swoją funkcję. Ale o tym jeszcze będzie… Tymczasem jak zawsze na koniec tego krótkiego wpisu parę obrazków:

F OMVS,SHUTDOWN / F BSPPILOT,SHUTDOWN 

Jeśli liczyliście na jakiś trywialny wpis o VirtualBox… Jeśli oczekiwaliście obiecanej podróży w głąb wspomnień, jak to się kiedyś instalowało Windowsa… Jeśli chcieliście kolejną bzdurną bitewkę o wyższości Windowsa nad Androidem… To mam szczerą nadzieję, że się po prostu zawiedliście w najgorszy możliwy sposób :-) 

W następnym odcinku: (czyli za kolejne dwa lata?)

Jeśli nie stracę motywacji to może uda się pokazać i wyjaśnić więcej z działania tej maszynki. Co powiecie na stworzenie jakiegoś zasobu? Zobaczymy jak w ogóle skutecznie używać terminala NT3270 i dlaczego on jest taki dziwny. Dowiemy się może w końcu do czego jest ten cholerny JES2 który kojarzy mi się (pewnie błędnie) z rakietami i NASA. A może by tak podpiąć to dziadostwo do Internetu i włączyć program folding@home? W końcu to mocarny mainframe! Powoli, spokojnie... Na wszystko przyjdzie czas...