martes, 11 de noviembre de 2014

Elementos de un ordenador

Software

El término anglosajón "software" se traduce al español como "logitrónica", y se define como el conjunto de instrucciones que las computadoras interpretan para realizar procesos predefinidos sobre datos. Sin la logitrónica, la computadora sería un conjunto de semiconductores y metales preciosos sin uso coherente más allá de pisapapeles.

Antes de continuar es necesario hacer una pequeña semblanza de cómo funciona la relación software - hardware, ya que una computadora cuenta con una gran cantidad de dispositivos con distintas capacidades de desempeño, razón por la cual es importante considerar el flujo de las instrucciones y los datos dentro de los procesos internos del ordenador.

Podemos ilustrar los puntos de flujo de la información dentro de la computadora en una pirámide, en donde la punta es la parte en donde el flujo es más rápido y la base, su contraparte. En la punta estaría el microprocesador, que invariablemente es el punto más veloz, y en el camino hacia la base podríamos ir mencionando los dispositivos conforme vaya decreciendo la velocidad a la que puede transmitir y recibir información, quedando en términos generales como sigue:
  • Microprocesador
  • Memoria Caché N1
  • Memoria Caché N2
  • Memoria Principal (RAM / ROM)
  • Disco Duro
  • Unidad de disquete
  • Unidad de cinta 
  • Usuario 
Algo curioso acerca de esta pirámide es que la mayoría de los informáticos, e inclusive algunos usuarios, la manejan de manera natural, siendo comunes expresiones como "Bájalo a disco", "Bájalo a respaldo", "Cárgalo en memoria", etc. 

Una vez documentada esta disposición, se puede vislumbrar el camino que deben de seguir las instrucciones y los datos para ser procesados en el microprocesador y observar que estas instrucciones invariablemente deben de estar almacenadas en memoria de alta velocidad para ser procesadas, ya sea en caché, RAM o ROM, debido a que el procesador requiere que la información esté disponible para poder procesarla. 
Al cargar los programas en la memoria, el microprocesador comenzará a interpretar las instrucciones y los datos, provocando que la computadora actuara como si recibiera una educación instantánea; de pronto "sabe" cómo analizar, reaccionar, pensar y operar.

En una definición más amplia, la logitrónica es un conjunto de procedimientos y rutinas asociados con la operación de un sistema de computo, que le instruyen los pasos a seguir, así como la lógica de operación y reacción a evaluaciones matemáticas simples, distinguiéndose de los componentes físicos llamados mecatrónica (hardware) en que carecen de materia física; son ideas, son intangibles.

Este concepto de instruir una máquina fue maquinado por una brillante Dama llamada Ada Augusta Byron King, Duquesa de Lovelace, también llamada "La madre de la Logitrónica", que en 1843, siendo discípula de Charles Babbage, le da la idea de que las tarjetas perforadas de Jackard pueden adaptarse de manera que propiciaran que el motor de Babbage repitiera ciertas operaciones, creando con este detalle la idea fundamental de la logitrónica, repetir de manera análoga procedimientos concretos siguiendo un conjunto de instrucciones específicas. Estas instrucciones y procedimientos derivan del análisis minucioso de situaciones del mundo real que se plasman en un "instructivo" de pasos a seguir para obtener un resultado específico, conocido como algoritmo, palabra que deriva del apellido de la primera persona que hizo una explicación exhaustiva paso a paso, en el año 830, de cómo resolver un problema aritmético, el Árabe Muhammad ibn-Musa Al-Khowarizmi. Sin embargo, la logitrónica puede ser lineal, como en estos casos, pero todavía dista del mundo real, ya que lo único aparentemente lineal en el mundo análogo en el que vivimos es el tiempo, razón por la cual es necesario construir diversos algoritmos para realizar una tarea simple en la realidad física.

Ahora, a la razón de estas palabras, el concepto de logitrónica se reduce a un conjunto de algoritmos para realizar una tarea específica, sin importar de qué se trate, ya sea la creación de un documento, el análisis de datos o la reproducción de un virus, toda actividad es susceptible de ser analizada y discernida en procesos más simples, incluso lineales, sin importar su complejidad, ya que esto es sólo cuestión de tiempo y por ende, de paciencia, siendo esta la razón por la cual no existe la logitrónica perfecta, provocando que las computadoras lleguen a "trabarse" en un momento dado debido a un error de programación que invariablemente procede de un error de percepción y análisis.

