Story Transcript
La computación hasta la actualidad
1.1 ANTECESORES Y RAZÓN DE SER
L
¿Sirve de algo la filosofía?
a computadora representa, de alguna forma, el genio encerrado en la botella, pues es capaz de cumplir los deseos de rapidez y eficiencia en el cálculo y la organización de grandes volúmenes de datos. Es común oír que la sociedad moderna depende de las computadoras, y se da por hecho que nuestro futuro está ligado al de estas máquinas. Por ello, resulta interesante averiguar cuál es el origen de las computadoras, y más aún enterarse cómo surgieron las ideas que las sustentan, porque ningún invento de alguna importancia surge aislado de una conceptualización previa, que a veces lo antecede por muchos años. Aunque las computadoras aparecen a finales de la década de 1950, en realidad tienen su origen en ideas tan básicas y primordiales para el ser humano, que no deja de ser extraño que muchos estudiantes y usuarios no las conozcan. Además, al ignorar estas razones se corre el peligro de considerar a las computadoras como meros artefactos para calcular, con lo que se pierde el acceso a un rico conjunto de conceptos filosóficos que en buena medida le dan sentido a todo el quehacer computacional. Aunque parezca extraño, la filosofía es el punto de partida de este primer libro sobre computación, y en un somero análisis se explicará el porqué. Si se piensa en los medios de que disponemos los humanos para conocer el mundo se debe considerar en primerísimo lugar a la percepción que otorgan los sentidos; y al analizar esto con detenimiento se encuentra que, en principio, no percibimos el mundo en forma directa, sino sólo a través del complejo mecanismo de los sentidos, que confiere a nuestra interpretación caracterís-
8
Capítulo 1
El proceso de la descripciónrepresentación
La computación
hasta la actualidad
ticas propias. * Mientras más se piensa sobre este tema, menos garantía y seguridad se tiene sobre la existencia objetiva del mundo, pues resulta difícil establecer en forma definitiva una frontera entre el acto de la percepción y el objeto percibido. La física moderna lleva esta situación al límite cuando plantea cómo, en el dominio de las partículas subatómicas, el hecho mismo de observar algo lo llega a alterar. Se habla de física cuántica y del principio de incertidumbre de Heisenberg, temas que desafortunadamente quedan fuera del alcance operativo de esta obra, pero que no pueden ser ignorados por nadie que intente conocer la realidad del mundo que lo rodea. Cuando el ser humano adquiere el manejo del lenguaje, a los pocos años de edad, la situación da un giro radical: la percepción del mundo es aún menos directa que antes y en buena medida se convierte en un conjunto de descripciones acerca de éste en términos del lenguaje. Estas descripciones son imágenes mentales estructuradas que todo el tiempo nos dicen qué y cómo es el mundo en un permanente "diálogo interno". Haga un pequeño experimento para ilustrar esto: intente observar el segundero de un reloj durante un minuto anulando totalmente dicho diálogo interno y se dará cuenta de que es casi imposible. ** Se puede entonces postular que uno de los mecanismos (tal vez el más importante) para conocer el mundo es el de las descripciones que de éste hacemos constantemente, y que tales descripciones están construidas mediante el lenguaje. Una característica primordial de este mecanismo es que podemos transmitir las descripciones a alguien más y esperar que éste las procese y sea capaz de comprender que la descripción emitida hace referencia a una misma realidad percibida por ambos. El proceso mediante el cual se logra esta comprensión extrae, mediante una representación, el contenido original de la descripción, y "llega" de regreso al punto de partida inicial. De esta manera es como se puede establecer un primer nivel de comunicación acerca del mundo, aunque todavía quedan muchos aspectos pendientes que se estudiarán con más detenimiento en el capítulo 6, cuando se analice el problema de la computabilidad, dedicada en principio a explorar en términos matemáticos los límites del esquema descripción-representación, que ha obtenido resultados sorprendentes por lo insospechados. " Recuérdese la admonición del poeta inglés William Blake (1757-1827): "If the doors of perception were cleansed every little thing would appear to man as it is, infinite. [' . .J For man has closed himself up, till he sees all things thro' narrow chinks of his cavern." (Si las puertas de la percepción fueran limpiadas, veríamos todo como realmente es, infinito [. ..l. Pero el hombre se ha cerrado de tal forma que sólo ve las cosas desde las pequeñas grietas de su caverna.) Esta idea fue recogida como tesis por el novelista inglés Aldous Huxley (1894-1963) y además sirvió de inspiración para el nombre del grupo de rock The Doors. ** Claro que ésta no es la única manera de conocer el mundo. Uno de los objetivos de la meditación, por ejemplo, consiste en adquirir la capacidad de entrar en contacto directo con el mundo, y no a través de este interminable diálogo interno. El arte obedece también, entre otras, a estas motivaciones, pero éste es un campo de conocimiento que rebasa los alcances de nuestro libro. Como introducción mínima a algunos de estos temas se recomienda la referencia [RUSB92] citada al final de este capítulo. (En adelante, las referencias que se indiquen en el texto deberán consultarse al final del capítulo donde aparezcan.)
Antecedentes computadoras
(
1.1
FIGURA 1 mente.
Antecedentes de las computadoras
Es posible describir un fragmento
Antecesores y razón de ser
del mundo y representarlo
9
posterior-
Una vez que se tiene claro que sí se puede representar una descripción y cuando se han tomado medidas para eliminar los errores de comunicación y las posibilidades de ambigüedad, queda establecido un sistema donde ya no es indispensable que sea un humano el responsable de realizar la representación; y aquí radica el origen de las computadoras, de entrada delimitado por el problema de la computabilidad. En efecto, la computadora es el medio mecánico (o electrónico) con el que se pueden representar descripciones libres de ambigüedad para obtener un resultado útil. Estas descripciones por lo general se formulan en términos de problemas por resolver mediante un método que la máquina se encarga de representar o llevar a la práctica. Siguiendo esta idea, podría decirse que la computadora aparece cuando los niveles tecnológicos (fundamentalmente electrónicos) alcanzan el grado de avance y refinamiento que ya tenían las ideas y conceptos matemáticos, lo cual sucede a mediados del siglo xx. Una de las cuestiones que siempre ha fascinado al hombre es la relacionada con la actividad de contar y con el concepto de número. De ahí que entre las primeras herramientas que inventó está un ingenio mecánico capaz de liberarlo de la pesada tarea de calcular a mano. De hecho, la palabra cálculo proviene del latín calculus, que nombra las pequeñas piedras que se usaban hace miles de años como auxiliares en las cuentas (en una especie de ábaco formado con ranuras en el suelo y operado manualmente) y que se han encontrado en excavaciones arqueológicas. El ábaco representa la primera calculadora mecánica, aunque no se le puede llamar computadora porque carece de un elemento fundamental: el programa, que no se logrará sino hasta mucho tiempo después. Otro ingenio mecánico, que tampoco es una computadora, fue la máquina de calcular inventada por Blaise Pascal (1623-1662). Se trata de una serie de engranes en una caja que proporcionan resultados de operaciones de suma y resta en forma directa -mostrando un número a través de una ventanitay que por este simple hecho tiene la ventaja de que evita tener que contar, como en el caso del ábaco; además, presenta los resultados en forma más accesible y directa.
10
Capítulo 1
La computación
Fenómenos digitales y fenómenos analógicos
hasta la actualidad
Podría decirse que la computadora nació alrededor de 1830, con la invención de la "máquina analítica" de Charles Babbage (1792-1871). Este diseño, nunca llevado por completo a la práctica, contenía todos los elementos que configuran a una computadora moderna y la diferencian de una calculadora. La máquina analítica estaba dividida funcionalmente en dos grandes partes: una que ordenaba y otra que ejecutaba las órdenes. Esta última era una versión muy ampliada de la máquina de Pascal, mientras que la otra era la parte clave. 'La innovación consistía en que el usuario podía, cambiando las especificaciones de control, lograr que la misma máquina ejecutara operaciones complejas, diferentes de las que se hicieron antes. Esta verdadera antecesora de las computadoras contaba también con una sección en donde se recibían los datos para trabajar. La máquina seguía las instrucciones dadas por la unidad de control, las cuales indicaban qué hacer con los datos de entrada y se obtenían luego los resultados deseados. La aplicación fundamental para la que el gran inventor inglés desarrolló su máquina era elaborar tablas de funciones matemáticas usuales (logaritmos, tabulaciones trigonométricas, etc.) que requerían mucho esfuerzo manual. Esta primera computadora "leía" los datos (argumentos) de entrada por medio de las tarjetas perforadas, invento del francés Joseph M. Jacquard (1752-1834), y que dieron inicio al surgimiento de la industria de los telares mecánicos durante la revolución industrial. De un modo conceptual, el mecanismo consistía en evaluar la primera función f¡(x¡) y luego determinar el nuevo argumento de la serie, x2' para pedir a la máquina que calculara otra vez la misma función con el nuevo dato. Si la máquina puede calcular f¡(x¡), no le será difícil calcular f¡(x2), y de la misma manera podrá generar toda la serie de valores Nx¡), f/X2), ... , f¡(x). De este modo, si se deseaba calcular una segunda función t.sobre un argumento xI' flx¡), había que cambiar las especificaciones de t.por las de f2, lo que supuestamente se lograba alterando la disposición de ciertos elementos mecánicos en la sección de control de la máquina. No obstante, la máquina analítica nunca se puso en funcionamiento precisamente por la dificultad para lograr dichos cambios. Es perfectamente válido, sin embargo, referirse a esta máquina como la primera computadora digital, porque el concepto "digital" no presupone el concepto "electrónico". (Para mayor documentación sobre este tema histórico consúltense las referencias [GOLH72], [PYLZ75], [SLAR87] y [SWAD93].) Se explicará ahora el significado de la palabra digital. Los procesos naturales comparten la característica de ser de tipo continuo; es decir, la escala de manifestaciones de un fenómeno cualquiera no tiene singularidades ni puntos muertos, sino que se extiende de manera continua desde la parte inferior a la superior. La temperatura del agua, por ejemplo, puede variar entre cero y cien grados antes de cambiar de estado; lo importante es que en algún momento el agua puede estar en cualquier punto intermedio de la escala, sin más determinantes que la cantidad de calor que reciba. Asimismo, la velocidad del viento puede fluctuar de manera continua entre cero y cuarenta km/h en un día normal, pudiendo, en cualquier momento ocupar una posición en esa escala, sin más limitación que las diferencias de presión atmosférica. Esta característica
-~
FIGURA 2 cualesquiera
Repre de su
1.1
FIGURA 2 Representación esquemática cualesquiera de sus manifestaciones.
de un fenómeno
analógico
Antecesores y razón de ser
como un continuo
11
de puntos entre dos
de poder ocupar cualquier punto intermedio en la escala de manifestaciones, como se mencionó, es común a los fenómenos naturales. Esto es, en la naturaleza los fenómenos no se limitan a unas cuantas posiciones fijas de sus respectivas escalas de manifestación, sino más bien ocupan una variación continua entre dos límites, el superior y el inferior. Los fénómenos que se comportan en esta forma continua reciben el nombre de analógicos. No ocurre lo mismo, sin embargo, con otro tipo de fenómenos. Por ejemplo, si se averigua la cantidad de personas que están en un sitio, se llegará a la conclusión de que hay 27 o 28, perq no puede haber 27 y media. Como otro caso, piénsese en un automóvil: si se supone de transmisión estándar, entonces se dará el caso que en algún momento determinado la caja de velocidades ocupe alguna posición predeterminada (lª, 2ª, etc.), no pudiendo -mas que de manera transitoriaocupar una posición intermedia. Un automóvil no puede marchar en "primera y tres cuartos"; o lo hace en la primera velocidad o lo hace en la segunda, de manera discreta (i.e., discontinua). Estos fenómenos reciben el nombre de digitales (al menos en el contexto de la ingeniería), tal vez porque dan la idea de que se pueden cuantificar con los dedos de la mano. En un fenómeno digital se habla de estados (posiciones o manifestaciones discretas) y de transiciones entre éstos, y puede representarse mediante un modelo matemático conocido como "autómata finito". *
* En este contexto, la palabra "autómata" no se refiere a robots ni aparatos, sino a una construcción matemática, como se explica en el capítulo 6.
12
Caprtulo 1
La computación hasta la actualidad
Autómata finito para representar el modelo de operación de la caja de velocidades de un automóvil.
FIGURA 3
En un modelo digital o autómata finito no todas las transiciones entre estados son válidas. En un automóvil en marcha, por ejemplo, a nadie se le ocurriría pasar de la tercera velocidad en forma directa a la reversa, precisamente porque esa transición está "prohibida" (o sea, no está considerada en el modelo; véase figura 3). Otra forma de definir un autómata finito ~s mediante una matriz de transiciones en la cual, para cada par de estados, se señala con una marca (por ejemplo un 1) cuando una transición es válida, y con otra (O) cuando no lo es. En la figura 4 se observa la matriz de transiciones para la caja de velocidades anterior: En resumen, un fenómeno se llama analógico o continuo cuando entre dos manifestaciones de éste siempre se puede encontrar una tercera (lo cual, si se analiza, obliga a pensar en un conjunto infinito). En contraposición, un fenómeno se conoce como digital o discontinuo cuando entre dos manifestaciones cualesquiera de éste no existe nada, sino sólo una transición entre ambos estados. Así, puede hablarse de computadoras analógicas y computadoras digitales: son digitales aquellas que manejan la información de manera discreta -en unidades que se llaman bits (binary digits, dígitos binarios)-,-y son analógicas las que trabajan por medio de funciones continuas -generalmente representación de señales eléctricas. 1"
2'
1"
3"
4"
o
o
o
o
o
2" 3"
o
4"
o
o
R
o
o
o
o
o
o
o
N
R
N
o o
Matriz de transiciones para representar el modelo de operación de la caja de velocidades de un automóvil.
FIGURA 4
1.1
Antecesores y razón de ser
13
Hoy día casi todas las computadoras en uso son digitales, ya que el empleo de las analógicas se restringe a aplicaciones muy particulares en la ingeniería o la biología. En la figura 5 se describe el esquema elemental de la máquina inventada por Charles Babbage con el propósito de explicar algunas de las características más importantes de toda computadora digital moderna. La sección de control se convierte en el concepto fundamental, pues es la parte que dirige el procesamiento, de acuerdo con un "programa" previamente introducido en el "almacén" (como llamó Babbage a la memoria) de la máquina. Así, una computadora está formada por una unidad de entrada, que recibe tanto la información a procesar como las instrucciones (programa); la unidad de memoria, que almacena la información; la unidad de procesamiento (aritmética y lógica), que ejecuta los cálculos sobre la información; la unidad de control, que dirige a todas las demás unidades, determinando cuándo se debe leer la información, en qué lugares debe almacenarse, cuándo debe funcionar la unidad aritmética, etcétera; y una unidad de salida, que muestra la información ya procesada en forma de números o gráficas. A casi cien años de distancia de Babbage, en 1947, se diseñó la primera computadora electrónica digital, que tenía gran parecido funcional con la máquina analítica -y esto habla del genio de su antecesor-, aunque antes hubo algunos otros esfuerzos. En 1932, el investigador estadounidense Vannevar Bush construyó en el Instituto Tecnológicode Massachusetts una calculadora electromecánica conocida como el analizador diferencial, pero era de propósito específico y no tenía capacidades de programación.
FIGURA 5
Esquema básico de la máquina analítica de Babbage.
14
Capítulo 1
la computación hasta la actualidad
La computadora
La primera
computadora
ENIAC.
Asimismo, en 1944 se construyó en la Universidad de Harvard, en Estados Unidos, la computadora IBM Mark 1, diseñada por un equipo encabezado por Howard H. Aiken. No obstante, esta máquina no califica para ser considerada como la primera computadora electrónica, porque no era de propósito general y su funcionamiento estaba basado en dispositivos electromecánicos, llamados relevadores. Un equipo dirigido por los doctores en ingeniería, John Mauchly y John Eckert, de la Universidad de Pennsylvania, terminó en 1947 una gran máquina electrónica llamada ENIAC (Electronic Numerical Integrator And Calculator) que puede ser considerada como la primera computadora digital electrónica de la historia. * Esta máquina era enorme: ocupaba todo un sótano en la universidad, pesaba toneladas, tenía casi 18 000 tubos de vacío, consumía 140 kW de energía eléctrica y necesitaba todo un sistema de aire acondicionado industrial. Pero era capaz de efectuar alrededor de cinco mil operaciones aritméticas en un segundo, dejó atrás de manera definitiva las limitaciones humanas de velocidad y precisión e inauguró una nueva etapa en las capacidades de procesamiento de datos. El proyecto, auspiciado por el Departamento de Defensa de Estados Unidos, culminó dos años después, cuando se integró a ese equipo el ingeniero y matemático húngaro naturalizado estadounidense John von Neumann (1903'"Aunque eso está en duda, porque hubo otros pioneros: Konrad Zuse en Alemania (computadora Z3 l, Alan Turing y Maxwell N ewman en Inglaterra (computadora Colossus J, y John Atanasoff y Clifford Berry en Estados Unidos (computadora ABC), como se relata en [MACA88].
1.1
John von Neumann
Antecesores y razón de ser
15
(1903-1957).
1957). Sus ideas resultaron tan fundamentales para los desarrollos posteriores que bien puede considerarse el padre de las computadoras. La computadora diseñada por este nuevo equipo se llamó EDVAC (Electronic Discrete Variable Automatic Computer); tenía cerca de cuatro mil bulbos y usaba un tipo de memoria basado en tubos llenos de mercurio por donde circulaban señales eléctricas sujetas a retardos (para mayor información sobre estos temas véase, por ejemplo, [GOLH72] y [LUKH79]). "Lanueva idea fundamental resulta muy sencilla, pero de vital importancia: permitir que en la memoria coexistan datos con instrucciones, para que entonces la computadora pueda ser programada de manera "suave",* y no por medio de alambres que interconectaban eléctricamente varias secciones de control, como en la ENIAC. Esta idea, que incluso obliga a una completa revisión de la arquitectura de las computadoras, recibe desde entonces el nombre de modelo de von Neumann. Alrededor de este concepto gira toda la evolución posterior de la * Tal vez el uso de la palabra suave pueda parecer extraño, pero deja de serlo cuando se contrasta con el hecho de que en las computadoras anteriores a von Neumann (yen las actuales calculadoras), las operaciones que se pueden efectuar están "alambradas" y predefinidas, por lo que el usuario no puede cambiarlas. Esta flexibilidad es lo que define a la programación y al término software empleado tanto en inglés como en español. A lo largo de este libro se empleará la palabra software porque no existe un término equivalente en español -no es de extrañar, ya que el concepto es de origen anglosajón, y reciente. Abundando en el tema, aprovechamos para pedir al lector mantener el respeto y cuidado por el idioma español en los vocablos de uso común, y pensar dos veces antes de emplear "traducciones" como "comando" en vez de command (instrucción u orden); "librería" en lugar de library (biblioteca); "salvar" en vez de to save (guardar); o verdaderos y tristes engendros como "escanear" o "deletear" en lugar de to sean (leer, digitalizar) y to delete (borrar).
16
Capítulo 1
La computación hasta la actualidad
industria y la ciencia de la computación, por lo que se le dedicará un capítulo aparte. De 1947 a la fecha las cosas han avanzado muy rápido, más que cualquier otro proceso en la historia de la ciencia y la tecnología, a tal grado que en la actualidad hay computadoras mucho más poderosas que la ENIAC y que utilizan un circuito de silicio tan pequeño que cabe en la palma de la mano. Como contraste inicial, antes de proceder a describir lo que ha sucedido en los cincuenta años desde la invención de la computadora, se hace aquí una comparación entre dos máquinas: la ENIAC y uno de los primeros microprocesadores (ya obsoleto).
Es prácticamente imposible encontrar otro ejemplo de un avance de esta naturaleza en la historia de la tecnología, y esto hace aún más interesante el estudio de lo que ha pasado desde los años iniciales hasta la fecha.
1.2
DESARROLLO DE LAS COMPUTADORAS La evolución de las computadoras solía dividirse en generaciones, aunque esto cada vez se emplea menos. El criterio para determinar cuándo se dio el cambio de una generación a otra no está claramente definido, pero resulta aparente que deben cumplirse al menos dos requisitos estructurales:
Criterios para la determinación del avance
a) b)
Forma en que están construidas: que haya tenido cambios sustanciales. Forma en que el ser humano se comunica con ellas: que haya experimentado progresos importantes.
En lo que respecta al primer requisito, los cambios han sido drásticos en el corto lapso que tienen de existencia las computadoras (desde los tubos de vacío hasta los circuitos microelectrónicos), mientras que el avance del segundo requisito ha sido más cauteloso. Debido a la falta de una definición formal de la frontera entre generaciones se crea confusión cuando se intenta determinar cuál es la generación actual.
1.2
Desarrollo de las computadoras
17
Desde un punto de vista estricto, como el que se utiliza aquí, aún estamos en la tercera generación de computadoras -o en lo que podría llamarse la segunda parte de ésta-, porque sólo ha habido adelantos significativos en el punto a), pues en lo relativo al punto b), entre las actuales computadoras y las de hace quince años no hay diferencia sustancial alguna; la comunicación entre el usuario y la máquina sólo se ha vuelto más cómoda y conveniente (y a colores). Así pues, no está claro si ya estamos en la cuarta generación o si aún no se cumplen los requisitos para el cambio. Sin embargo, la suposición general, avalada fuertemente por los fabricantes de equipo, es que nos encontramos ya en ésta desde el advenimiento de los microprocesadores, y como ésta resulta ser la opinión más popular, aunque no la más correcta desde nuestro punto de vista, es la que se supondrá en adelante.
1.2.1
Primera generación Los comienzos de la industria de la computación se caracterizan por un gran desconocimiento de las capacidades y alcances de las computadoras. Así, por ejemplo, según un estudio en esa época, se suponía que iban a ser necesarias alrededor de veinte computadoras para saturar la capacidad del mercado de Estados Unidos en el campo del procesamiento de datos. Esta primera etapa abarcó la década de 1950 y se conoce como la primera generación de computadoras. Las máquinas de esta generación cumplen los requisitos antes mencionados de la siguiente manera: ci) b)
Por medio de circuitos de tubos de vacío o bulbos. Mediante la programación en lenguaje de máquina (lenguaje binario).
Estos aparatos eran grandes y costosos -del orden de decenas o cientos de miles de dólares. En 1951 aparece la primera computadora comercial, es decir, fabricada con el objetivo de venderse en el mercado: la UNIVAC1(UNIVersAl Computer). Esta máquina, que disponía de mil palabras de memoria central y podía leer cintas magnéticas, se utilizó para procesar los datos del censo de 1950 en Estados Unidos. Estos eran los años de la posguerra y la nueva invención aún no presagiaba su gigantesco potencial en la competencia económica internacional, que no llegaría sino hasta una década más tarde. Durante la primera generación, y hasta mediados de la tercera, las unidades de entrada estaban por completo dominadas por las tarjetas perforadas, retomadas a principios de siglo por Herman Hollerith (1860-1929), quien además fundó una compañía que con el paso de los años se conocería como IBM (International Business Machines). A la UNIVAC 1 siguió una máquina desarrollada por IBM, que apenas incursionaba en ese campo; es la IBM 701 (de la que se entregaron 18 unidades entre 1953 y 1956), que inaugura la larga serie por venir.
18
Capítulo
1
La computación
hasta la actualidad
Posteriormente, la compañía Remington Rand produjo el modelo 1103, que competía con la 701 en el campo científico, y la IBM fabricó la 702, que no duró mucho en el mercado debido a problemas con la memoria. La más exitosa de las computadoras de la primera generación fue el modelo 650 de IBM, de la que se produjeron varios cientos. Esta máquina usaba un esquema de memoria secundaria llamado tambor magnético, antecesor de los discos que en la actualidad se emplean. La competencia contestó con los modelos UNIVAC 80 y 90, que pueden situarse ya en los inicios de la segunda generación. También de esta época son los modelos IBM 704 y 709, Burroughs 220 y UNIVAC 1105.
1.2.2
Segunda generación Se acercaba la década de 1960 y las computadoras seguían en constante evolución: reducían su tamaño y aumentaban sus capacidades de procesamiento. Al mismo tiempo se definía con mayor claridad toda una nueva ciencia: la de comunicarse con las computadoras, que recibiría el nombre de programación de sistemas. En esta etapa puede hablarse ya de la segunda generación de computadoras, que se caracteriza por los siguientes aspectos primordiales: a) b)
Están construidas con circuitos de transistores. Se programan en nuevos lenguajes, llamados "de alto nivel".
En general, las computadoras de la segunda generación son de tamaño más reducido y de costo menor que las anteriores. En esta etapa hubo una gran competencia y muchas compañías nuevas, y se contaba con máquinas bastante avanzadas para su época, como la serie 5000 de Burroughs y la máquina ATLAS, de la Universidad de Manchester. Cabe decir que esta última incorporaba -con varios años de anticipación- técnicas de manejo de memoria virtual, que se estudiarán más adelante. Entre los primeros modelos se puede mencionar la Philco 212 (esta compañía se retiró del mercado de computadoras en 1964) y la UNIVAC M460. Una empresa recién formada, Control Data Corporation, produjo la CDC 1604, seguida por la serie 3000. Estas máquinas comenzaron a imponerse en el mercado de las grandes computadoras. IBM mejoró la 709 y produjo la 7090 (luego ampliada a la 7094), que ganó el mercado durante la primera parte de la segunda generación. UNIVAC continuó con el modelo 1107, mientras que NCR (National Cash Register) empezó a producir máquinas más pequeñas para proceso de datos de tipo comercial, como la NCR 315. RCA (Radio Corporation of America) introdujo el modelo 501, que manejaba el lenguaje COBOL, para proceso administrativo y comercial. Más tarde introdujo el modelo RCA 601.
1.2
Desarrollo de las computadoras
19
La segunda generación no duró mucho, sólo unos cinco años, y debe considerarse como una transición entre las recién inventadas máquinas electrónicas, que nadie sabía con precisión para qué podrían ser útiles, y el actual concepto de computadora, sin el cual el funcionamiento de las modernas sociedades industriales sería dificil de concebir.
1.2.3 Tercera generación Con la aparición de nuevas y mejores formas de comunicarse con las computadoras, junto con los progresos en electrónica, surge la que se conoce como tercera generación de computadoras a mediados de la década de 1960. Como parte de una enorme estrategia comercial y de mercadotecnia esta etapa se inaugura con la presentación, en abril de 1964, de la serie 360 de IBM. Las características estructurales de la tercera generación consisten en: . a)
b)
Su fabricación electrónica está basada en circuitos integrados:* agrupamiento de circuitos de transistores grabados en pequeñísimas placas de silicio Su manejo es por medio de los lenguajes de control de los sistemas operativos (que se estudiarán más adelante).
Las computadoras de la serie IBM 360 (modelos 20, 22, 30, 40, 50, 65, 67, 75,85,90,195) manejaban técnicas especiales de utilización del procesador, unidades de cinta magnética de nueve canales, paquetes de discos magnéticos y otras características ahora usuales. No todos los modelos empleaban . esas técnicas, sino que estaban divididos por aplicaciones. El sistema operativo de la serie 360, llamado simplemente OS (Operating System), en varias configuraciones incluía un conjunto de técnicas de manejo de memoria y del procesador que pronto se convirtieron en estándares. Esta serie alcanzó un éxito enorme, a tal grado que la mayoría de la gente (los ciudadanos comunes y corrientes) pronto llegó a identificar el concepto de computadora con el nombre IBM. Sin embargo, sus máquinas no fueron las únicas, ni necesariamente las mejores. También en 1964 CDC introdujo la serie 6000, con la máquina modelo 6600, que durante varios años fue considerada como la más rápida. Esta fue una época de pleno desarrollo acelerado y de competencia por los mercados internacionales, debido a que la industria de la computación había crecido hasta alcanzar proporciones insospechadas. Es curioso reflexionar en que estos años coinciden con el "retroceso" racional y la "vuelta a los oríge-
* Estos microcircuitos reciben el nombre de circuitos integrados, y son conocidos también por su nombre popular en inglés, chip (pedacito). Su origen se remonta a 1958-1959, cuando la idea de obtener e interconectar capacitores y transistores a partir de un pequeño bloque de silicio surge en las mentes, en forma independiente, del doctor Robert Noyce, de la recién creada compañía Fairchild Semiconductors (quien luego fundaría la empresa Intel), y del ingeniero Jack Kilby, de la compañía Texas Instruments.
20
Capítulo 1
La computadora actor social
1.2.4
La computación hasta la actualidad
como
nes" planteados por una juventud rebelde y desconfiada de la supuesta invasión tecnológica. Esos jóvenes (en los países industrializados) primero generaron el movimiento de los hippies y las protestas en contra de la guerra, pero luego, con el paso de dos décadas, se convirtieron en el puntal de la emergente sociedad de consumo. Para esta época la computadora ya estaba plenamente identificada en la mente del "hombre de la calle" de los países avanzados como un omnipresente aunque misterioso agente tecnológico, imprescindible para el funcionamiento de las grandes corporaciones. En las películas y los programas de televisión de esos años, muchas veces la gran computadora aparecía como respaldo de las grandes aventuras de todo tipo. Al inicio de la década de 1970 IBM produce la serie 370 (modelos 115, 125, 135, 145, 158, 168) como mejora, aunque no radical, de la serie 360. UNIVAC compite con los modelos 1108 y 1110,máquinas de gran escala; mientras que CDC inaugura su serie 7000 con el modelo 7600, reformado después para introducir la serie Cyber. Estas computadoras son tan potentes y veloces que se convierten ya en un asunto de Estado y de seguridad nacional para el país que las produce: en los más altos niveles gubernamentales se cuida su exportación y comercialización internacional. . A finales de esa década IBM introduce las nuevas versiones de la serie 370 con los modelos 3031, 3033 y 4341, en tanto que Burroughs participa con las computadoras de la serie 6000 (modelos 6500, 6700) de avanzado diseño, luego reemplazadas por la serie 7000. La compañía Honeywell participa con las computadoras de la línea DPS, en varios modelos. En Japón la compañía Fujitsu produjo computadoras poderosas, desde máquinas relativamente pequeñas hasta verdaderos gigantes (de la serie FACOM), comparables sólo con los más grandes sistemas de CDC o IBM. Las grandes computadoras reciben el nombre en inglés de mainframes, que significa precisamente gran sistema. Entre las máquinas de la tercera generación hay algunas dedicadas a procesos especiales, que manejan cientos de millones de números en representación decimal y requieren diseños específicos para ser resueltos. (Para información sobre el origen de las llamadas "supercomputadoras", consúltese el artículo [LEVR82]. El artículo [CORE91] ofrece datos sobre las supercomputadoras de una década después, así como el número correspondiente a enero de 1996 de la revista Byte: "The world's fastest computers".)
Minicomputadoras A mediados de la década de 1970, en plena tercera generación, surge un gran mercado para computadoras de tamaño mediano o minicomputadoras,* que no son tan costosas como las grandes máquinas y disponen de una gran capacidad de proceso. En un principio, el mercado de estas nuevas máquinas estuvo dominado por la serie PDP-8 de DEC (Digital Equipment Corporation). " Los nostálgicos recordamos a ésta también como la época de las minifaldas.
1.2
Desarrollo de las computadoras
21
Otras minicomputadoras populares fueron la serie PDP-ll de DEC, reemplazada luego por las máquinas VAX (Virtual Address eXtended) de la misma compañía; los modelos Nova y Eclipse de Data General; las series 3000 y 9000 de Hewlett-Packard, en varias configuraciones y el modelo 34 de IBM, que luego fue reemplazado por los modelos 36 y 38. Dentro de esta categoría estaban también las máquinas Wang y HoneywellBull en diversas configuraciones, así como computadoras Prime, ICL (International Computers Limited, inglesa), Siemens (alemana), etcétera. En la ex Unión Soviética fueron de amplio uso las computadoras de la serie SU (Sistema Unificado, Ryad), que también pasaron por varias generaciones. La primera de estas máquinas era, en cuanto a la arquitectura, una copia de la serie 360 de IBM, con los modelos ES 1020 a 1060. A fines de la -década de 1970 surgió la serie Ryad-2, cuya arquitectura seguía a la de la serie 370. Asimismo, los países socialistas desarrollaron una serie de computadoras dedicadas al control industrial además de las máquinas de la serie Minsk y BESM (véase el artículo [DAVG78]para una descripción). En la actualidad el mercado de las minicomputadoras es muy dinámico, sobre todo por su uso como servidores* de las cada vez más comunes redes metropolitanas y amplias. Algunas de las empresas mencionadas continúan con nuevos modelos: Hewlett-Packard, DEC (Alpha), IBM (series AS/400 y 6000), y han surgido con gran éxito nuevas compañías especializadas, como Sun Microsystems o Silicon Graphics, pero otras más han desaparecido recientemente.
1.2.5
Cuarta generación
.
El adelanto de la microelectrónica avanza a una velocidad impresionante, y ya por el año de 1972 surge en el mercado una nueva familia de circuitos integrados de alta densidad que reciben el nombre de microprocesadores. Las microcomputadoras diseñadas con base en estos circuitos son en extremo pequeñas y baratas, por lo que su uso se extiende al mercado de consumo. Hoy día hay microprocesadores en muchos aparatos de uso común, como relojes, televisores, hornos, juguetes, etcétera, y naturalmente en toda una nueva generación de máquinas, aunque sólo en lo que respecta al equipo físico (requisito a antes mencionado), puesto que en el otro aspecto (requisito b para determinar el cambio de una generación a otra) no existen progresos de esta magnitud, aunque los cambios que han sucedido tampoco son despreciables. Sin embargo, como se señaló antes, lo usual es suponer que nos encontramos en la cuarta generación, aunque incluso se habla ya de la quinta, como se verá a continuación. * Se da ese nombre a la computadora que sirve como depositaria de los archivos manejados por los múltiples usuarios de una red. En el servidor -puede haber más de uno- también residen los programas de control de la red. El capítulo 4 describe los principales conceptos de las redes.
22
Capítulo 1
1.2.6
La computación hasta la actualidad
¿Quinta generación? En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas para manejar las computadoras. Surgió un interesante fenómeno de competencia internacional por el dominio del gigantesco mercado de la computación, en el que se perfilan dos países líderes que, sin embargo, no pueden alcanzar aún el nivel deseado: la capacidad de comunicarse con la computadora mediante el lenguaje natural y no a través de códigos o lenguajes de control especializados. Japón lanzó en 1983 el llamado "programa de la quinta generación de computadoras", con los objetivos explícitos de producir máquinas con innovaciones reales en los dos criterios mencionados, aunque a su término en 1993 los resultados fueron bastante más pobres de lo que se había prometido. La ACM:Association for Computing Machinery, que bien podría considerarse como la agrupación académica más prestigiosa de computación en el mundo, * dedicó todo un número de su revista mensual (Communications of the ACM, marzo, 1993) a reportar los resultados de la quinta generación. Luego de leer los artículos detallados que incluye se llega a la conclusión de que más bien esta fue una especie de "generación perdida". En Estados Unidos está en actividad un programa de desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente manera: a) b)
Procesamiento en paralelo mediante arquitecturas, diseños especiales y circuitos de gran velocidad. Manejo de lenguaje natural y sistemas de inteligencia artificial.
Sin embargo, más que tomar el camino del procesamiento en paralelo, la tendencia actual de la computación es hacia la configuración de redes de cómputo, tanto locales como globales. Estas últimas interconectan ya a millones de computadoras en más de un centenar de países y su uso continúa en constante aumento. El futuro previsible de la computación es muy interesante, y se puede esperar que esta ciencia siga siendo objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.
* La ACM ofrece un precio especial de suscripción para estudiantes, y sugerimos a todo lector con interés en una carrera de computación que sin lugar a dudas se haga miembro. Con esto tendrá derecho a recibir la revista mensual y lo pone en contacto con el más alto nivel de computación académica existente. (P. O. Box 12114, Church Street Station, New York, 10257, New York, EEUU.) La ACM ofrece cada año el premio Ajan Turing, considerado como el máximo reconocimiento a la calidad académica o profesional de la computación en el mundo. Los premiados pronuncian una conferencia en la ceremonia de aceptación, y una versión adaptada se publica después en la revista oficial. La editorial Addison- Wesley publicó en 1987 el libro ACM Turing Award Lectures: The First 1luenty Years, con las disertaciones de los premiados entre 1966 y 1985, y de hecho se trata de un directorio de los principales investigadores en computación: entre otros, aparecen los nombres de Knuth, Dijkstra, Backus, Hoare.Wirth, Wilkes, Minsky, McCarthy, Simon, Rabin, Iverson y Codd.
_
~!