Historia de la Computación
Abaco
Es un instrumento de cálculo que
utiliza cuentas que se deslizan a lo largo de una serie de alambres o barras de
metal o madera fijadas a un marco para representar las unidades, decenas,
centenas, unidades de millar, decenas de millar, centenas de millar, etcétera.
Fue inventado en Asia menor, y es considerado el precursor de la calculadora
digital moderna. Utilizado por mercaderes en la Edad Media a través de toda
Europa y el mundo árabe, fue reemplazado en forma gradual por la aritmética
basada en los números indo-árabes. Aunque poco usado en Europa después del
siglo XVIII, todavía se emplea en Medio Oriente, Rusia, China, Japón y Corea.
¿Cómo se utiliza un ábaco?
Pascalina
La pascalina abultaba algo menos
que una caja de zapatos y era baja y alargada. En su interior, se disponían
unas ruedas dentadas conectadas entre sí, formando una cadena de transmisión,
de modo que, cuando una rueda giraba completamente sobre su eje, hacía avanzar
un grado a la siguiente.
Las ruedas representaban el
«sistema decimal de numeración». Cada rueda constaba de diez pasos, para lo
cual estaba convenientemente marcada con números del 9 al 0. El número total de
ruedas era ocho (seis ruedas para representar los números enteros y dos ruedas
más, en el extremo izquierdo, para los decimales). Con esta disposición «se
podían obtener números entre 0'01 y 999.999'99».
Mediante una manivela se hacía
girar las ruedas dentadas. Para sumar o restar no había más que accionar la
manivela en el sentido apropiado, con lo que las ruedas corrían los pasos
necesarios. Cuando una rueda estaba en el 9 y se sumaba 1, ésta avanzaba hasta
la posición marcada por un cero. En este punto, un gancho hacía avanzar un paso
a la rueda siguiente. De esta manera se realizaba la operación de adición.
No se pueden realizar
directamente las sumas y restas. Las restas utilizan el principio del
«complemento 9». Se realizan tan fácilmente como las sumas y se hacen en
la ventana de complementos. Nada impide realizar multiplicaciones que por
adiciones sucesivas o divisiones por restas sucesivas. En algunas máquinas, se
podían conservar los resultados intermedios. Mediante una manivela se hacía
girar las ruedas dentadas. Para sumar o restar no había más que accionar la
manivela en el sentido apropiado, con lo que las ruedas corrían los pasos
necesarios.
En este video en Ingles se puede
apreciar como se utiliza esta máquina.
La máquina diferencial
La máquina se programa al ajustar los valores iniciales de las columnas. La columna 1 se fija al valor del polinomio al comienzo del cómputo. La columna 2 se fija a un valor derivado de la primera y más alta derivadas del polinomio en el mismo valor de X. Cada una de las columnas entre 3 y N se fija a un valor derivado de (n- 1) y las derivadas más altos del polinomio.
Tiempo en ejecución.
En el diseño de Babbage, una iteración, es decir un conjunto completo de adición y operaciones de acarreo sucede una vez por cada cuatro rotaciones de los ejes de la columna. Las columnas impares y pares ejecutan alternativamente la adición cada dos rotaciones. La secuencia de las operaciones para la columna n es así:- Adición desde la columna n + 1
- Propagación del acarreo
- Adición a la columna n - 1
- Resto
Máquina Analítica.
La máquina analítica es el diseño de un computador moderno de uso general realizado por el profesor británico de matemáticas Charles Babbage, que representó un paso importante en la historia de la computación. Fue inicialmente descrita en 1816, aunque Babbage continuó refinando el diseño hasta su muerte en 1871. La máquina no pudo construirse debido a razones de índole política pues hubo detractores por un posible uso de la máquina para fines bélicos. Computadores que fueran lógicamente comparables a la máquina analítica sólo pudieron construirse 100 años más tarde.
La máquina analítica debía funcionar con un motor a vapor y habría tenido 30 metros de largo por 10 de ancho. Para la entrada de datos y programas había pensado utilizar tarjetas perforadas, que era un mecanismo ya utilizado en la época para dirigir diversos equipos mecánicos. La salida debía producirse por una impresora, un equipo de dibujo y una campana. La máquina debía también perforar tarjetas que podrían ser leídas posteriormente. La máquina analítica trabajaba con una aritmética de coma fija en base 10 y poseía una memoria capaz de almacenar 1.000 números de 50 dígitos cada uno. Una unidad aritmética estaría encargada de realizar las operaciones aritméticas.
El lenguaje de programación que sería utilizado era similar a los actuales lenguajes ensambladores. Era posible realizar bucles y condicionales de manera que el lenguaje propuesto habría sido Turing-completo. Se utilizaban tres tipos diferentes de tarjetas perforadas: una para operaciones aritméticas, una para constantes numéricas y otra para operaciones de almacenamiento y recuperación de datos de la memoria, y la transferencia de datos entre la unidad aritmética y la memoria. Se disponía de tres lectores diferentes para los tres tipos de tarjetas.
Lenguaje de programación ADA.
El lenguaje fue diseñado bajo encargo del Departamento de Defensa de los Estados Unidos (DoD). Durante los años 1970, este departamento tenía proyectos en una infinidad de lenguajes y estaba gastando mucho dinero en software. Para solucionarlo se buscó un lenguaje único que cumpliese unas ciertas normas recogidas en el documento Steelman. Después de un estudio de los lenguajes existentes en la época se decidió que ninguno las cumplía totalmente, por lo que se hizo un concurso público, seleccionandose la propuesta Verde diseñada por Jean Ichbiah de CII Honeywell Bull, y se le dio el nombre de Ada. Esta propuesta era un sucesor de un lenguaje anterior de este equipo llamado LIS y desarrollado durante los años 1970.- La sintaxis, inspirada en Pascal, es bastante legible incluso para personas que no conozcan el lenguaje. Es un lenguaje que no escatima en la longitud de las palabras clave, en la filosofía de que un programa se escribe una vez, se modifica decenas de veces y se lee miles de veces (legibilidad es más importante que rapidez de escritura).
- Es indiferente el uso de mayúsculas y minúsculas en los identificadores y palabras claves, es decir es un lenguaje case-insensitive.
- En Ada, todo el programa es un único procedimiento, que puede contener subprogramas (procedimientos o funciones).
- Cada sentencia se cierra con end qué_cerramos. Es un modo de evitar errores y facilitar la lectura. No es necesario hacerlo en el caso de subprogramas, aunque todos los manuales lo aconsejan y casi todos los programadores de Ada lo hacen.
- El operador de asignación es :=, el de igualdad =. A los programadores de C y similares les puede confundir este rasgo inspirado en Pascal.
- La sintaxis de atributos predefinidos es Objeto'Atributo (o Tipo'Atributo) (nota: esto sólo aplica a atributos predefinidos por el lenguaje, ya que no es el concepto de atributo típico de OOP).
- Se distingue entre "procedimientos" (subrutinas que no devuelven ningún valor pero pueden modificar sus parámetros) y "funciones" (subrutinas que devuelven un valor y no modifican los parámetros). Muchos lenguajes de programación no hacen esta distinción. Las funciones de Ada favorecen la seguridad al reducir los posibles efectos colaterales, pues no pueden tener parámetros in out.
La primera generación de computadores (1939-1958).
Tubos al vacío
Es un componente electrónico utilizado para amplificar, conmutar, o modificar una señal eléctrica mediante el control del movimiento de los electrones en un espacio "vacío" a muy baja presión, o en presencia de gases especialmente seleccionados. La válvula originaria fue el componente crítico que posibilitó el desarrollo de la electrónica durante la primera mitad del siglo XX, incluyendo la expansión y comercialización de la radiodifusión, televisión, radar, audio, redes telefónicas, computadoras analógicas y digitales, control industrial, etc. Algunas de estas aplicaciones son anteriores a la válvula, pero vivieron un crecimiento explosivo gracias a ella.A lo largo de su historia, fueron introducidos muchísimos tipos de válvulas, pero los principios de funcionamiento básicos son:
- Efecto Edison. La gran mayoría de las válvulas electrónicas están basadas en la propiedad que tienen los metales en caliente de liberar electrones desde su superficie.
- Gases ionizados. En otros casos, se utilizan las características de la conducción electrónica en gases ionizados, esto resulta principalmente importante en los reguladores de tensión, rectificadores de vapor de mercurio, válvula de conmutación T/R, etc.
- Efecto fotoeléctrico En otros casos, el principio de funcionamiento se basa en la emisión de electrones por el efecto fotoeléctrico.
Lenguaje de Maquína.
Es un código que es interpretado directamente por el microprocesador. El lenguaje está compuesto por un conjunto de instrucciones ejecutadas en secuencia (con eventuales cambios de flujo causados por el propio programa o eventos externos) que representan acciones que la máquina podrá tomar.
Un lenguaje máquina es específico de cada arquitectura de computadora.
Todo código fuente en última instancia debe llevarse a un lenguaje máquina mediante el proceso de compilación o interpretación para que la computadora pueda ejecutarlo.
Las primeras computadoras.
(1946) ENIAC.
Primera computadora digital electrónica en la historia. No fue un modelo de producción, sino una máquina experimental. Tampoco era programable en el sentido actual. Se trataba de un enorme aparato que ocupaba todo un sótano en la universidad. Construida con 18.000 tubos de vacío, consumía varios KW de potencia eléctrica y pesaba algunas toneladas. Era capaz de efectuar cinco mil sumas por segundo. Fue hecha por un equipo de ingenieros y científicos encabezados por los doctores John W. Mauchly y J. Presper Eckert en la universidad de Pensilvania, en los Estados Unidos.
(1949) EDVAC.
Segunda computadora programable. También fue un prototipo de laboratorio, pero ya incluía en su diseño las ideas centrales que conforman las computadoras actuales. Incorporaba las ideas del doctor Alex Quimis.
(1951) UNIVAC I.
Primera computadora comercial. Los doctores Mauchly y Eckert fundaron la compañía Universal Computer (Univac), y su primer producto fue esta máquina. El primer cliente fue la Oficina del Censo de Estados Unidos.
(1953) IBM 701.
Para introducir los datos, estos equipos empleaban tarjetas perforadas, que habían sido inventadas en los años de la revolución industrial (finales del siglo XVIII) por el francés Joseph Marie Jacquard y perfeccionadas por el estadounidense Herman Hollerith en 1890. La IBM 701 fue la primera de una larga serie de computadoras de esta compañía, que luego se convertiría en la número uno, por su volumen de ventas.
Cabe recordar que ninguna de estas computadoras contaba con un sistema operativo, se accedía directamente a la consola de la computadora desde la cual se
actuaba sobre una serie de micro interruptores que permitían introducir
directamente el programa en la memoria de la computadora.
La segunda generación de computadores (1959-1964).
Transistores.
Dispositivo compuesto de un material semiconductor que amplifica una señal o abre o cierra un circuito. Inventado en 1947 en Bell Labs, los transistores se han vuelto el principal componente de todos los circuitos digitales, incluidas las computadoras. En la actualidad los microprocesadores contienen millones de transistores microscópicos.
Los transistores cumplen las fuciones de amplificador, oscilador, conmutador o rectificador.
El transistor bipolar fue inventado en los laboratorios Bell de EEUU en diciembre de 1947 por John Bardeen, Walter Houser Brattain y William Bradford Shockley (recibieron el Premio Nobel de Física en 1956).
El transistor bipolar está constituido por un sustrato (usualmente silicio) y tres partes dopadas artificialmente que forman dos uniones bipolares, el emisor que emite portadores, el colector que los recibe o recolecta y la tercera, que está intercalada entre las dos primeras, modula el paso de dichos portadores (base). A diferencia de las válvulas, el transistor es un dispositivo controlado por corriente y del que se obtiene corriente amplificada. En el diseño de circuitos a los transistores se les considera un elemento activo, a diferencia de los resistores, capacitores e inductores que son elementos pasivos. Su funcionamiento sólo puede explicarse mediante mecánica cuántica.
Lenguaje de Programación.
El lenguaje utilizado para programar estas computadoras era de alto nivel y se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas.En los primeros lenguajes de nivel bajo la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de nivel bajo es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
Principales lenguajes de programación de nivel alto.
- VB.NET
- Ada
- ALGOL
- BASIC
- C Sharp
- FORTRAN
- Java
- Lisp
- Modula-2
- Pascal
- Perl
- PHP
- PL/1
- PL/SQL
- Python
- Ruby
- Matlab
Circuito Integrado.
Un circuito integrado (CI), también conocido como chip o microchip, es una pastilla pequeña de material semiconductor, de algunos milímetros cuadrados de área, sobre la que se fabrican circuitos electrónicos generalmente mediante fotolitografía y que está protegida dentro de un encapsulado de plástico o cerámica. El encapsulado posee conductores metálicos apropiados para hacer conexión entre la pastilla y un circuito impreso.Sistema Operativo.
A principios de los años 50 con el objeto de facilitar la interacción entre persona y computadora, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.Monitor residente
Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyéndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente.
Procesamiento por lotes
Como solución para optimizar, en una misma cinta o conjunto de tarjetas, se cargaban varios programas, de forma que se ejecutaran uno a continuación de otro sin perder apenas tiempo en la transición.
Almacenamiento temporal
Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultánea la carga del programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering y el spooling.
La tercera generación de computadores (1965-1971).
Caracteristicas.
- Menor consumo de energía
- Apreciable reducción del espacio
- Aumento de fiabilidad y flexibilidad
- Teleproceso
- Multiprogramación
- Renovación de periféricos
- Minicomputadoras, no tan costosas y con gran capacidad de procesamiento. Algunas de las más populares fueron la PDP-8 y la PDP-11
- Se calculó π (Número Pi) con 500 mil decimales
Disco Flexible o Disquete.
Es un medio de almacenamiento o soporte de almacenamiento de datos formado por una pieza circular de material magnético, fina y flexible (de ahí su denominación) encerrada en una cubierta de plástico, cuadrada o rectangular, que se puede utilizar en una computadora.
Los disquetes se leen y se escriben mediante un dispositivo llamado disquetera (o FDD, del inglés Floppy Disk Drive). Los disquetes de 3¼" son menores que el CD, tanto en tamaño como en capacidad. La disquetera es el dispositivo o unidad lectora/grabadora de disquetes, y ayuda a introducirlo para guardar la información.Este tipo de dispositivo de almacenamiento es vulnerable a la suciedad y los campos magnéticos externos, por lo que, en muchos casos, deja de funcionar con el tiempo.
Sistema Operativo.
En los años 60 se produjeron cambios notorios en varios campos de la informática, con la aparición del circuito integrado la mayoría orientados a seguir incrementando el potencial de los ordenadores. Para ello se utilizaban técnicas de lo más diversas.Multiprogramación
En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles.
Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones.
Multiprocesador
Diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultáneamente y, potencialmente, pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria. Esta última debe lidiar con el problema de la coherencia de caché. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una dirección de memoria, lo hace únicamente sobre su copia local en caché. Si otro microprocesador tiene almacenada la misma dirección de memoria en su caché, resultará que trabaja con una copia obsoleta del dato almacenado.
La cuarta generación de computadores (1972-1981).
Microprocesadores.
El primer microprocesador de 8 bits fue el Intel 8008, desarrollado en 1972 para su empleo en terminales informáticos. El Intel 8008 contenía 3.300 transistores. El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4.500 transistores y podía ejecutar 200.000 instrucciones por segundo. Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores.Entre ellos figuran el Intel Pentium Pro, con 5,5 millones de transistores; el UltraSparc-II, de Sun Microsystems, que contiene 5,4 millones de transistores; el PowerPC 620, desarrollado conjuntamente por Apple, IBM y Motorola, con 7 millones de transistores, y el Alpha 21164A, de Digital Equipment Corporation, con 9,3 millones de transistores. El Microprocesador, es un circuito electrónico que actúa como unidad central de proceso de un ordenador, proporcionando el control de las operaciones de cálculo.
Sistema Operativo.
Los años 1970 marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T y Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel.Inconvenientes de los Sistemas operativos
Se trataba de sistemas grandes, complejos y costosos, pues antes no se había construido nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y mucho después de lo que se marcaba como fecha de finalización. Además, aunque formaban una capa entre el hardware y el usuario, éste debía conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, así como el tiempo de procesador consumido. Es por esto que se intentó hacer hincapié en mejorar las técnicas ya existentes de multiprogramación y tiempo compartido.Características de los nuevos sistemas
Sistemas operativos desarrollados
- MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell, que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después fue soportado por la serie de máquinas Honeywell 6180.
- BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.
- CP/M: (Control Program for Microcomputers) fue un sistema operativo desarrollado por Gary Kildall para el microprocesador Intel 8080 (los Intel 8085 y Zilog Z80 podían ejecutar directamente el código del 8080, aunque lo normal era que se entregara el código recompilado para el microprocesador de la máquina). Se trataba del sistema operativo más popular entre las computadoras personales en los años 70. Aunque fue modificado para ejecutarse en un IBM PC, el hecho que IBM eligiera MS-DOS, al fracasar las negociaciones con Digital Research, hizo que el uso de CP/M disminuyera hasta hacerlo desaparecer. CP/M originalmente significaba Control Program/Monitor. Más tarde fue renombrado a Control Program for Microcomputers. En la época, la barra inclinada (/) tenía el significado de "diseñado para". No obstante, Gary Kildall redefinió el significado del acrónimo poco después. CP/M se convirtió en un estándar de industria para los primeros micro-ordenadores.
La quinta generación de computadores (1982-1999).
Surge la PC tal cual como la conocemos en la actualidad. IBM presenta su primera computadora personal y revoluciona el sector informativo. 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 con que se manejan las computadoras.
Sistema Operativos.
Surgen los sistemas operativos tal como los conocemso ahora:Clickeando cada respectivo sistema operativo se podra acceder a mas información de cada uno.
En el siguiente video se puede ver como ha evolucionado los computadores.
PPT- Historia de la Computación.
Click para descargar
No hay comentarios:
Publicar un comentario