El texto de a continuación explica como montar un sistema host usando tu
PC. Esto se consigue utilizando un emulador completamente GNU Open
Source y por lo tanto libre, llamado Hercules, que emula con pelos y
señales toda la estructura y el juego de instrucciones del host mas
actual.
Evidentemente, tiene sus limitaciones, ya que no hay elementos hardware externos ni se tiene soporte a ciertas funcionalidades de los hosts actuales (Parallel Syxplex, LPAR), pero para montar un sistema robusto y fiable, que además nos sirve para jugar con el y aprender, va que chuta.
Por cierto, la web del proyecto es
el punto de partida para entender el emulador Hercules, y como veréis,
se puede instalar en muchas plataformas. Echadle un ojo.
De hecho, emula casi todos los periféricos que se pueden conectar a un
host, desde unidades de cinta, pasado por discos, terminales y hasta
impresoras. ¿Cómo se hace esto?
Emular un disco es como emular un CD bajo linux: si tu grabas un
fichero ISO y lo montas en un directorio, al entrar en el es como si
estuvieras accediendo al CD realmente. Pues aquí pasa lo mismo. Si un
disco 3390 modelo 3 ocupa 2,8 GB realmente, un disco 3390-3 emulado en
Hercules no será más que un fichero que ocupe 2,8 GB, ni mas ni menos.
Con las cintas, pasa lo mismo: Si grabo una cinta, realmente me está
creando un fichero donde se almacenara el contenido de esa cinta y lo
que es interesante, si tengo otro Hercules en otra maquina, puedo copiar
ese fichero “cinta”, montarlo en la unidad de cinta emulada
correspondiente y leer de ella, al igual que pasa con los mainframes
reales. Y es mas, luego existen utilidades libres que cargándolas en un
host real, puedes hacer que ese fichero de cinta emulada la puedas
convertir en real y viceversa, es decir, que podrías pasar información
de un Host real a un Host emulado sin mayores problemas.
¿Las impresoras? Parecido, solo que en vez de imprimir, generan un TXT
con la información impresa. Interesante, ¿no?.
Con los terminales, es algo mas complejo, pero basta que sepáis que
Hercules utiliza la pila TCP/IP para encapsular todo el tráfico SNA del
host, por lo que al conectarte al puerto correspondiente (mas abajo lo
explicaré) por un emulador 3270 a la IP del equipo que tiene Hercules,
adquiere una dirección "lógica" como si de un terminal físico real se
tratara. No sé si me he explicado bien.
El tema quizás más importante es la configuración que le debemos pasar a Hercules para que emule una instalación completa. Esto incluye unos discos donde resida el SO y las diversas utilidades (a este conjunto de discos, se les llama "residentes"), algunos discos de trabajo donde guardar nuestros datos (ya que no es recomendable mezclar datos y sistema, de la misma forma que no es recomendable meter documentos y demás en el directorio Windows), y luego ya unos periféricos de E/S que pueden ser cintas, troqueladoras de tarjetas impresoras y terminales. Una vez sabido que necesitaremos, crearemos un fichero llamado hercules.cnf que contendrá un contenido similar al que pongo de ejemplo:
CPUSERIAL 000000 # CPU serial number CPUMODEL 9672 # CPU model number MAINSIZE 768 # Main storage size in megabytes XPNDSIZE 0 # Expanded storage size in megabytes CNSLPORT 23 # TCP port number to which consoles connect NUMCPU 1 # Number of CPUs TZOFFSET +0100 OSTAILOR OS/390 # OS tailoring PANRATE FAST # Panel refresh rate # Architecture mode S/370, ESA/390 or ESAME ARCHMODE ESAME # Allow OS/390 and Z/OS systems to run PGMPRDOS LICENSED # # IPL parameter # LOADPARM 0A82DC.. # Device list #--- ---- -------------------- 0500 3490 * 0560 3480 * 0700 3270 0701 3270 0702 3270 0900 3270 0901 3270 0A80 3390 /ZOS14/s4res1.a80 0A81 3390 /ZOS14/s4res2.a81 0A82 3390 /ZOS14/os39m1.a82 0A83 3390 /ZOS14/s4db21.a83 0A84 3390 /ZOS14/s4cic1.a84 0A85 3390 /ZOS14/s4dis1.a85 0A86 3390 /ZOS14/s4dis2.a86 0A87 3390 /ZOS14/s4uss1.a87 0A88 3390 /ZOS14/s4dis3.a88 0A89 3390 /ZOS14/s4ims1.a89 0A8A 3390 /ZOS14/s4was1.a8a 0A8B 3390 /ZOS14/s4was2.a8b 0A8C 3390 /ZOS14/sares1.a8c 0A8D 3390 /ZOS14/s4dis4.a8d 0A8F 3390 /ZOS14/saipl1.a8f 0E20 3088 CTCI 10.10.10.1 10.10.10.2
Son importantes los siguientes parámetros:
-
MAINSIZE: que será el tamaño de memoria RAM que asignaremos a nuestra máquina host, muy parecido a cuando configuras un VMware. Por cierto, aunque tengas 1 GB de RAM, no poner de MAINSIZE 1024 ya que de lo contrario, Hercules copará toda la RAM de la máquina y eso obligará al SO a paginarse, por lo que nuestro rendimiento del PC caerá en picado. Es por ello que es mejor poner 768 MB, así por lo menos dejas 256 MB al SO y no habrá problemas de ningún tipo.
-
CNLSPORT: es el puerto donde nuestra emulación 3270 se conecte al mainframe. Como aquí no tenemos unidades de control ni líneas físicas, Hercules se encarga de utilizar TCP/IP para emular la infraestructura de comunicaciones, encapsulando el tráfico SNA dentro de TCP/IP. Así pues, si hemos puesto el puerto 23, cuando el Hercules este arrancado y ejecutemos nuestro emulador dentro de la misma maquina, nos conectaremos vía IP "localhost" y puerto 23.
Esto hará que esa emulación adquiera la dirección 0700 (es decir, que nuestra pantalla emulada emulara un terminal real cuyo IODEVICE es 0700, el primero del fichero de configuración). Si abrimos una segunda ventana de terminal, según nuestro fichero de ejemplo, esa emulación nueva tendrá la dirección 0701 y así sucesivamente.
-
LOADPARM: es aquel parámetro de carga que condiciona el arranque del mainframe. En la entrega anterior del proceso de arranque de un mainframe, lo explique, así que no entraré en detalles.
Y por ultimo, comentar las líneas por debajo del device list. Imagino
que recordaréis que cada dispositivo host tiene una dirección
hexadecimal única, llamada IODEVICE.
Pues bien, la lista que se muestra, es la configuración IODF que tiene
nuestro mainframe, de tal modo que en la dirección 0560, tenemos una
unidad de cintas "emulada" IBM 3480, en la dirección 0700, tenemos un
terminal emulado, en la dirección 0A80 tenemos un disco 3390, etc.
En nuestro caso, como partiremos de un MVS ya generado, es decir, que
no crearemos nuestro propio SO como si de una Gentoo se tratara (que se
puede hacer, pero creo que a estas alturas no tenemos todos la formación
suficiente para enfrentarse a un periplo de ese pelo), es importante
saber que IODF tiene ese MVS ya que debe coincidir con la
configuración del Hercules.
En el ejemplo del fichero de configuración, he puesto un ejemplo sacado
de Internet de cómo configurar un z/OS (antes llamado MVS) V1R4 bajo
Hercules, y las direcciones que están reflejadas ahí de los discos,
cintas y terminales, son las que tiene el z/OS cuando se generó.
Es decir, que si el z/OS se genero con el disco residente en la dirección A80, poner una dirección a boleo en nuestro fichero de configuración hará que en el arranque, el z/OS de un casque estrepitoso porque su configuración y la real no coinciden. De hecho, con los terminales, peor: Si el MVS sabe que la master Console esta en el 700 y vamos nosotros y configuramos un terminal en el 800, pues no podrá dejar un mensaje y eso dará otro casque. Así que mucho cuidado con este tema.
Abordaremos esta instalación desde 2 puntos distintos, según el SO que
tengas instalado. Si es Windows, va a ser algo más fácil que en Linux,
pero en Linux dará mas rendimiento (sobre todo si andamos con una
máquina justilla).
Antes que nada, hay que saber que equipo PC tenemos y que utilidades
necesitaremos. Uno de los primeros requisitos es saber que potencia
tenemos, que RAM, etc. El emulador Hercules en sí no consume nada, lo
que consumirá será el SO que estará ejecutándose bajo el, por lo que
teniendo en cuenta que un host de por si es muchísimo mas potente que un
PC, en función de la potencia de nuestro PC puede que el SO host vaya
arrastrándose.
Pero tratándose de el SO MVS que instalaremos, que data del año 1975,
un Pentium III a 500 MHz con 128 MB de RAM dará un buen rendimiento.
Además, solo nos conectaremos nosotros, así que tampoco hará falta mucho
mas. Eso si, si conseguís por la mula el último z/OS, estar seguros que
si no tenéis 1 GB de RAM y un Pentium 4 a 3,6 DualCore como requisito
mínimo, os tardara unos 20 minutos en arrancar y luego será un sistema
con una lentitud tan lenta que darle al Intro será una tarea de ir a
tomarse un café hasta que responda y tal.
Desde el punto de vista software, únicamente hace falta un emulador de
terminal por el que nos conectaremos al Hercules como si fuera un
terminal de toda la vida de un host. Atentos a este tema, porque no nos
vale con el putty, el emulador de terminal DEBE ser un emulador 3270, NO
un telnet común y corriente. Según el SO donde queramos instalar el
hercules, tendremos varios para elegir:
En Windows, existen programas como el Vista3270 que te puedes bajar de
internet, pero la verdad, no he visto mejor emulador en mi vida que el
IBM Personal Communications, aunque es de pago.
En GNU/Linux, en cambio, el c3270 para consola o el x3270 para las
X-Window también están muy bien y da una respuesta y fiabilidad
increíbles. Y con esto, ya estamos en condiciones de instalar el
emulador sin problemas.
Instalación del Hercules ###
Si es Windows, con
descargarlo
sobra. Si es GNU/Linux, tienes que bajarte las
fuentes y te lo
compilas. En mi web, hay un artículo sobre como instalarlo bajo
Debian.
Instalación del MVS bajo Hercules.
Existe en la actualidad un sistema MVS versión 3.8J que IBM liberó hace
algunos años, por lo que es freeware y por lo tanto, completamente
legal. Se puede conseguir de cbttape.org y
generártelo como ya he dicho, pero un maromo llamado Volker Bandke ha
creado un CD con todo el sistema MVS generado y grabado en discos
emulados con un .bat que te instala todo, incluido el Hercules.
Si tenéis Windows, esta opción os instala todo a la vez, incluidos
emuladores 3270, así que recomiendo el CD para empezar a tomar contacto
con el tema mainframe. Además, como este CD instala TODO lo necesario,
no te tienes que preocupar por nada. Su web es
http://www.bsp-gmbh.com/hercules/ y
se ha currado un
manual y todo
paso a paso de cómo entrar en la máquina.
También ha explicado cómo hacer la instalación bajo
linux, también
de manera muy sencilla.
En Google si buscáis por MVS TURNKEY SYSTEM, os conducirán a varias
webs donde está disponible la ISO de ese CD para su descarga.
Una vez instalado el CD (la opción full, porque puedes elegir que te lo
genere pero son mas pasos y mas complejos), tendréis una serie de discos
emulados en ficheros y una serie de cintas emuladas también, así como el
hercules.cnf que estará configurado de acuerdo al IODF del MVS.
Únicamente tenéis que tener en cuenta dos cosas:
- Cuando Hercules se inicia, debéis abrir siempre un emulador 3270, ya
que de lo contrario, no se creará un enlace con el Master Console (este
tema ya lo comente en anteriores entregas) y el MVS dará un error
quejándose por ello. Y claro, si solo abrís una emulación, pues el MVS
ya no se quejará pero cuando queráis conectaros al VTAM para usar el
TSO, no podréis hacerlo ya que como en la inicialización del VTAM no
habían terminales disponibles, deberíais abrir otro terminal y luego
desde el Master Console hacer un Vary online del terminal.
Por tanto, es mas sencillo que a la vez que ejecutéis el Hercules, pero
antes de hacer IPL al Hercules y cargar el MVS, que tengáis abiertos 2
ventanas de emulación (mínimo) que cojan las direcciones 0700 (Master
Console) y 0701 (VTAM, TSO) según el ejemplo del fichero que he puesto y
así no tendréis problemas.
2. En la web explica como responder a ciertas preguntas en la Master
Console
cuando se inicia el MVS, como el tipo de arranque, formateo de los
HASPACES del JES2, etc. Recomendable tenerlo abierto cuando estéis
iniciando por primera vez el tema.
Y una vez en la pantalla Welcome del terminal, con poner un LOGON
IBMUSER y luego en el prompt READY, escribir RPF (un editor de ficheros
y demás) podréis empezar a jugar. La web también describe muy bien el
proceso.
Y creo que eso es todo. Solo me queda animaros a conocer este interesante mundillo de informática REAL y no de juguete como todo lo relacionado con los PCs ;)


Comentarios