Desde 1994 en la Red. La pagina de los aficionados a la electronica, informatica y otras curiosidades de la vida. No dudes en visitarnos.
Ahora 0 visitas.| 3401959 Visitas (desde Dic. 2011), hoy: 258 Visitas 674 Pag. Vistas , ultimos 36 dias: 9802 Visitas. 25917 Pag. Vistas. Tu IP: 35.170.81.62
Que ando curioseando:
AutosuficienciaCosas de casaElectronicaEn InternetInformáticaMundo MisticoSin categoríaSociedadTe lo recomiendo

Historia de un Viejo Informático. El equipamiento informático en la década de los setenta

Una historia que me hizo recordar a mi padre, cuando de  pequeño, yo le ayudaba con aquellas tarjetas tan extrañas que despues de 20 años llegué a entender.

Fuente: http://eltamiz.com/elcedazo/2009/02/10/historia-de-un-viejo-informatico-el-equipamiento-informatico-en-la-decada-de-los-setenta/

En 1975 comencé a trabajar de programador en un gran Banco. Como Becario, forma de contratación que ya era normal en la época, aunque al acabar el año inicial de beca, me hicieron un contrato fijo (en la época no existía el contrato temporal, al menos no como ahora). Mi primer sueldo fue de casi veinte mil pesetas netas (unos 120 Euros) al mes… por quince pagas y media. Una fortuna. De hecho, mi primer sueldo era casi igual que el de mi padre en aquellos tiempos, a pesar de sus diez o doce trienios, que en el funcionariado representaban una parte muy importante de la paga. ¡Y ni siquiera había acabado la Carrera, que aún estaba en Cuarto!

El equipamiento del Banco era realmente impresionante: Dos ordenadores NCR Century 200 , con nada menos que 32 Kbs de memoria cada uno, dos discos cada uno, tres unidades de cinta magnética (dos de 1600 bpi y la otra de 800 bpi, que se utilizaba como entrada de datos), lector de tarjetas perforada y una impresora realmente rápida cada ordenador. Además, la instalación tenía un switch que permitía asignar discos o cintas físicamente conectados a un ordenador, al otro, por lo que en caso de necesidad un ordenador podía correr un programa con seis cintas magnéticas y cuatro discos simultáneamente. Que yo sepa, nunca tuvimos tal necesidad, pero en fin.

Ahora voy a hacer un poco de arqueología informática, y describir con algún detalle los elementos más importantes que componían a la bestia.

AVISO: No esperéis ver muchas fotos o diagramas de estos viejos ordenadores: Es dificilísimo encontrar nada interesante de ellos en la red, es como si incluso la propia NCR se hubiera olvidado de ellos. Aquí se puede encontrar alguna foto y documentación, pero poca cosa. Y poco más sobre su antecesor, el Century 100, y además, con errores de bulto. Nos apañaremos con lo poco que hay.

Veamos antes qué pinta tenían estos Sistemas:

 

 Esquema de un NCR Century 200 típico

La CPU. El NCR Century 200 era una evolución del Century 100, con mayor capacidad de proceso, y mayor capacidad de memoria. No sé si aparecía en algún sitio de la documentación técnica cuántos Megahercios tenía, que en realidad sería algún ciento de Kilohercios, ni cuantas instrucciones por segundo era capaz de ejecutar, que no serían más allá de algún centenar de miles. Por ejemplo, las instrucciones de multiplicar y dividir (aunque tenían su propia instrucción ensamblador) se ejecutaban por software, ni siquiera por firmware, por un procedimiento muy análogo al que usamos los humanos para multiplicar o dividir (los que se acuerden, claro). Su ensamblador era bastante potente, de hecho más que el de su principal competencia de la época, el IBM 360.

Lenguaje de Programación. Su lenguaje nativo era NEAT/3 específico de NCR: Una curiosa mezcla entre Ensamblador y Cobol, con los inconvenientes de ambos y pocas de sus ventajas (es mi opinión: sin embargo había fervientes defensores del NEAT/3 como el mejor lenguaje inventado jamás: como siempre, para gustos hay colores). En realidad era una evolución del ensamblador, y, santo y seña de NCR, durante mucho tiempo fue el único lenguaje que admitía esta máquina. Lo mejor que tenía el NEAT/3 eran sus potentes instrucciones para usar tablas internas, que no tenían parangón en otros lenguajes. Sin embargo, a principios de los setenta, NCR implementó por fin Cobol para la gama Century, y yo, de hecho, apenas programé nada en NEAT/3, comenzando casi desde el principio en Cobol. Dado que en este lenguaje (Cobol), pese a estar hoy en día denostado, y que no lo enseña casi nadie, están programados la mayoría de Sistemas de Información que gobiernan el mundo, le dedicaré un artículo aparte. Se lo merece.