A la luz de lo expuesto, la logitrónica, una vez codificada en instrucciones que el microprocesador pueda interpretar, es capaz de realizar cualquier tarea, desde funcionar como una irrelevante máquina de escribir hasta realizar el análisis más complejo de datos, simulando situaciones del mundo real incorporando inclusive reacciones "naturales" de materiales enfrentando distintos escenarios.
Conforme la logitrónica formal avanza, esta se va haciendo más "amigable", más fácil de usar, mientras que la logitrónica informal se va haciendo más difícil de detectar y destruir, entendiendo con esto que la logitrónica formal es el estudio y aplicación productivo de los algoritmos, mientras que la informal, por el contrario, busca el daño, e inclusive la destrucción de la logitrónica formal, como todo en el universo, el equilibrio, la dualidad.

Algunos ejemplos de la logitrónica formal son los procesadores de texto, hojas de cálculo electrónicas, motores de bases de datos, etcétera; mientras que para la informal, existen los virus informáticos, rompeclaves, husmeadores, etcétera.
La logitrónica formal se divide fundamentalmente en 4 categorías que son: Sistemas Operativos, Lenguajes de Programación, Aplicaciones de uso general, y librerías, mientras que la informal se puede dividir en: Virus y Husmeadores.

Hardware

A lo largo de la historia, de una u otra forma, se ha definido a una computadora como una máquina que procesa datos, sin embargo, este procesamiento requiere de una variedad de aditamentos de soporte y sólo uno encargado propiamente del procesamiento de todo cuanto existe en y entre estos agregados de auxilio.

Toda esta majestuosa orquesta de equilibrios hoy en día está al alcance de una tecla o un clic, que a voluntad es manejada por una sencilla idea que dispara un impulso nervioso que viaja hasta la mano, en donde se convierte en energía mecánica y activa un interruptor, enviando a su vez una leve señal eléctrica a un controlador de entrada, que avisa al procesador que "algo" pasó y que requiere de su atención. El procesador interpreta esta señal por su origen y decide qué hacer con ella, a dónde enviarla; en esto lo ayuda un programa, una secuencia de instrucciones que invariablemente está almacenado en algún lugar de la memoria, ya sea del BIOS en la tarjeta madre o la memoria principal. Este programa ayuda al procesador ofreciéndole la interpretación a detalle de lo que sucedió y lo que recibió. En el caso de un teclazo, este impulso eléctrico, ahora interpretado, se convierte numéricamente a una representación correspondiente en letra, color y posición, para ser enviado a la memoria de video, en donde el controlador de video se encarga de presentarlo en pantalla... resulta fascinante pensar que todo esto puede ocurrir en una millonésima de segundo o menos y que es uno de los procesos más elementales de la computadora, ya que cuenta con muchos otros que crecen en complejidad conforme avanza la tecnología.
No lejos de este señorial enredo, están las primeras computadoras, los primeros equipos ordenadores que, si bien contaban con todo lo necesario para procesar la información, la mayoría de los aditamentos necesarios para su operación completa estaban fuera del equipo en sí. Bajo esta afirmación, se puede fortalecer la idea de que aquellos primeros ordenadores de la historia, que llenaban habitaciones completas, tenían miles de tubos de vacío o bulbos, y unos cuantos kilómetros de cable, no eran más que el procesador, eso que ahora millones de veces más potente es más pequeño que una uña.

Ha sido un viaje muy corto en tiempo, y muy largo en tecnología, aunque en realidad muchas de las ideas "innovadoras" sean falsas imágenes de un reciente invento. Ejemplos hay muchos en la historia; ya en la década de 1970 hubo propuestas de conectar una cámara a una computadora, igualmente ambientación de fiestas con sonidos sintéticos producidos por aquella Altair 8800. Gran parte de estos avances no son creación de famosos ingenieros y científicos de grandes empresas renombradas, sino de simples aficionados.
Al paso del tiempo, y con la evolución propia de la tecnología, las computadoras han ido sofisticándose al grado de ser tan perfectas que los materiales están dejando de ser amistosos, sin embargo, esta situación orilló la creación de módulos, segmentos de la computadora especializados en tareas específicas, que crearon una nueva familia de procesadores de objeto específico, tales como los de video, sonido, red, etc., y cada uno de ellos tiene su historia.

Básicamente, una computadora procesa los datos que se le suministran, para lo cual debe disponer de recursos para almacenar la información mientras ésta es leída y procesada, así como para almacenar temporalmente el resultado del procedimiento, esto es, memoria.

Asimismo, el ordenador requiere de dispositivos que permitan tanto la adquisición y/o introducción de datos, y la presentación al usuario, en todo momento, o a demanda, de actividad en proceso y la emisión en medios portables, del resultado del proceso.

Estos últimos dispositivos reciben el nombre de periféricos. Esquemáticamente hablando, una computadora se compone de:

