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.09.30: Eduardo Vila Echagüe: Los Sistemas Operativos

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

Los Sistemas Operativos

Pasados algunos meses y habiendo dado media docena o más de cursos, la gerencia me informó que ya estaba listo para ir a terreno. Me asignaron a la Sucursal Universidades y mi primer cliente fue el Hospital Escuela José de San Martín, que dependía de la Facultad de Medicina de la Universidad de Buenos Aires. Quedaba un poco más lejos que la Escuela IBM pero también se podía llegar caminando desde mi casa. Habían contratado un sistema IBM /360 modelo 40 muy parecido al de la foto de un par de capítulos atrás. Creo que tenía 32 KBytes de memoria. Con él esperaban resolver todos sus problemas administrativos y también médicos. ¿Acaso no se había dicho que el nombre del Sistema /360 significaba que podía atender los 360° de las necesidades de la empresa?

Mi papel era el de Ingeniero de Sistemas asociado. El responsable principal era un Ingeniero de Sistemas experto, que tendría quizás un par de años más que yo en la IBM. No estoy siendo irónico. En una tecnología tan nueva como la informática dos años era un mundo de experiencias, las que ciertamente necesitaríamos para sacar adelante la nueva instalación.

¿Qué es lo que se esperaba del Ingeniero de Sistemas? Lo principal era la configuración del Software requerido para cumplir con las expectativas del cliente, su instalación y prueba y, finalmente, el apoyo al personal del cliente durante los primeros meses de funcionamiento. También teníamos tareas de coordinación en los temas de capacitación y la entrega de documentación, aunque para esto había otros departamentos a cargo, como ya vimos en el capítulo anterior.

El Software que había que configurar era el Sistema Operativo, los Compiladores y algún programa Utilitario. El precio no era un problema. ¡Eran todos gratis! Mejor dicho, todo se pagaba con el arriendo del Sistema /360. Fierros, programas, soporte de ingeniería, educación, manuales, servicio técnico. En algunos casos también se los ayudaba en el desarrollo de las aplicaciones. Lo que es mejor, ¡no había necesidad de piratear programas!

¿Qué criterios se usaban para decidir qué Sistema Operativo usar? El tamaño de la memoria, la potencia de la CPU y también que su complejidad estuviera al alcance del personal que podría pagar el cliente. No le entregas un camión a alguien que solo ha manejado una Citroneta. Con los Compiladores era más sencillo. El RPG (Report Program Generator) para los que venían de las máquina de registro unitario, porque era el más fácil de aprender para el viejito que antes te armaba los tableros. El COBOL (COmmon Business-Oriented Language), creado en 1958, para las aplicaciones comerciales. El FORTRAN (FORmula TRANslation), aún más antiguo, para las aplicaciones científicas y de ingeniería. También estaba el PL/1 (Programming Language 1), inventado por IBM en esos años, que se suponía que servía para todo. Muy pocos lo usaban porque como era sólo de IBM, quedarías casado con esa marca por el resto de tus días.

En cuanto a los Sistemas Operativos, había dos opciones para los /360. El OS (Operating System) que ya mencionamos antes, en 3 versiones de complejidad creciente, el PCP, el MFT y el MVT. Para los que sólo andábamos en auto existía el DOS (Disk Operating System), y para aquellos que aún circulaban en bicicleta el TOS (Tape Operating System). Ambos eran muy parecidos, sólo que el último se podía usar en sistemas sin unidades de discos, cuyo costo era tal que algunos preferían prescindir de ellos.

Si alguno cree que este DOS es el mismo que usábamos cuando aparecieron los PC, quiere decir que anda un poquito perdido. Tal vez la Informática no sea su fuerte. ¿Y si prueba Derecho?