Entrada Primaria del Sistema. El dispositivo de entrada del Sistema era el lector de tarjetas perforadas. Los programas los leía en fichas perforadas, el Boot (el arranque de la máquina) lo hacía leyendo las instrucciones de tarjetas perforadas, y los trabajos del sistema también los leía de tarjetas perforadas. Más adelante contaré el proceso de arrancar la máquina, que era fascinante.

 

 Tarjeta perforada

 

Consola del Sistema. Un panel con diales y lucecitas que se encendían y apagaban en función de la dirección en que se ejecutaban las instrucciones, su contenido, y diversas luces para comunicar errores y cosas así. A diferencia de las consolas de lucecitas actuales, que sólo tienen utilidad (y poca) para los técnicos de mantenimiento, la consola se operaba habitualmente para diversas funciones, y había que ser capaz de interpretar lo que el sistema comunicaba con sus luces.

Así si las luces de contenido estaban en la situación: Apagada-Apagada-Encendida-Encendida-Apagada-Apagada-Apagada-Encendida, esto quería decir “00110001″, es decir, “31” en Hexadecimal, o sea, “1” en ASCII, o “49″ en binario, etc.

A continuación veréis cómo era esa consola, con sus botones, sus diales y sus palanquitas… ¿Chula, eh?

 

 Diagrama de la Consola del NCR Century 200

 

Para la comunicación “sofisticada”, se disponía de un teletipo. Así, como suena. El nombre técnico era “I/O Writer”, lo que da una idea exacta de lo que era: un aparato con un teclado qwerty reducido, y papel pijama para que el ordenador respondiera. El Operador daba la orden (por ejemplo NEXTDO NOMINAS), que aparecía impreso en el papel pijama conforme lo ibas escribiendo, y lo aceptaba pulsando Control-Bell (era la letra G pulsando CTRL simultáneamente; se llamaba Control-Bell porque sonaba una campanita para marcar la aceptación). Entonces, si el sistema tenía que dar información de lo que fuera, lo hacía escribiendo en el papel pautado, letra a letra a un lentísimo ritmo, y usando códigos para casi todo. Por ejemplo, podía contestar “NOMINAS AF”, lo que significaba que no existía ningún programa que se llamara NOMINAS en el disco del software. O “PEPITO 0B”, lo que significaba que no había espacio para ubicar el fichero PEPITO en el disco. Y así todo.

Memoria. Como dije, 32 Kbs (sí, 32.768 bytes, ni uno más). Eran de ferrita (Una curiosidad: el Emblema de los Licenciados e Ingenieros de Informática (aquí a la derecha), creado por Real Orden de no sé qué día de 1975, es ni más ni menos que una ferrita con sus cuatro cables atravesándola y unas ramas de olivo y tal; pocos saben hoy en día qué rayos es esa “rosquilla con rayas entremedias”; los curiosos no os perdáis este enlace). Las ferritas estaban en un armario enorme todito lleno de cables. Era con mucho el elemento más caro del sistema (las ferritas se enhebraban una a una, a mano, y en 32 Kbs había 262.144 ferritas, que son muchas). Al año más o menos de estar yo trabajando, el Banco se gastó una fortuna (creo recordar que unos veinte millones de pesetas de la época en cada ordenador), para ampliar la capacidad de sus dos ordenadores de 32 a 64 Kbs. Pero es que con este cambio, se pudo actualizar el Sistema Operativo también, pasando del B1original que funcionaba con las 32 Kbs, al B3. ¡Y el B3 permitía multiprogramación! Es decir, con 32 Kbs el ordenador sólo podía ejecutar un programa al tiempo, mientras que con 64, se podían hacer dos particiones de 32 Kbs y correr dos programas simultáneamente, reduciendo casi a la mitad el tiempo total necesario para ejecutar los diversos procesos. Tengo que decir aquí que el Sistema Operativo ocupaba en memoria menos de 5 Kbs, con lo que tenías nada menos que 27 Kbs y pico para tu programa… ¡Una barbaridad de espacio!

Discos Magnéticos. Eran removibles, es decir, en cada unidad de disco se ponía uno u otro disco según la necesidad. Estos discos removibles eran cilíndricos, del tamaño de una tartera grande (unos treinta y cinco centímetros de diámetro y unos quince de alto), y la increíble capacidad de algo más de 4 Mbs. (Sí, no me he equivocado, he dicho 4 Mbs, o sea, cuatro millones de caracteres. Y pico, eso sí).

 

