Publicado el Jueves 21 de Diciembre del 2006 @ 17:02 por Kujaku.
En otras entregas, he explicado el hardware, un poco como está constituido el SO, sistemas de ficheros y demás. Ahora, trataré de explicar el proceso de arranque que sigue la máquina desde que enciendes el interruptor hasta que ves un terminal con el logo de tu empresa invitándote a hacer login en un terminal 3270.
En primer lugar, debemos conocer como se llega al bootstrap o texto IPL de la maquina, o lo que es lo mismo, el sector de arranque de un disco duro de un PC. En un PC, la BIOS se encarga de buscar el sector 0 del disco duro que estará configurado como Primary Master (si el sistema es IDE). Una vez encontrado el sector 0, este sector tiene un puntero que apunta hacia un fichero donde a su vez carga un microprograma y punteros a otros ficheros del sistema. En sistemas Host, el proceso es algo mas complicado, pero básicamente se parecen mucho.
Cuando te plantas delante de un z/Series, y pones en la posición I el interruptor rojo que queda a la izquierda del frontal, lo primero que ocurre es que las fuentes redundantes de alimentación dan corriente de partida a todos los bastidores. No es que se encienda toda la máquina, solo envía una corriente de 5 V para que se verifique que la corriente llega a los bastidores y que todo esta alimentado (es lo que se denomina el DC GOOD).
En ese preciso instante, esta corriente también empieza a alimentar el portátil (en los z/Series, llevan 2 por redundancia) también llamado Support Element. Dicho portátil viene a ser una Mega-BIOS de la máquina, y carga un programa con ventanitas e iconitos que gestiona el microcódigo del z/Series, comprobando todos los componentes configurados. Una vez comprobados, este portátil envía una señal que inicia la secuencia de encendido (si lo tienes configurado así, porque también puedes hacer doble clic sobre el icono del “enchufe” y se enciende), y en ese momento ya se pueden oír los ventiladores a plena potencia evacuando el aire de los bastidores, y las luces de los bastidores en verde indicando que ya tienen corriente.
Una vez finalizada la secuencia de encendido, el Support Element inicia lo que se denomina Power On Reset. Este proceso es como pulsar al Reset del PC, que lo que hace es que lee la configuración de canales (en una entrega anterior os comente como se definían) almacenada en el Support Element (IOCDS) y realiza una segunda comprobación de los elementos que han sido definidos, con el fin de comprobar que todo lo configurado ha sido inicializado correctamente.
En este punto también se entraría en la definición de las LPAR (particiones lógicas), pero no entrare a comentarlo por no complicar más las cosas, así que supondremos que nuestra maquina esta en modo nativo o Single Image (es decir, una sola maquina con un solo SO).
Cuando el Power On Reset finaliza, estamos en condiciones de hacer una IPL (Initial Program Load) de la máquina. Para ello, pinchamos sobre el icono Load del Support Element, y esto hace que nos abra una ventana con dos valores fundamentales: La dirección de carga y los parámetros de carga.
La dirección de carga es la dirección hexadecimal compuesta por 4 dígitos del disco donde está el bootstrap o texto IPL del SO. Como un host no tiene unidad C o D, sino cientos de discos, todos ellos se configuran con un IODEVICE (que ya explique en otra entrega anterior) que es una dirección hexadecimal única en la instalación. Así que para realizar la carga, se introduce esta dirección, para que vaya a la pista 0 del volumen de disco a buscar el bootstrap.
El segundo valor que hay que introducir es el de parámetros. Es un valor de 8 caracteres. Los primeros 4 se utilizan para poner la dirección del volumen de disco donde reside el IODF, o lo que es lo mismo, el dataset de la configuración de canales y dispositivos de la máquina cuya copia ha utilizado el Support Element para hacer el Power On Reset como he explicado antes.
Los dos caracteres siguientes, indican el miembro LOADXX dentro del dataset SYS1.IPLPARM que se llamará en tiempo de IPL (el miembro LOAD es un miembro de configuración inicial y puedo tener los que quiera para tener perfiles de arranque configurados –algo así como tener un menú de inicio de Windows y elegir con la tecla F8 distintos perfiles-) y por último quedan otros dos caracteres: Uno es para configurar el IMSI, o lo que es lo mismo, el numero de mensajes informativos que deseas que aparezcan en la Master Console en la inicialización de la maquina, el otro carácter que queda define el núcleo alternativo de arranque en caso de que el primero casque.
Un apunte sobre los miembros de LOAD: Puedo tener tantos como quiera, y cada uno lo puedo configurar como me de la gana. Estos miembros tienen, entre otros datos, el nombre del Catalogo Maestro y en que disco reside (recordar que el Master catalog tiene la información de todos los datasets del SO), el disco donde esta el IODF de configuración, y el sufijo a usar dentro de los miembros de la SYS1.PARMLIB (dataset donde hay docenas de miembros de configuración), que generalmente coincide con el miembro LOADXX cargado.
Por ejemplo, puedo tener un LOAD01 que me cargue una configuración y un LOAD02 que me cargue otra. Así pues, podría tener dos catálogos y arrancar la maquina de una forma completamente distinta en función del miembro LOAD que cargue cada vez. Vamos, es tan configurable que llega a hacerse muy complicado si no tienes las ideas muy muy claras.
Después de este lío, bueno, volvamos al portátil del z/Series y hacemos click en Load. El proceso es el siguiente: Con la dirección hexadecimal del volumen donde esta el bootstrap, la maquina accede al cilindro 0 y pista 0 y lee el bootstrap, colocándo dicho contenido en memoria y luego pasándole el control. Este, a su vez se encargará de la tarea de colocar todo el SO en memoria. Para ello, lee el miembro IEAIPL00 denominado comúnmente como “texto IPL” y a partir de aquí empiezan a sucederse una serie de historias:
Como los miembros LOADXX tienen los sufijos, lo siguiente que hace es irse a la SYS1.PARMLIB y construir una configuración en memoria leyendo el miembro IEASYSXX. Este, a su vez, llamara a PROGXX, y a muchos más miembros de configuración para tener listo toda la configuración de los subsistemas que luego serán cargados. Por ejemplo, se leerá el miembro JES2PARM y se cargará en memoria el JES2, y así con el resto de los productos. También se leerá la configuración del VTAM, TSO, RACF, CICS, DB2, etc, hasta que por tu terminal aparezca el login de pantalla.
Explicar la carga de estos productos sería escribir más entregas, así que si queréis mas información, os recomiendo que os leáis los ABCs que están en mi web si tenéis mas curiosidad.
Creo que hasta aquí he llegado. No se me ocurre que mas explicar sin entrar en las particularidades concretas de cada producto, así que lo que me queda por comentaros es que si tenéis inquietudes, y estáis interesados, podría escribir un último texto sobre cómo montar en tu propio PC, un sistema MVS usando un emulador llamado Hercules, y ver como recrear un sistema en explotación con JES2, TSO, JCLs, etc.
Genial. Sobre el Hercules, lo que sí me gustaria es saber como narices se consiguen legalmente las imagenes de un z/OS reciente. Hay que ser partner de IBM, o algo así?
Podrian liberarlo. GNU/z/OS no suena tan mal, verdad? :-D
Oye, genial los articulos sobre el mainframe, por mi encantado si sigues escribiendo sobre el tema ;).
Kujaku
cual es tu web? para ver esos ABCs? me podrias indicar el link en mi correo? jimenez_fernandez_jorge@hotmail.com
muchas gracias
Muchas Gracias por estas lecciones de Mainframe, espero que sigan!!:)
Saludos
Hola, ojala alguien me pueda ayudar para aprender a interpretar el CPU TIME,el I/O TIME, y el minimum elapsed time que se leen en diversas consolas del ambiente mainframe, es decir; cuanto es bueno, cuanto es malo, si existe equivalencia en segundos reales, etc, gracias por su atencion.
Que bueno esto, me re sirve para un curso que estoy haciendo
en el salvador. Alguien puede decirme la diferencia entre el
IOCDS y el IODF.
Saludos..
Gaby
Buenos días. Tenemos un serie os/390 v 2.10. Me gustaría tener otras razones por las que tengo que dar IPL. Actualmente lo damos por quedar si Address space (creo que se puede corregir???), pero la verdadera razón ¿cuál sería?, refrescar memoria, limpiar dispositivos, etc. Les agradezco au opinión. ¿Por qué dar IPL? Lo esencial…
Kujaku:
Manejas el tema increiblemente, se nota que te entusiasma.
Estoy intentando seguir los pasos pasos para virtualizar alguno de los sistemas de IBM o Z pero soy incapaz de encontrar una imagen para montarla con hercules…
¿es mucho pedir que guíes aun más mis pasos?…
No me molaria pagar para pedir el turnkey, y el emule está en rojo sin fuentes desde hace semanas…esto es el rosario de la aurora.
Gracias por tus explicaciones que me han hecho entender un poco más el entorno en que trabajo…
Buenas Tardes
Quisiera saber si tienes un manual de usuario para empezar a utilizar el
MAINFRAME hercules, ya que necesito hacer unas pruebas de Instalación
de un software sobre este sistema