¿Para que sirve un Sistema Operativo? Me es tan difícil de explicar ahora como lo fue para mí entenderlo en mis cursos de introducción. Al principio era todo receta. Una vez que habías codificado tu primer programa te mandaban a perforarlo y te decían que al comienzo tenías que poner una tarjeta //JOB xxx, después una //EXEC con el nombre del compilador, a continuación mi programa y al final una tarjeta /* y otra /&. Lo más divertido es que el muy porteño instructor que nos enseñaba eso las llamaba 'barra arterisco' y 'barra amsterdam'. Con el tiempo supe que Holanda no tenía nada que ver, que el 'arterisco' era en realidad 'asterisco' y que el 'amsterdam' era un extraño símbolo que los gringos llaman 'ampersand'.

Algo que tampoco nadie me supo explicar fue el porqué para los informáticos el singular de la palabra 'caracteres' era 'caractér' en vez de 'carácter'. Y el problema no era el acento argentino, porque después en Chile encontré el mismo fenómeno.

Con el tiempo comprendí que lo que la computadora procesaba eran trabajos (jobs, en inglés), los que a su vez se dividían en pasos de trabajo (job steps). Las //JOB señalaban el inicio del trabajo, el que terminaba con la /&. Las //EXEC indicaban el programa a ejecutar en cada paso. La /* indicaba el fin de los datos de cada paso. Toda esta jerga se llamaba JCL (Job Control Language) y servía para indicarle al Sistema Operativo como interpretar lo que leía desde la lectora de tarjetas.

Otra cosa que nunca entendí es por qué decíamos 'Job Cóntrol', cuando la palabra 'control' tanto en inglés como en castellano se acentúa en la última sílaba.

Sospecho que con esto no he avanzado mucho en mi explicación. Voy a tratar de ponerme un poco más técnico, con el peligro de aburrir a mis lectores contemporáneos y ahuyentar a los más jóvenes.

¿Recuerdan que les dije que el /360 40 del Hospital tenía una memoria de 32 KBytes? En esa memoria no cabría ni siquiera una sola de las fotos en formato JPG que hoy tomamos con nuestro celular. Sin embargo, se esperaba que en ella cupiera tanto el Sistema Operativo como varios programas de aplicación corriendo al mismo tiempo. Para ello se particionaba la memoria, reservando un espacio para el Sistema y distribuyendo el resto entre los programas. En el DOS se podía tener hasta 3 particiones de programa, una principal y dos auxiliares. El Sistema Operativo podría ocupar quizás 16 KB, la principal 12 KB y las auxiliares 2 KB cada una. En la principal corrían los programas administrativos de la empresa, mientras que las auxiliares se usaban esporádicamente para funciones utilitarias, tales como la clasificación de los archivos residentes en las cintas magnéticas.

El problema de los /360 era que se habían vuelto demasiado rápidos. El modelo 40 era capaz de procesar unas 40.000 instrucciones por segundo. Pero las lectoras de tarjeta y las impresoras sólo llegaban a poco más de 1.200 tarjetas o líneas por minuto. Las cintas y los discos eran más veloces, pero nunca tanto como para alcanzar al procesador. Como resultado, con la excepción de los programas de puro cálculo, en que había pocas entradas y salidas, no había forma de aprovechar la velocidad total del procesador. E IBM te cobraba por las 40.000 instrucciones por segundo, las usaras o no. Por ese motivo se hacía necesario ejecutar varios programas en paralelo, siendo el Sistema Operativo el encargado de ir dando el control a uno o a otro.

También era necesario minimizar las intervenciones manuales del operador. En las generaciones de computadoras anteriores, si el programa requería una fecha, se la preguntaba al operador a través de la consola. Si éste había ido al baño, tiempo perdido (para la computadora, no para el operador). En el DOS, bastaba poner una tarjeta //DATE con la fecha y el programa la podía tomar de ahí. Igualmente, si por la consola salía un mensaje: 'Monte la cinta fulana en la unidad de cintas mengana', más vale que la cinta hubiera sido traída de la cintoteca y ojalá ya estuviera puesta en la unidad correspondiente. Muchos años más tarde aparecerían robots que harían esas funciones, pero entonces lo mejor era contar con operadores despiertos y en buen estado físico. Eran como los carboneros de las antiguas máquinas de vapor que tenían que estar todo el tiempo echando combustible a la caldera para que no se apagara el fuego.