Unidad de disco IBM 2311(del IBM 360). Muy similar a las de NCR.

 

La unidad de disco era como una lavadora (de hecho, más grande que una lavadora), con una tapa superior que se levantaba y permitía introducir o extraer el disco mediante un ingenioso dispositivo adaptado en la funda, de tal forma que el delicado contenido del disco rara vez sufría daños.

Una vez introducido el disco en la lavadora (todos la llamábamos así), le dabas al botón de “Start” y esperabas sus buenos tres o cuatro minutos a que alcanzara la velocidad de rotación requerida y se pusiera “Ready” (encendiéndose el inevitable pilotito verde), momento en el que el disco estaba operativo.

Para extraer el disco, dabas al botón de “Stop” (rojo, como no podía ser de otro modo) y esperabas sus otros dos o tres minutos a que se parara para poder abrir la unidad y extraerlo. Podéis imaginar que, con semejante capacidad, los discos se reservaban para el software (los programas propiamente dichos), y algunos ficheros de datos fijos (Sucursales, Condiciones, Fechas y así). Los ficheros Maestros (Clientes, Cuentas, Empleados, etc.) y los de Movimientos eran bastante más grandes que eso, así que no cabían en los discos. Entonces, seguro que os estaréis preguntando: ¿Pero… dónde se guardaban los ficheros importantes (bueno, y los menos importantes también)?…

…Pues en cinta magnética.

Cintas Magnéticas. Armarios enormes con dos carretes, uno a la izquierda y otro a la derecha (había modelos de otros fabricantes que tenían los carretes arriba y abajo) y un sofisticado mecanismo de lectura. El operador colocaba en el carrete de la izquierda la bobina de cinta magnética con el fichero a leer o escribir, extraía (desenrollando la bobina) el comienzo de la cinta y, pasándola a través del mecanismo de lectura (que funcionaba a base de hacer un vacío controlado tanto antes como después de la cabeza lectora/grabadora, para evitar tirones que podrían romper la cinta), la enrollaba en el carrete de la derecha. Después se pulsaba el inevitable botón de “Start”, se hacía el vacío, y la unidad buscaba el comienzo legible de la cinta magnética. Una vez encontrado, quedaba en “Ready” hasta que el programa diera la instrucción de lectura o escritura pertinente. Y sí, el indicador de “Ready” era verde.

Cinta Magnética de 2400 pies (28 cm de diámetro)

En una cinta de 2400 pies, que era el tamaño normal de las cintas de entonces, de algo menos de treinta centímetros de diámetro, podían caber unos treinta o cuarenta millones de caracteres (40 Mb, vaya), por lo que los ficheros más grandes, como el de Cuentas, Clientes, etc, necesitaban varias cintas (secciones), que debían ser montadas en orden… a mano. En ocasiones, el Operador se equivocaba y montaba la sección tres antes que la dos. Ya podéis imaginar el desaguisado que se montaba. Por cierto, mientras la unidad de cinta rebobinaba la sección para permitir su cambio, el programa (o sea, todo el ordenador) se quedaba tranquilamente parado, esperando que el operador informara por el teletipo que, al fin, la cinta se había cambiado y podía continuar el proceso.

Impresora. La joya de la corona de NCR. Una impresora de líneas de última generación que imprimía en papel pijama de 132 caracteres, y lo hacía rapidísimo. Era de metro veinte o metro treinta de altura, y alrededor de un metro de ancho y de profundo. Tenía un rodillo de 132 caracteres de ancho, con todos los caracteres representados, es decir, en cada posición, y a lo largo de la circunferencia del rodillo, estaban todos los caracteres imprimibles, los de entonces, quiero decir: las mayúsculas, los números y unos veinte o veinticinco caracteres especiales, como el punto, la coma, el espacio, el asterisco, los paréntesis, etc. Cuando mirabas al rodillo de frente, veías una fila de 132 Aes, debajo una de 132 Bes, luego de Ces, y así sucesivamente.