Unidad de Entrada: Permite la introducción de información en la computadora, existen dos tipos de dispositivos, aquellos que convierten los datos en un formato capaz de ser interpretado por la computadora, como lo es el teclado y los que permiten su entrada directa como el digitalizador de imágenes o escáner, lectores de tarjetas o códigos de barras o la pantalla táctil.

Unidad de Almacenamiento: es un dispositivo donde se almacenan los datos y los programas para procesarlos. Existen dos tipos: Memoria Principal*, constituida por circuitos integrados y que a su vez se subdivide en RAM y ROM; y la Memoria Secundaria, donde se almacenan otros datos que no tienen cabida en la principal, la constituyen los Discos duros, CD-ROM, disquetes, Unidades de cinta.

Unidad Aritmético/Lógica*: Es la parte encargada de procesar los datos, se conoce también como ALU (Arithmetic- Logic Unit). Las operaciones que realiza son de tipo aritmético: suma, resta, multiplicación y división; y de tipo lógico: igual, mayor que o menor que.

Unidad de Control*: Dirige la ejecución del programa y controla tanto el movimiento entre memoria y ALU, como las señales que circulan entre la CPU y los Periféricos.

Unidad de Salida: Presentan al usuario los datos ya elaborados que se encuentran en la memoria de la computadora, los más habituales son la pantalla y la impresora.

La Unidad de Control con la Unidad Aritmético/Lógica y la Memoria Principal forman la Unidad Central de Procesos (CPU), o Microprocesador*. Las Unidades de Entrada y de Salida son los denominados Periféricos.

Sistema operativo

El sistema operativo es el gestor y organizador de todas las actividades que realiza la computadora, así como el intérprete y traductor de primer orden entre el humano, generalmente referido como usuario, y la computadora, esto es, un programa cuya principal función consiste en abstraer toda la funcionalidad de una computadora, en unos cuantos comandos e inclusive interfaces de fácil uso y aprendizaje para las personas comunes.

Aunque hoy en día el sistema operativo es una parte esencial de las computadoras, en un principio esto no existía; en las computadoras mecánicas resulta entendible, sin embargo, con la aparición de las computadoras de primera generación las instrucciones que debía de ejecutar la computadora eran provistas a través de enormes paneles de conectores que por medio de cables y enchufes, se cerraban o abrían circuitos para dar a la computadora las instrucciones que debía realizar.

Dado que las computadoras en sí eran herramientas de uso general que había que programar, el camino más evidente y lógico fue integrar un lenguaje de programación que al arrancar la máquina estuviera listo para recibir instrucciones. Esto es el equivalente al sistema operativo en las últimas computadoras de la primera generación y aquellas primeras de la segunda. Las había con BASIC y FORTRAN. Algunas empresas comenzaron a comercializar sus equipos con entornos que permitían administrar algunas funciones de sus
equipos e inclusive cargar y ejecutar programas desarrollados en un lenguaje cuyo compilador fue desarrollado específicamente para esa máquina y ese entorno operativo.

Los sistemas operativos pueden ser agrupados conforme a su funcionalidad, quedando en sistemas operativos para supercomputadoras, granjas de texturizado, marcos centrales, servidores, estaciones de trabajo, computadoras personales, computadoras de mano, sistemas de tiempo real y embebidos.
Dentro de las funciones del sistema operativo, se encuentra la gestión de las actividades de intercambio de datos entre la memoria central y la externa, determinando las operaciones elementales que estarán a disposición del usuario, así como de las aplicaciones que ejecute. Igualmente se encarga de administrar los recursos del sistema para su óptimo desempeño.

Una vez que la computadora ha puesto en marcha y después de que el BIOS haya realizado la verificación y, en su caso, la configuración del sistema, cede el control del equipo al sistema operativo, mismo que se encontrará en ejecución durante todo el tiempo que la computadora permanezca en operación, tiempo durante el cual tiene 4 labores principales que son:
  • Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al usuario, para que este último se pueda comunicar con la computadora.
  • Administrar los dispositivos mecatrónicos (hardware) que estén conectados al ordenador, tales como memoria, puertos, monitor, discos, etcétera.
  • Administrar y mantener los sistemas de archivos de disco, así como proveer al usuario con las herramientas para administrar manualmente estos archivos y monitorear el estado general del equipo.
  • Apoyar a otros programas a través de servicios de administración de recursos y archivos.
Un sistema operativo se integra con dos componentes esenciales que son: El núcleo (kernel) y el entorno (Shell).

El núcleo se encarga de las funciones centrales de gestión del equipo, y por lo regular no está disponible para el usuario regular, ya que esta parte del sistema operativo opera exclusivamente a nivel máquina, administrando y poniendo a disposición los recursos, a las aplicaciones que el usuario esté ejecutando