¿Qué les pareció el DOS? Tal vez no les quedó muy claro, pero les puedo decir que en aquel momento era el Sistema Operativo con más instalaciones en el mundo.

¿Pasamos a otro capítulo?

5 comentarios:

  1. Muy buen relato de una época muy linda. Si bien yo me especializaba en otras máquinas (BULL), los sistemas operativos se las traían.
    Una vez hablando con un Ingeniero de Sistemas, le planteaba los problemas que había que resolver en el cliente y su respuesta fue: con lo problemas que tengo con el Sistema Operativo, todavía me tengo que preocupar por lo que le pasa al cliente?. Notable época. Los Sort a cinta y el temor a equivocarse en la secuencia de montaje y desmontaje.
    Muy bueno lo de Cóntrol y Caractér. Me di cuenta que siempre lo dije así y no sé por qué.
    Muy lindos recuerdos

    ResponderEliminar
  2. Muy bueno el nuevo capítulo de la serie que titularía: "TIEMPOS VIEJOS PERO MUY RECORDADOS". En La Franco Argentina me ofrecieron hacerme cargo del puesto de System Programmer y dije: Gracias. Era chino avanzado para mí. Esperamos el nuevo capítulo.

    ResponderEliminar
  3. Muy interesante y bien escrito el artículo de los Sistemas Operativos, de Vila Echagúe. Aunque para mí no sea novedad, pues trabajé mucho con esos Huevos de Dinosaurio y otros, para los que sólo conocen la PC y sucedáneos debe de ser una revelación.

    Contesto una pregunta: ¿Por qué "caracter" y no "carácter"? Pues porque en español, el plural de "carácter" es irregular. Los caracteres de las computadoras son el plural de carácter. Dado que quizá se usa más el plural, los usuarios lo "desirregularizan" y obtienen "caracter" (sin tilde). A más de uno je he oído decir que "carácter" es, por ejemplo, el de las personas, y "caracter" es el símbolo impreso, pero no es así. Consultar:
    http://forum.wordreference.com/threads/plurales-irregulares.813878/?hl=es

    Otro tema es el del PL/I. Fue un lenguaje que pretendía combinar todo, especialmente COBOL con FORTRAN, y como resultado, las reglas, sobre todo las de prioridad y transformación de operandos, eran un berenjenal. Recuerdo que cuando un profesor del exterior (no recuerdo si hablaba inglés o español) presentó las "ventajas" del PL/I, en un momento del cursillo pedí hablar, y planteé que un lenguaje con (digamos) 127 tipos de operandos, 89 reglas de prioridad, 76 operaciones, y así, no podía ser considerado simple, y daría origen a múltiples errores complejos, seguidillas de versiones y correcciones, y que nadie se molestaría en aprenderlo y usarlo. El tiempo me dio la razón.

    ResponderEliminar
  4. Me faltó el tema de "control".
    Las palabras inglesas se pronuncian acentuándolas en la primera o en la segunda sílaba, y no llevan acento escrito. Dado que las reglas de pronunciación del inglés son complejas y tienen muchas excepciones, en principio "control" podría pronunciarse con acento tanto en la primera como en la segunda sílaba, pero los angloparlates dicen "contról", y no hay más remedio que imitarlos, escribiéndolo sin tilde.

    ResponderEliminar
  5. Entiendo que me acaban de honrar con el título de Ingeniero de Sistemas experto. Gracias, Eduardo!

    ResponderEliminar

COMENTARIOS SON MÁS QUE BIENVENIDOS. POR FAVOR CON NOMBRE Y APELLIDO. LOS COMENTARIOS AJENOS A LA TEMÁTICA DE ESTE BLOG SERÁN ELIMINADOS.