En el otro lado (y al otro lado del papel, una vez colocado correctamente) estaban los martillos. Si tenía que escribir una F, el martillo esperaba a que pasara la F del rodillo justo en el punto de golpeo, y entonces saltaba y golpeaba al papel, que quedaba marcado con la letra F. Cuando todos los caracteres de la línea habían sido impresos, la impresora saltaba a la línea siguiente, y así. Para que el carácter quedara impreso, hacía falta tinta… que se obtenía de un papel de calco que se colocaba entre el rodillo y el papel: artesanal, sí, pero funcionaba. Y todo ello, a una velocidad muy alta, pues era capaz de imprimir 1.500 líneas por minuto. La coordinación mecánica necesaria para realizar este proceso correctamente era muy notable para la época. Claro que, a cambio, era el dispositivo que más se estropeaba, fácilmente una o dos veces por semana.

Una de las gracias de aquella impresora es que tenía duplicados los diez dígitos en dos partes opuestas del rodillo, por lo que si las líneas sólo tenían dígitos (algo muy típico en la Banca, los balances de cuentas, extractos, etc), la impresora era capaz de alcanzar el doble de velocidad que cuando además había letras, es decir, llegar a unas 3.000 líneas por minuto. Una barbaridad, incluso para nuestros tiempos. Y, eso sí, hacía ruido. Mucho ruido. Las Salas de Ordenador de la época eran unos sitios realmente ruidosos. Y fríos, por cierto. Yo creo que los operadores iban siempre con bata (encima del traje) no para no ponerse perdidos (que también) sino para no pelarse de frío. La mayoría de programadores y analistas teníamos siempre un jersey en un cajón para ponernos encima si teníamos que bajar a la Sala, sobre todo en verano.

Soporte. Gratuito. Sí, es cierto: gratuito. El coste del ordenador era tan alto, su mantenimiento tan costoso, y los salarios, en comparación, tan ridículos, que las compañías de ordenadores te “regalaban” uno o varios Técnicos para arreglar lo que se fuera estropeando, tanto en el hardware como en el software. Si tu ordenador era realmente grande, los Técnicos vivían en tu instalación, para no perder ni siquiera el tiempo en desplazarse a arreglar el problema. En aquellos tiempos, la instalación del Banco no era demasiado grande (aunque el banco sí lo fuera, al menos con los criterios de la época), así que los técnicos sólo iban cuando se rompía algo… o sea, casi todos los días.

El Arranque del Sistema (el Boot). Lo de “Boot” viene de “BootStrap” (ver el artículo de la Wikipedia si tenéis interés en saber de dónde viene tan curioso nombrecito), y es lo mismo que el IPL (“Initial Program Load”). De “boot” viene lo de “Botar la máquina” que se aún se escucha de vez en cuando.

Para arrancar aquel monstruo de ordenador, se hacían las operaciones que contaré a continuación (porque no bastaba con apretar el botón y esperar, como ahora, no…).

El Century-200 tenía un Sistema Operativo tipo “DOS”, es decir, “Disk Operating System”, lo que quería decir que el Sistema estaba en un disco: el “Disco del Sistema”, naturalmente. Recordad que los discos tenían algo más de cuatro megas, así que podéis haceros una idea de la enorme complejidad del Sistema Operativo: todo él cabía en cuatro megas, y aún sobraban dos y media para que las usaras para otras cosas, por ejemplo, tus programas.

El Sistema estaba efectivamente en disco, pero no existían cosas como “Bios”, “ROM Memory”, etc. O sea, una vez encendida la máquina, no había nada en memoria, ni forma de cargar nada automáticamente. Básicamente, tenías un pedazo de hierro. Encendido, pero hierro, al fin. Había que cargar el Sistema de forma manual. Usando, cómo no, un taco de fichas perforadas (no más de ocho o diez, recuerdo), que era lo único que el ordenador podía leer por puro hardware.

El procedimiento era el siguiente:

1- En primer lugar, se tomaba el bloque de tarjetas perforadas de arranque del Sistema y se colocaba en la lectora de fichas. El ordenador estaba parado (el switch de “Halt” estaba activado: cuando se activaba, manualmente, el ordenador interrumpía su operación y se quedaba “clavado” en la instrucción que estuviera ejecutando en ese momento).

2- El Operador señalaba en el dial la dirección de carga del programa (era la 00A0, qué cosas más raras se recuerdan al cabo de los años…). Y entonces pulsaba la tecla “Load” de la consola. Esto hacía que, por hardware, se leyera la primera tarjeta del taco y se cargara en la dirección marcada (la 00A0, claro).

3- A continuación (con la misma dirección 00A0 marcada), pulsaba la tecla “Act”. Esta tecla llenaba el registro de instrucciones, marcando que la próxima instrucción a ejecutar fuera la 00A0 (la que marcaba el dial). Es decir, en el principio del contenido de la tarjeta que se acababa de cargar. Esta tarjeta (todas las del taco, en realidad) estaba perforada en “multipunch”, es decir, tenía más agujeros de los que el código Hollerith permitía para las tarjetas perforadas, pues representaba caracteres binarios, con las instrucciones, en código máquina puro, que debía ejecutar el ordenador. O sea, una Bios de cartón.