Al contrario del núcleo, el entorno, como su nombre lo dice, es el ambiente en el cual trabaja el usuario y es el que ofrece la interfaz de comunicación entre el usuario y la computadora, ya sea en modo texto, también llamado línea de comando, o gráfico, también conocido como GUI que son las siglas de Interfaz Gráfica de Usuario (Graphic User Interface), o WIMP que son las siglas para Ventanas, Iconos, Menúes y Punteros (Windows Icons Menus and Pointers). 
Todos los sistemas operativos de entorno gráfico están basados WIMP .
El primer concepto de un sistema basado en ventanas fue creado para la computadora Xerox Star 8010 en 1981, y que fuera utilizada más adelante en 1984 por Apple para la creación del sistema operativo para sus computadoras Macintosh, el MacOS y por Microsoft, en 1985, para su integrador Windows, que eventualmente se convertiría en un sistema operativo y en 1990 por IBM para su OS/2. Eventualmente todos los sistemas operativos se tornaron WIMP, o al menos intentaron hacerlo, como fue el caso de X Windows, que no ofrecía menúes ni botones ni barras de título, funciones que fueron agregadas posteriormente en otras implementaciones para Unix.

Conforme fueron evolucionando los equipos, también evolucionaron los sistemas operativos para dar cabida a las nuevas características de los procesadores, así como satisfacer solicitudes de los usuarios, creando categorías para los sistemas operativos.

Sistemas Operativos Multitarea. Sistemas Operativos Multiusuario.

En un sistema operativo multiusuario es una evolución de uno multitarea, superándolo en la capacidad de poner los recursos del equipo a disposición de más de un usuario simultáneo. Unix es el sistema operativo multiusuario más utilizado, debido a que Unix fue originalmente diseñado en una época en la cual las computadoras eran muy caras y se explotaban a través de la utilización de múltiples usuarios conectados a un servidor central o mainframe utilizando terminales tontas.

Con el problema del cambio de siglo, este mismo esquema se utilizó para dar soporte práctico a equipos de cómputo que no soportaban el cambio de siglo y las empresas no contaban con presupuesto suficiente para realizar una inversión. A partir de este problema se crearon soluciones tales como Citrix, Tarantella, y Windows NT Terminal Server Edition, que permitían a usuarios utilizar su equipo viejo aún después del cambio de siglo, utilizándose este como una terminal que presentaba en pantalla la información que era almacenada y procesada en el servidor.

Sistemas Operativos Multiproceso.

Las computadoras que tienen más de una UCP son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de los procesadores para optimizar al máximo la eficiencia global del sistema.

Los primeros sistemas operativos multiproceso realizaban lo que se conoce como multiproceso asimétrico, el cual se caracteriza por utilizar una UCP para administrar de manera íntegra el equipo de

cómputo, incluyendo a los demás procesadores. Esto fue un primer acercamiento al multiproceso pero no fue la dirección ideal ya que la UCP principal podía convertirse en un cuello de botella, por lo cual se creó el multiproceso simétrico, en el cual no existe una UCP controladora, ya que todas procesan de manera simultánea (simétricamente) las instrucciones de un programa, con lo cual nació un problema, ya que los sistemas operativos debían de ser diseñados para poder operar de manera natural a través de diversas rutas de proceso e integrar un mismo resultado. Unix ofrece el soporte a multiproceso asimétrico a través de las extensiones de Unix, mientras que MS Windows NT soporta multiproceso simétrico.

Sistemas Operativos Empotrados.

Con el advenimiento de nuevas tecnologías, los sistemas de cómputo se miniaturizaron hasta el grado de ser de bolsillo, presentándose situaciones que nunca antes en la historia de la computación se habían previsto, naciendo la necesidad de crear sistemas sin partes mecánicas. Esto representó un reto que fue resuelto con la creación de sistemas operativos empotrados, es decir, integrados en circuitos a manera de ROM.

Estos sistemas operativos son WIMP y tienen la peculiaridad de tener un microcódigo muy pequeño y eficiente, están integrados a la computadora e interactúan con el mundo exterior a partir de puertos y buses. Algunos ejemplos de estos son: Windows CE y Palm OS.

La quinta generación: los microprocesadores

Posteriormente, hacia finales de los setenta, aparece la que podría ser la quinta generación de ordenadores. Se caracteriza por la aparición de los microcomputadores y los ordenadores de uso personal. Estas máquinas, se caracterizan por llevar en su interior un microprocesador circuito integrado, que reúne en un sólo chip de silicio las principales funciones de un ordenador.
Los ordenadores personales, son equipos a menudo muy pequeños, no permiten multiproceso y suelen estar pensados para uso doméstico o particular. Los microordenadores, si bien empezaron tímidamente como ordenadores muy pequeñitos, rápidamente han escalado el camino superando a lo que hace 10 años era un miniordenador. Un microordenador actual puede tener 1Gb y 4Gb de memoria, discos con capacidades del orden de 200Gb a 1Tb y pueden permitir la utilización simultánea del equipo por múltiples usuarios. 




