para Buscar en este blog

Ejemplo: Para acceder a las entradas que incluyan las palabras Sadosky y Clementina , basta colocar las mismas en la ventanita superior.

2016.10.11: Eduardo Vila Echagüe: Electrocardiogramas

[Capítulo 7 de La Informática y yo]

Electrocardiogramas


Nuestro hábil vendedor había ofrecido el Sistema /360 no sólo para las típicas aplicaciones administrativas de una universidad, sino también para la adquisición de datos de electrocardiogramas en línea. La idea era que la información del electro quedara grabada en los discos magnéticos del sistema, para poder ser consultada posteriormente por cualquier otro médico. Cuando digo consultar no piensen que lo verían desplegado en una pantalla tipo televisor, porque éstas aún no se habían inventado o al menos no habían llegado al país. A lo más podrían imprimir un burdo gráfico de asteriscos en la impresora del sistema. Pero un buen vendedor siempre tiene que tener vocación de futuro.

Es cierto que la configuración incluía un convertidor analógico digital, es decir un equipo capaz de convertir un voltaje en un número binario que se podía ingresar a la computadora. Pero el problema no estaba en la conexión física, sino en la programación. Cuando un programa comercial típico necesita leer un dato, emite una instrucción de lectura asumiendo que los dispositivos de entrada, ya sean la lectora de tarjetas, la cinta o el disco, están listos para entregar la información. Si el programa se demora en hacer la solicitud, el dispositivo simplemente espera. Pero en adquisición de datos, si no
pudiste leer el dato en el momento en que se puso a tu disposición, lo perdiste. Algo muy grave en el caso de un electro, casi como si se perdieran algunos latidos del corazón.

IBM tenía otros tipos de computadoras llamadas de control de proceso, cuyo hardware y software estaban preparados para esto. Pero ese no era el caso de nuestra /360 40 y su modesto DOS. ¿Qué hacer entonces? Pues alguien recordó que entre los Ingenieros de Sistemas recién ingresados había uno que decía ser aficionado a la astronomía. Si tenía esa afición más bien rara, seguramente sería capaz de resolver esta problemática igualmente rara. Y así fue como me asignaron al Hospital Escuela. El objetivo era lograr que el sistema pudiera hacer algo para lo que no estaba inicialmente diseñado. Pero no crean que en informática eso fuera algo excepcional. Éramos pioneros y teníamos
que hacer camino al andar.

En los sistemas /360 el programador tenía acceso a los datos a través de los módulos de IOCS (Input Output Control System). Es decir que el programa no invocaba directamente al supervisor sino a alguno de los puntos de entrada de uno de estos módulos. Existían diversos métodos de acceso. El SAM (Sequential Access Method) servía para leer o grabar información de manera serial, al igual que nuestras viejas caseteras de audio o de video. Se podía usar con lectoras y perforadoras de tarjetas, impresoras, cintas y discos magnéticos. Para los discos existían otros dos métodos de acceso. El DAM (Direct Access Method) permitía ir directamente a tal o cual registro del archivo, al igual que nuestros
actuales CD y DVD. El ISAM (Indexed Sequential Access Method) permitía encontrar los registros mediante un índice. Algo parecido al contenido de un libro, con el agregado de que el índice tenía que ir actualizándose a medida que se agregaban nuevos registros; algo bastante más complejo pero indispensable para la mayoría de las aplicaciones comerciales.

Como ninguno de estos módulos servía para leer electrocardiogramas, fue necesario bajar un nivel para ver la forma en que los /360 hacían sus operaciones de entrada y salida de datos. Éstas se hacían mediante canales, que funcionaban como microcomputadoras independientes dentro la CPU. Con esto se lograba que estas operaciones se pudieran llevar a cabo al mismo tiempo que se ejecutaban las instrucciones del programa principal. Los canales tenían sus propias instrucciones de programa que normalmente residían en los módulos de IOCS.

Para hacer el cuento corto, si es que aún me queda algún lector, la solución fue escribir un programa de canal en bucle, que estuviera leyendo datos en forma continua y guardándolos alternativamente en dos áreas de memoria. Cada vez que se llenaba una de estas áreas, el canal generaba una interrupción a la CPU para que ésta moviera los datos de esa área a otro tipo de almacenamiento, para evitar que fueran pisados cuando el programa de canal volviera a pasar por el mismo lugar. Creo que tuvimos que activar una modificación del DOS para que éste pudiera atender dichas interrupciones.


Dicho así parece fácil, pero no creo que lo haya sido tanto. Tengo un borroso recuerdo de haber salido del Hospital de madrugada y desde la vereda de la Avenida Córdoba haber visto una enorme cimitarra en el cielo hacia oriente. Era el cometa Bennett, que fue uno de los cometas más espectaculares de la segunda mitad del siglo XX. Justamente en marzo de 1970 estaba en su máximo esplendor. Desgraciadamente recibió poca cobertura en los diarios y los porteños dormilones se quedaron sin verlo. A la inversa de lo que ocurrió posteriormente con los cometas Kohoutek y Halley, de los que quizás hable en futuros capítulos. 

Nunca supe el final de la historia, si realmente esto de la lectura de electrocardiogramas en línea había servido para algo. Aunque sí sirvió para promoverme a la siguiente exótica asignación laboral, de la que hablaremos en el próximo capitulo.

1 comentario:

luiggi pees labory dijo...

Eduardo V.E,: muy interesante tu relato, aunque poco comprensible para mi neurona. Lo importante es que lograron la impresión del electro. Toda una proeza para aquellos años.