4- El Operador bajaba el switch de “Halt” y pulsaba la tecla “Compute”. Esto hacía que se comenzara a ejecutar el programa contenido en la dirección marcada. El contenido de los ochenta caracteres de esta primera tarjeta tenía el código suficiente como para poder leer el resto de fichas del taco, cargarlas en las direcciones sucesivas (la primera en la 00F0, la segunda en la 0140, y así), y, al detectar el fin del taco, ceder control a esta nueva pieza de código. En esos quinientos o seiscientos bytes cabía todo el código necesario para ir al disco, recuperar el Sistema, cargarlo en la máquina, arrancar los procesos pertinentes, etc. Compacto, ¿no os parece?

5- Cuando terminaba todos estos procesos, el teletipo de la consola emitía un “READY” (con su campanita al final, y en mayúsculas, que no existían las minúsculas), y el ordenador estaba listo para aceptar trabajos. Todo el proceso podía tardar uno o dos minutos.

Como anécdota, recuerdo cierta vez que estuvimos dos días con un ordenador parado porque no había manera de que arrancara. Los técnicos de NCR estuvieron horas y horas revisando todos los componentes (con polímetros y cosas así, lo de los diagnósticos automáticos ni siquiera imaginábamos que pudiera ser inventado algún día).

…Al final resultó que una de las fichas del taco del IPL se había deteriorado, tenía un agujero que no debía tener (Vaya Vd. a saber por qué) y naturalmente la instrucción que cargaba era errónea, por lo que al llegar allí, y no tener el Sistema plenamente cargado, el proceso de arranque se quedaba tieso, sin decir ni mú. Y todos locos buscando día y noche. En fin. Cosas que pasaban en la Prehistoria…

Cuando un programa “cascaba” (o sea, daba un error fatal, un zapatazo, un abend, terminaba de mala manera…) la única posibilidad de averiguar qué había pasado era emitir un volcado de memoria (un “dump”) en hexadecimal, con todo el contenido de la memoria del ordenador, que se imprimía, y te enviaban para averiguar el motivo del “casque”… y casi siempre con prisa, podéis imaginar. Con tu programa a un lado y el volcado de memoria al otro, y varios lápices o bolis de colores empezabas a marcar el contenido de cada campo, pintabas rayas de conexión, veías en qué instrucción había fallado, y así… hasta que, unos minutos o unas horas más tarde, por fin sabías el motivo del error, para corregirlo. Todos nosotros sumábamos y restábamos en hexadecimal casi mejor que en decimal. ¿He dicho ya que no había calculadoras que operaran en hexadecimal? Bueno, ni casi en decimal: eran unos trastos eléctricos grandotes que imprimían sus cálculos en una tira de papel…hoy aún se ven de éstas en algunas oficinas.

Ya podéis suponer que la preocupación por salvar árboles no se había puesto aún de moda: consumíamos cantidades ingentes de papel, porque tampoco había otra alternativa, además: toda la comunicación hombre-máquina se hacía en papel (pijama). Otros sistemas tenían ya pantallas (para los operadores exclusivamente); NCR en los 70, no.

Quizá estéis pensando, los que hayáis tenido la paciencia de llegar hasta aquí, que qué se podría hacer con un ordenador con tan poquísima potencia… Pues casi nada: llevar toda la información del Banco. Todas las aplicaciones importantes estaban en perfecto funcionamiento: Clientes, Cuentas Personales, Créditos y Préstamos, Liquidación de Cuentas, Depósitos, Contabilidad, Nómina, Cartera de Efectos, Valores (con sus decenas de sub-aplicaciones, como Bolsa, Arbitrajes, Renta Fija, Abono de Cupón, Custodia, Traspasos, etc.) en fin, todas las aplicaciones de la época estaban informatizadas, y todas las comunicaciones al cliente se imprimían por las fastuosas impresoras que os he contado.

Y todo el software era hecho ex profeso para el Banco: eso de comprar software de otros no existía, salvo los propios programas del Sistema Operativo, claro, que venían de serie con el ordenador.

En el próximo artículo hablaré del método de trabajo que seguíamos entonces para escribir las aplicaciones, ligeramente distinto del que se usa ahora para escribir software de aplicación.

Disfrutad de la vida, mientras podáis.

Escribe un comentario

Tu comentario