miércoles, 1 de octubre de 2014

La cuarta generación

La aparición de una cuarta generación de ordenadores hacia el comienzo de los años setenta, no es reconocida como tal por muchos profesionales del medio, para quienes ésta es sólo una variación de la tercera. Máquinas representativas de esta generación son el IBM 370 y el Burroughs. Las máquinas de esta cuarta generación se caracterizan por la utilización de memorias electrónicas en lugar de las de núcleos de ferrita.

Estas representan un gran avance en cuanto a velocidad y en especial, en cuanto a reducción de tamaño. En un chip de silicio no mayor que un centímetro cuadrado caben 64.000 bits de información. En núcleos de ferrita esa capacidad de memoria puede requerir cerca de un litro en volumen.

Se empieza a desechar el procesamiento batch o por lotes, a favor, del tiempo real y el proceso interactivo. Aparecen innumerables lenguajes de programación. Las capacidades de memoria empiezan a ser enormemente grandes. En esta etapa, cobran gran auge los minicomputadores. Estos son maquinas con un procesador de 16 bits una memoria de entre 16 32 KB y un precio de unos pocos millones. 





La tercera generación

En 1964, la aparición del IBM 360, marca el comienzo de la tercera generación. Las placas de circuito impreso con múltiples componentes, pasan a ser reemplazadas por los circuitos integrados.

Estos elementos, son unas plaquitas de silicio llamadas chips, sobre cuya superficie se depositan, por medios especiales, unas impurezas que hacen las funciones de diversos componentes electrónicos. Así pues un puñado de transistores y otros componentes se integran ahora en una plaquita de silicio. Aparentemente esto no tiene nada de especial salvo por un detalle; un circuito integrado con varios centenares de componentes integrados tiene el tamaño de una moneda.

Así pues, hemos dado otro salto importante en cuanto a la reducción de tamaño. El consumo de un circuito integrado es también menor que el de su equivalente en transistores, resistencias y demás componentes. Además su fiabilidad es también mayor.



En la tercera generación, aparece la multiprogramación el teleproceso, se empieza a generalizar el uso de minicomputadores en los negocios y se usan cada vez más los lenguajes de alto nivel como Cobol y Fortran. 

La segunda generación


En 1958 comienza la segunda generación, cuyas máquinas empleaban circuitos transistorizados. El transistor es un elemento electrónico, que permite reemplazar al tubo, con las siguientes ventajas:
  • su consumo de corriente es mucho menor, con lo que también es menor su producción de calor.
  • Su tamaño es también mucho menor. Un transistor puede tener el tamaño de una lenteja mientras que un tubo de vacío tiene un tamaño mayor que el de un cartucho de escopeta de caza. Esto permite una drástica reducción de tamaño. Mientras que las tensiones de alimentación de los tubos estaban alrededor de los 300 voltios, las de los transistores vienen a ser de 10 voltios, con lo que los demás elementos de circuito también pueden ser de menor tamaño, al tener que disipar y soportar tensiones mucho menores.
  • El transistor es un elemento constituido fundamentalmente por silicio o germanio. Su vida media, es prácticamente ilimitada, y en cualquier caso, muy superior a la del tubo de vacío.
    Como podemos, ver el simple hecho de pasar del tubo de vacío al transistor, supone un gran paso, en cuanto a reducción de tamaño y consumo y aumento de fiabilidad. Las máquinas de la segunda generación emplean además algunas técnicas avanzadas no sólo en cuanto a electrónica sino en cuanto a informática y proceso de datos como por ejemplo los lenguajes de alto nivel.


La primera generación


El Univac 1 viene a marcar el comienzo de lo que se llama la primera generación. Los ordenadores de esta primera etapa se caracterizan por emplear el tubo de vacío como elemento fundamental de circuito. Son máquinas grandes pesadas y con unas posibilidades muy limitadas. El tubo de vacío es un elemento que tiene un elevado consumo de corriente, genera bastante calor y tiene una vida media breve. Hay que indicar que a pesar de esto, no todos los ordenadores de la primera generación fueron como el ENIAC, las nuevas técnicas de fabricación y el empleo del sistema binario llevaron a máquinas con unos pocos miles de tubos de vacío.





domingo, 28 de septiembre de 2014

El nacimiento del ordenador actual

Ante la necesidad de agilizar el proceso de datos de las oficinas del censo se contrató a James Powers un estadístico de Nueva Jersey para desarrollar nuevas máquinas para el censo de 1.910. Powers diseñó nuevas máquinas para el censo de 1.910 y de modo similar a Hollerith decidió formar su propia compañía en 1.911; la Powers Accounting Machine Company que fue posteriormente adquirida por Remington Rand la cual a su vez se fusionó con la Sperry Corporation formando la Sperry Rand Corporation. John Vincent Atanasoff nació en 1903 su padre era un ingeniero eléctrico emigrado de Bulgaria y su madre una maestra de escuela con un gran interés por las matemáticas que transmitió a su hijo. Atanasoff se doctoró en física teórica y comenzó a dar clases en Iowa al comienzo de los años 30. Se encontró con lo que por entonces eran dificultades habituales para muchos físicos y técnicos; los problemas que tenían que resolver requerían una excesiva cantidad de cálculo para los medios de que disponían. Aficionado a la electrónica y conocedor de la máquina de Pascal y las teorías de Babbage, Atanasoff empezó a considerar la posibilidad de construir un calculador digital. Decidió que la máquina habría de operar en sistema binario, hacer los cálculos de modo totalmente distinto a como los realizaban las calculadoras mecánicas e incluso concibió un dispositivo de memoria mediante almacenamiento de carga eléctrica. Durante un año maduró el proyecto y finalmente solicitó una ayuda económica al Consejo de Investigación del Estado de Iowa. Con unos primeros 650 dólares contrató la cooperación de Clifford Berry estudiante de ingeniería y los materiales para un modelo experimental. Posteriormente recibieron otras dos donaciones que sumaron 1460 dólares y otros 5000 dólares de una fundación privada. Este primer aparato fue conocido como ABC Atanasoff- Berry-Computer.

En diciembre de 1940 Atanasoff se encontró con John Mauchly en la American Association for the Advancement of Science (Asociación Americana para el Avance de la Ciencia) abreviadamente AAAS. Mauchly que dirigía el departamento de física del Ursine College cerca de Filadelfia se había encontrado con los mismos problemas en cuanto a velocidad de cálculo que Atanasoff y estaba convencido de que habría una forma de acelerar el cálculo por medios electrónicos. Al carecer de medios económicos construyó un pequeño calculador digital y se presentó al congreso de la AAAS para presentar un informe sobre el mismo. A raíz de aquello Atanasoff y Maunchly tuvieron un intercambio de ideas que muchos años después ha desembocado en una disputa entre ambos sobre la paternidad del computador digital.

En 1941 Maunchly se matriculó en unos cursos sobre ingeniería eléctrica en la escuela Moore de Ingeniería donde conoció a un instructor de laboratorio llamado J. Presper Eckert. Entre ambos surgió una compenetración que les llevaría a cooperar en un interés común: el desarrollo de un calculador electrónico. El entusiasmo que surgió entre ambos llegó a Maunchly a escribir a Atanasoff solicitándole su cooperación para construir un computador como el ABC en la escuela Moore.

Atanasoff prefirió guardar la máquina en un cierto secreto hasta poder patentarla; sin embargo nunca llegó a conseguirlo. Maunchly fue más afortunado. La escuela Moore trabajaba entonces en un proyecto conjunto con el ejército para realizar unas tablas de tiro para armas balísticas.
La cantidad de cálculos necesarios era inmensa tardándose treinta días en completar una tabla mediante el empleo de una máquina de cálculo analógica. Aun así esto era unas 50 veces más rápido de lo que tardaba un hombre con una sumadora de sobremesa.

El 9 de abril de 1943 se autorizó a los dos hombres a iniciar el desarrollo del proyecto. Se le llamó ENIAC (Electronic Numerical integrator and Computer). El presupuesto inicial era de 150.000 dólares) cuando la máquina estuvo terminada el costo total había sido de 486.804 22 dólar.





El ENIAC tenía 70 000 resistencias, 7.500 interruptores y 17.000 tubos de vacío de 16 tipos distintos, funcionando todo a una frecuencia de reloj de 100.000 Hz. Pesaba unas 30 toneladas y ocupaba unos 1.600 metros cuadrados. Su consumo medio era de unos 100.000 vatios (lo que un bloque de 50 viviendas) y necesitaba un equipo de aire acondicionado a fin de disipar el gran calor que producía.

Tenía 20 acumuladores de 10 dígitos era capaz de sumar, restar, multiplicar y dividir; además tenía tres tablas de funciones. La entrada y la salida de datos se realizaba mediante tarjetas perforadas.

En un test de prueba, en febrero de 1946, el Eniac resolvió en 2 horas un problema de física nuclear que previamente habría requerido 100 años de trabajo de un hombre. Lo que caracterizaba al ENIAC, como a los ordenadores modernos, no era simplemente su velocidad de cálculo, sino el hecho, de que combinando operaciones, permitía realizar tareas que antes eran imposibles.
En 1946 el matemático húngaro John Von Neumann propuso una versión modificada del Eniac; el EDVAC (Electronic Discrete Variable Automatic Computer) que se construyó en 1952. Esta máquina presentaba dos importantes diferencias respecto al Eniac: En primer lugar, empleaba aritmética binaria, lo que simplificaba enormemente los circuitos electrónicos de cálculo.

En segundo lugar, permitía trabajar con un programa almacenado. El Eniac se programaba enchufando centenares de clavijas y activando un pequeño número de interruptores. Cuando había que resolver un problema distinto era necesario cambiar todas las conexiones proceso que llevaba muchas horas.

Von Neumann propuso cablear una serie de instrucciones y hacer que éstas se ejecutasen bajo un control central. Además propuso que los códigos de operación que habían de controlar las operaciones se almacenasen de modo similar a los datos en forma binaria. De este modo el Edvac no necesitaba una modificación del cableado para cada nuevo programa pudiendo procesar instrucciones tan deprisa como los datos. Además el programa podía modificarse a sí mismo ya que las instrucciones almacenadas como datos podían ser manipuladas aritméticamente.





Eckert y Mauchly, tras abandonar la universidad fundaron su propia compañía, la cual tras diversos problemas fue absorbida por Remington Rand. El 14 de junio de 1951 entregaron su primer ordenador a la Oficina del Censo el Univac-I.






Posteriormente aparecería el Univac-II, con memoria de núcleos magnéticos lo que le haría claramente superior a su antecesor, pero por diversos problemas, esta máquina no vio la luz hasta 1957 fecha en la que había perdido su liderazgo en el mercado frente al 705 de IBM.

En 1953 IBM fabricó su primer computador para aplicaciones científicas el 701. Anteriormente había anunciado una máquina para aplicaciones comerciales, el 702, pero esta máquina fue rápidamente considerada inferior al Univac-I. Para compensar esto IBM lanzó al mercado una máquina que resultó arrolladora el 705 primer ordenador que empleaba memorias de núcleos de ferrita IBM superó rápidamente a Sperry en volumen de ventas gracias una eficaz política comercial que actualmente la sigue manteniendo a la cabeza de todas las compañías de informática del mundo en cuanto a ventas. 






A partir de entonces fueron apareciendo progresivamente más y más maquinas. Veamos las etapas que diferencian unas máquinas de otras según sus características. Cada etapa se conoce con el nombre de generación

Calculadoras analógicas y digitales

El primer calculador mecánico apareció en 1642 tan sólo 25 años después de que Napier publicase una memoria describiendo su máquina. El artífice de esta máquina fue el filósofo francés Blaise Pascal (1.623-1.662) en cuyo honor se llama Pascal uno de los lenguajes de programación que más impacto ha causado en los últimos años. A los 18 años Pascal deseaba dar con la forma de reducir el trabajo de cálculo de su padre que era un funcionario de impuestos.

La calculadora que inventó Pascal tenía el tamaño de un cartón de tabaco y su principio de funcionamiento era el mismo que rige los cuentakilómetros de los coches actuales; una serie de ruedas tales que cada una de las cuales hacía avanzar un paso a la siguiente al completar una vuelta. Las ruedas estaban marcadas con números del 0 al 9 y había dos para los decimales y 6 para los enteros con lo que podía manejar números entre 000.000 01 y 999.999 99.
Las ruedas giraban mediante una manivela con lo que para sumar o restar lo que había que hacer era girar la manivela correspondiente en un sentido o en otro el número de pasos adecuado. 






Leibnitz (1646-1716) fue uno de los genios de su época; a los 26 años aprendió matemáticas de modo autodidacta y procedió a inventar el cálculo. Inventó una máquina de calcular por la simple razón de que nadie le enseñó las tablas de multiplicar. · La máquina de Leibnitz apareció en 1672; se diferenciaba de la de Pascal en varios aspectos fundamentales el más importante de los cuales era que podía multiplicar, dividir y obtener raíces cuadradas.

Leibnitz propuso la idea de una máquina de cálculo en sistema binario base de numeración empleada por los modernos ordenadores actuales. Tanto la máquina de Pascal como la de Leibnitz se encontraron con un grave freno para su difusión: la revolución industrial aún no había tenido lugar y sus máquinas eran demasiado complejas para ser realizadas a mano. La civilización que habría podido producirlas en serie estaba todavía a más de 200 años de distancia.





Entre 1673 y 1801 se realizaron algunos avances significativos el más importante de los cuales probablemente fue el de Joseph Jacquard (1.752-1.834) quien utilizó un mecanismo de tarjetas perforadas para controlar el dibujo formado por los hilos de las telas confeccionadas por una máquina de tejer.

La máquina de tejer de Jacquard presentada en 1.801 supuso gran éxito comercial y un gran avance en la industria textil. La antesala de la informática. 



  


Aunque hubo muchos precursores de los actuales sistemas informáticos para muchos especialistas la historia empieza con Charles Babbage matemático e inventor inglés que al principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Desgraciadamente al igual que sus predecesores, vivió en una época en la cual ni la tecnología ni las necesidades estaban al nivel de permitir la materialización de sus ideas.

En 1822 diseñó su máquina diferencial para el cálculo de polinomios. Esta máquina se utilizó con éxito para el cálculo de tablas de navegación y artillería lo que permitió a Babbage conseguir una subvención del gobierno para el desarrollo de una segunda y mejor versión de la máquina.

Durante 10 años Babbage trabajó infructuosamente en una segunda máquina sin llegar a conseguir completarla y en 1833 tuvo una idea mejor.

Mientras que la máquina diferencial era un aparato de proceso único Babbage decidió construir una máquina de propósito general que pudiese resolver casi cualquier problema matemático. Todas estas máquinas eran por supuesto mecánicas movidas por vapor. De todas formas la velocidad de cálculo de las máquinas no era tal como para cambiar la naturaleza del cálculo además la ingeniería entonces no estaba lo suficientemente desarrollada como para permitir la fabricación de los delicados y complejos mecanismos requeridos por el ingenio de Babbage.





Otro inventor digno de mención es Herman Hollerith. A los 19 años. En 1879 fue contratado como asistente en las oficinas del censo norteamericano que por aquel entonces se disponía a realizar el recuento de la población para el censo de 1880. Este tardó 7 años y medio en completarse manualmente. Hollerith fue animado por sus superiores a desarrollar un sistema de cómputo automático para futuras tareas.

El sistema inventado por Hollerith utilizaba tarjetas perforadas en las que mediante agujeros se representaba el sexo, la edad, raza, etc.... En la máquina, las tarjetas pasaban por un juego de contactos que cerraban un circuito eléctrico activándose un contador y un mecanismo de selección de tarjetas. Estas se leían a ritmo de 50 a 80 por minuto.

Desde 1880 a 1890 la población subió de 5O a 63 millones de habitantes, aun así el censo de 1890 se realizó en dos años y medio gracias a la máquina de Hollerith. Ante las posibilidades comerciales de su máquina, Hollerith dejó las oficinas del censo en 1896 para fundar su propia Compañía, la Tabulating Machine Company. En 1900 había desarrollado una máquina que podía clasificar 300 tarjetas por minuto una perforadora de tarjetas y una máquina de cómputo semiautomática. En 1924 Hollerith fusionó su compañía con otras dos para formar la Internacional Bussines Machines hoy mundialmente conocida como IBM.



                          




Origen del Cálculo

Origen del cálculo El dispositivo de cálculo más antiguo que se conoce es el ábaco. Su nombre viene del griego abakos que significa superficie plana. Se sabe que los griegos empleaban tablas para contar en el siglo V antes de Cristo o tal vez antes. El ábaco tal como lo conocemos actualmente esta constituido por una serie de hilos con cuentas ensartadas en ellos. En nuestro país este tipo de ábaco lo hemos visto todos en las salas de billar.



Esta versión de ábaco se ha utilizado en Oriente Medio y Asia hasta hace relativamente muy poco. A finales de 1946 tuvo lugar en Tokio una competición de cálculo entre un mecanógrafo del departamento financiero del ejército norteamericano y un oficial contable japonés. El primero empleaba una calculadora eléctrica de 700 dólares el segundo un ábaco de 25 centavos. La competición consistía en realizar operaciones matemáticas de suma, resta, multiplicación y división con números de entre 3 y 12 cifras. Salvo en la multiplicación el ábaco triunfó en todas las pruebas incluyendo una final de procesos compuestos. Mecanismo de Antikythera es un artefacto mecánico 
primitivo. Es el primer mecanismo de engranajes conocido. El dispositivo era una computadora astronómica capaz de predecir las posiciones del Sol y de la Luna en el zodíaco, aunque estudios 
posteriores sugieren que el dispositivo era bastante más inteligente.

Simulación en 3D del mecanismo de Antikythera


John Napier (1550-1617, S.XVI) fue un matemático escocés famoso por su invención de los logaritmos, funciones matemáticas que permiten convertir las multiplicaciones en sumas y las divisiones en restas. Napier inventó un dispositivo consistente en unos palillos con números impresos que merced a un ingenioso y complicado mecanismo le permitía realiza operaciones de multiplicación y división.