Historia de la informática

Bienvenidos a conocer un poco sobre la istoria de la informática

jueves, 28 de junio de 2012

La Historia de la informatica

La Historia que Llevó a Construir la Primera Computadora

Por siglos los hombres han tratado de usar fuerzas y artefactos de diferente tipo para realizar sus trabajos, para hacerlos más simples y rápidos. La historia conocida de los artefactos que calculan o computan, se remonta a muchos años antes de Jesucristo.

Dos principios han coexistido con la humanidad en este tema. Uno es usar cosas para contar, ya sea los dedos, piedras, semillas, etc. El otro es colocar esos objetos en posiciones determinadas. Estos principios se reunieron en el ábaco, instrumento que sirve hasta el día de hoy, para realizar complejos cálculos aritméticos con enorme rapidez y precisión.

El Ábaco Quizá fue el primer dispositivo mecánico de contabilidad que existió. Se ha calculado que tuvo su origen hace al menos 5.000 años y su efectividad ha soportado la prueba del tiempo.

Esa necesidad de contar, que no es otra cosa que un término más sencillo y antiguo que computar, llevo al hombre a la creación del primer dispositivo mecánico conocido, diseñado por el hombre para ese fin, surgió la primera computadora el ABACO o SOROBAN.

El ábaco, en la forma en que se conoce actualmente fue inventado en China unos 2.500 años AC, más o menos al mismo tiempo que apareció el sorban, una versión japonesa del ábaco.

En general el ábaco, en diferentes versiones era conocido en todas las civilizaciones de la antigüedad. En China y Japón, su construcción era de alambres paralelos que contenían las cuentas encerrados en un marco, mientras en Roma y Grecia consistía en una tabla con surcos grabados.





A medida que fue avanzando la civilización, la sociedad fue tomando una forma más organizada y avanzada, los dispositivos para contar se desarrollaron, probablemente presionados por la necesidad, y en diferentes países fueron apareciendo nuevos e ingeniosos inventos cuyo destino era calcular.

La pascalina

A pesar de que Pascal fue enaltecido por toda Europa debido a sus logros, la Pascalina, resultó un desconsolador fallo financiero, pues para esos momentos, resultaba más costosa que la labor humana para los cálculos aritméticos.

Gottfried W. von Leibnitz (1646-1717). Fue el siguiente en avanzar en el diseño de una máquina calculadora mecánica. Su artefacto se basó en el principio de la suma repetida y fue construida en 1694. Desarrolló una máquina calculadora automática con capacidad superior a la de Pascal, que permitía no solo sumar y restar, sino también multiplicar, dividir y calcular raíces cuadradas. La de Pascal solo sumaba y restaba. Leibnitz mejoro la máquina de Pascal al añadirle un cilindro escalonado cuyo objetivo era representar los dígitos del 1 al 9. Sin embargo, aunque el merito no le correspondía a él (pues se considera oficialmente que se inventaron más tarde), se sabe que antes de decidirse por el cilindro escalonado Leibnitz consideró la utilización de engranajes con dientes retráctiles y otros mecanismos técnicamente muy avanzados para esa época. Se le acredita el haber comenzado el estudio formal de la lógica, la cual es la base de la programación y de la operación de las computadoras.

La maquina tabuladora

Herman Hollerith Las tarjetas perforadas. Uno de los hitos más importantes en el proceso paulatino del desarrollo de una máquina que pudiera realizar complejos cálculos en forma rápida, que luego llevaría a lo que es hoy la moderna computadora, lo constituyó la introducción de tarjetas perforadas como elemento de tabulación. Este histórico avance se debe a la inventiva de un ingeniero norteamericano de ascendencia alemán: Herman Hollerith. La idea de utilizar tarjetas perforadas realmente no fue de Hollerith, sino de John Shaw Billings, su superior en el Buró del Censo, pero fue Hollerith quien logró poner en práctica la idea que revolucionaría para siempre el cálculo mecanizado. El diseñó un sistema mediante el cual las tarjetas eran perforadas para representar la información del censo. Las tarjetas eran insertadas en la máquina tabuladora y ésta calculaba la información recibida. Hollerith no tomó la idea de las tarjetas perforadas del invento de Jackard, sino de la "fotografía de perforación" Algunas líneas ferroviarias de la época expedían boletos con descripciones físicas del pasajero; los conductores hacían orificios en los boletos que describían el color de cabello, de ojos y la forma de nariz del pasajero. Eso le dio a Hollerith la idea para hacer la fotografía perforada de cada persona que se iba a tabular. Hollertih fundó la Tabulating Machine Company y vendió sus productos en todo el mundo. La demanda de sus máquinas se extendió incluso hasta Rusia. El primer censo llevado a cabo en Rusia en 1897, se registró con el Tabulador de Hollerith. En1911, la Tabulating Machine Company, al unirse con otras Compañías, formó la Computing-Tabulating-Recording-Company.


                                            
Konrad Zuse Nació en Berlín, Alemania, en 1910. EN 1938, Zuse ya había desarrollado una notación binaria que aplicó a los circuitos de rieles electromagnéticos que utilizaría más tarde en su serie de computadoras. El primer modelo construido por Konrad Zuse en 1939, fabricado por completo en la sala de su casa sin ayuda por parte de ninguna agencia gubernamental o privada, era un equipo completamente mecánico.

Modelo Z3

El modelo Z-3 desarrollado a finales de 1941 como una computadora de propósito general, fue parcialmente modificada por Zuse con el objetivo de apoyar el esfuerzo bélico alemán. La nueva versión se denominó Z-4 y se utilizó como elemento de teledirección de una bomba volante desarrollada por la compañía Henschel Aircraft Co., para la Luftwaffe. (Zuse niega que la Z-4 haya sido diseñada para este propósito).

La bomba volante alemana era una especie de avión no tripulado que era transportado por un bombardero. Cuando el piloto del bombardero determinaba el blanco, lanzaba la bomba que era dirigida mediante la Z-4 por la tripulación del bombardero. En sus aplicaciones de diseño, la Z-4 estaba destinada a medir las inexactitudes en las dimensiones de las piezas de los aviones y a calcular la desviación que éstas ocasionarían en la trayectoria de  los aviones que se construyeran con ellas.

En 1944, mientras Zuse trabajaba en la terminación de la Z-4, se enteró de la presentación en

Estados Unidos de la Mark I de Aiken, la primera computadora digital programable norteamericana.


Al finalizar la

guerra, con la caída del régimen nazi, Zuse abandono Berlín llevando consigo todos los elementos de su computadora Z-4 (todos los modelos previos fueron destruidos en los bombardeos a Berlín). Ayudado por un amigo de Wernher von Braun, a quien había conocido en su huida de Berlín, Walter Robert Dornberger, Zuse y von Braun abandonaron Alemania, y Zuse se radicó en la pequeña población Alpina de Suiza, Hinterstein. Allí continúo trabajando en su proyecto, desarrollado su computadora.

En 1947, la Z-4 tenía una capacidad de 16 palabras en la

memoria, en 1949 la capacidad había aumentado hasta 64 palabras y en la década de los 50, la memoria de la Z-4 podía contener 1024 palabras de 32 bits. Además podía multiplicar en un segundo y extraer raiz cuadrada en 5 segundos.

EDVAC

Eletronic Discrete-Variable Automatic Computer, es decir computadora automática electrónica de variable discreta) Desarrollada por Dr. John W. Mauchly, John Presper Eckert Jr. y John

Von HYPERLINK "http://www.monografias.com/trabajos28/arquitectura-von-neumann/arquitectura-von-neumann.shtml"Neumann. Primera computadora en utilizar el concepto de almacenar información.  Podía almacenar datos e instrucciones usando un código especial llamado notación binaria. Los programas almacenados dieron a las computadoras una flexibilidad y confiabilidad tremendas, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos. Una computadora con capacidad de programa almacenado podría ser utilizada para varias aplicaciones cargando y ejecutando el programa apropiado. Hasta este punto, los programas y datos podían ser ingresados en la computadora sólo con la notación binaria, que es el único código que las computadoras "entienden". El siguiente desarrollo importante en el diseño de las computadoras fueron los programas intérpretes, que permitían a las personas comunicarse con las computadoras utilizando medios distintos a los números binarios. En 1952 Grace Murray Hoper una oficial de la Marina de EE.UU., desarrolló el primer compilador, un programa que puede traducir enunciados parecidos al inglés en un código binario comprensible para la maquina llamado COBOL (COmmon Business-Oriented Languaje).

EDSAC (1949) Desarrollada por Maurice Wilkes.  Primera computadora capaz de almacenar programas electrónicamente.

 LA ACE PILOT (1950) Turing tuvo listos en 1946 todos los planos de lo que posteriormente seria conocido como ACE Pilot (Automatic Calculating Engine) que fue presentado públicamente en 1950. La ACE Pilot estuvo considerada por mucho tiempo como la computadora más avanzada del mundo, pudiendo realizar
operaciones tales como suma y multiplicación en cuestión de microsegundos.
 

 UNIVAC I (1951) Desarrollada por Mauchly y Eckert para la Remington-Rand Corporation.  Primera computadora comercial utilizada en las oficinas del censo de los Estados Unidos.  Esta máquina se encuentra actualmente en el "Smithsonian Institute".  En 1952 fue utilizada para predecir la victoria de Dwight D. Eisenhower en las elecciones presidenciales de los Estados Unidos. 

ENIAC

La primera computadora electrónica fue terminada de construir en 1946, por J.P.Eckert y J.W.Mauchly en la Universidad de Pensilvania, U.S.A. y se le llamó ENIAC (Electronic Numerical Integrator And Computer), ó Integrador numérico y calculador electrónico. La ENIAC construida para aplicaciones de la Segunda Guerra mundial, se terminó en 30 meses por un equipo de científicos que trabajaban bajo reloj. La ENIAC, mil veces más veloz que sus predecesoras electromecánicas, irrumpió como un importante descubrimiento en la tecnología de la computación. Pesaba 30 toneladas y ocupaba un espacio de 450 mts cuadrados, llenaba un cuarto de 6 mts x 12 mts y contenía 18.000 bulbos, tenía que programarse manualmente conectándola a 3 tableros que contenían más de 6000 interruptores. Ingresar un nuevo programa era un proceso muy tedioso que requería días o incluso semanas. A diferencia de las computadoras actuales que operan con un sistema binario (0,1) la ENIAC operaba con uno decimal (0, 1,2...9) La ENIAC requería una gran cantidad de electricidad. La ENIAC poseía una capacidad, rapidez y flexibilidad muy superiores a la Mark I. Comenzaba entonces la tenaz competencia en la naciente industria,  IBM desarrolló en 1948 su computadora SSEC (Calculadora Electrónica de Secuencia Selectiva) superior a la ENIAC.

El software

Durante las tres primeras décadas de la

Informática, el principal desafío era el desarrollo del hardware de las computadoras, de forma que se redujera el costo de procesamiento y almacenamiento de datos.

La necesidad de enfoques sistemáticos para el desarrollo y

mantenimiento de productos de software se patentó en la década de 1960. En ésta década aparecieron las computadoras de la tercera generación y se desarrollaron técnicas de programación como la multiprogramación y de tiempo compartido. Y mientras las computadoras estaban haciéndose más complejas, resultó obvio que la demanda por los productos de software creció en mayor cantidad que la capacidad de producir y mantener dicho software. Estas nuevas capacidades aportaron la tecnología necesaria para el establecimiento de sistemas computacionales interactivos, de multiusuario, en línea y en tiempo real; surgiendo nuevas aplicaciones para la computación, como las reservaciones aéreas, bancos de información médica, etc.

Fue hasta el año 1968 que se convocó una reunión en Garmisch, Alemania Oriental estimulándose el

interés hacia los aspectos técnicos y administrativos utilizados en el desarrollo y mantenimiento del software, y fue entonces donde se utilizó el término "Ingeniería del Software".

A lo largo de la década de los ochenta, los avances en microelectrónica han dado como resultado una mayor

potencia de cálculo a la vez que una reducción de costo. Hoy el problema es diferente. El principal desafío es mejorar la calidad y reducir el costo.Las personas encargadas de la elaboración  del software se han enfrentado a problemas muy comunes: unos debido a la exigencia cada vez mayor en la capacidad de resultados del software, debido al permanente cambio de condiciones lo que aumenta su complejidad y obsolescencia; y otros, debido a la carencia de herramientas adecuadas y estándares de tipo organizacional encaminados al mejoramiento de los procesos en el desarrollo del software.

Una necesidad sentida en nuestro medio es el hecho de que los productos de software deben ser desarrollados con base en la implementación de estándares mundiales, modelos , sistemas métricos,

capacitación del recurso humano y otros principios y técnicas de la ingeniería de software que garanticen la producción de software de calidad y competitividad a nivel local e internacional.

Sistema operativo


El

sistema operativo es un conjunto de programas que coordinan el equipo físico de la computadora y supervisan la entrada, la salida, el almacenamiento y las funciones de procesamiento. Incluye comandos internos y externos. Los comandos internos se encuentran en la memoria de la computadora y los comandos externos, generalmente, están en la unidad de disco.  Para usar los comandos externos, se necesitan sus archivos.  

El sistema operativo es una colección de programas diseñados para facilitarle al usuario la creación y manipulación de archivos, la ejecución de programas y la operación de otros

periféricos conectados a la computadora.  Ejemplo de algunos comandos son: abrir un archivo, hacer una copia impresa de lo que hay en la pantalla y copiar un archivo de un disco a otro.

En las décadas de los 70 y 80 la mayor parte de las computadoras utilizaban su propio sistema operativo, o sea, que aquellas aplicaciones creadas para un sistema operativo no se podían usar en otro.  Debido a este problema, los vendedores de sistemas operativos decidieron concentrarse en aquellos sistemas más utilizados. Ellos visualizaron que las dos compañías más grandes de microcomputadoras se unirían para crear mayor compatibilidad y esto es un hecho.

Toda computadora tiene algún tipo de sistema operativo, el cual debe ser activado cuando la computadora se enciende.  Si el sistema operativo está grabado en la ROM o presente en el

disco duro de la computadora, el sistema operativo, generalmente, se activa automáticamente cuando la computadora se enciende.  Si no, se inserta un disco que contenga el sistema operativo para activarlo.

Un sistema operativo provee un programa o rutina para preparar los discos ("formatting a disk"), copiar archivos o presentar un listado del directorio del disco.

El sistema operativo del disco de una computadora

personal de IBM (IBM-PC) es una colección de programas diseñados para crear y manejar archivos, correr programas y utilizar los dispositivos unidos al sistema de la computadora.  Microsoft (compañía de programas) desarrolló PC-DOS para IBM y MS-DOS para IBM compatibles. Los dos sistemas operativos son idénticos.  DOS dicta cómo los programas son ejecutados en IBM y compatibles.

El DOS ("Disk Operating System") es el sistema operativo del disco.  Es el conjunto de instrucciones del programa que mantiene un

registro de las tareas requeridas para la operación de la computadora, o sea, es una colección de programas diseñados para crear y manejar archivos, correr programas y utilizar los dispositivos unidos al sistema de la computadora.  

Entre las tareas que realiza un SO tenemos:

Si es un sistema multitarea: asignar y controlar los

recursos del sistema, definir qué aplicación y en qué orden deben ser ejecutadas.

Manejar la memoria del sistema que comparten las múltiples aplicaciones.

Manejar los sistemas de entrada y salida, incluidos discos duros,

impresoras y todo tipo de puertos.

Envío de mensajes de

estado a las aplicaciones, al administrador de sistema o al propio usuario, sobre cualquier    error o información necesaria para el trabajo estable y uniforme del sistema.

Asume tareas delegadas de las propias aplicaciones, como impresión en background y procesamiento por lotes, con el fin de que éstas ganen en

eficiencia y tiempo.

Administra, de existir, el procesamiento en paralelo. 

Tipos de sistemas operativos


El "Character based": DOS dice si está listo para recibir un comando presentando un símbolo ("prompt") en la pantalla: C:\>. El usuario responde escribiendo una instrucción para ser ejecutada, caracter por caracter mediante el uso del

teclado.    

El "Graphic User Interface": Hace uso de un "

mouse" como un dispositivo de puntero y permite que se apunte a iconos (pequeños símbolos o figuras que representan alguna tarea a realizarse) y oprimir el botón del "mouse" para ejecutar la operación o tarea seleccionada. El usuario puede controlar el sistema operativo seleccionando o manipulando iconos en el monitor.

Ejemplos de sistemas operativos

PC-DOS (Personal Computer DOS)
MS-DOS (Microsoft DOS)
OS/2 (IBM Operating System 2)
DR DOS 5.0 (Digital Research DOS)
UNIX


Linux

Windows para sistemas operativos DOS
Windows NT

Generaciones de sistemas operativos



Los sistemas operativos, al igual que el hardware de las computadoras, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del hardware, las generaciones han sido enmarcadas por grandes avances en los componentes utilizados, pasando de

válvulas (primera generación), a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación). Cada generación sucesiva de hardware ha sido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad.

Generación Cero (Década de 1940)

 Los sistemas operativos han ido evolucionando durante los últimos 40 años a través de un número de distintas fases o generaciones que corresponden a décadas. En 1940, las computadoras electrónicas digitales más nuevas no tenían sistema operativo. Las Máquinas de ese tiempo eran tan primitivas que los programas por lo regular manejaban un bit a la vez en columnas de

switch's mecánicos.

Primera Generación (Década de 1950)

 Los sistemas operativos de los años cincuenta fueron diseñados para hacer más fluída la transmisión entre trabajos. Antes de que los sistemas fueran diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupo o lotes. Cuando el trabajo estaba en ejecución, este tenía control total de la máquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual "limpiaba" y leía e inicia el trabajo siguiente.

Al inicio de los años 50 esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina), puesto que ya no había necesidad de utilizar los tableros enchufables.

La introducción del

transistor a mediados de los años 50 cambió la imagen radicalmente. Se crearon máquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque sólo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podían dar el lujo de tenerlas.

Para

poder correr un trabajo (programa), tenían que escribirlo en papel (en Fortran o en lenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores.

Segunda Generación (A mitad de la década de 1960)

 La característica de la segunda generación de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramación, y los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, y el

procesador se cambia rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la máquina. La independencia de dispositivos aparece después. Un usuario que deseara escribir datos en una cinta en sistemas de la primera generación tenia que hacer referencia específica a una unidad en particular. En los sistemas de la segunda generación, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba, entonces, una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara la cinta en esa unidad.

El surgimiento de un nuevo campo: LA INGENIERÍA DEL SOFTWARE.

Los sistemas operativos desarrollados durante los años 60  tuvieron una enorme conglomeración de software escrito por gente que no entendía el software, también como el hardware, tenía  que ser ingeniero para ser digno de confianza, entendible y mantenible.  

Se desarrollaron sistemas compartidos, en la que los usuarios podían acoplarse directamente con el computador a través de terminales.

Multiprogramación

Sistemas multiprogramados : varios trabajos se conservan en memoria al mismo tiempo, y el

cpu se comparte entre ellos

Rutinas de E/S: provista por el sistema ejecutadas simultáneamente con procesamiento del CPU.

Administración de memoria: el sistema debe reservar memoria para varios trabajos.

Administración del CPU: el sistema debe elegir entre varios trabajos listos para ejecución.

Administración de dispositivos. 

Tercera Generación (Mitad de la década de 1960 a mitad de la década de 1970)

 Se inicia en 1964, con la introducción de

la familia de computadores Sistema/360 de IBM. Los computadores de esta generación fueron diseñados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos. Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación.

Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios.  

Sistemas de Tiempo Compartido

El  CPU se comparte entre varios trabajos que se encuentran residentes en memoria y en el disco (el CPU se asigna a un trabajo solo si éste esta en memoria).

Un trabajo es enviado dentro y fuera del la memoria hacia el disco.

Existe

comunicación en-línea entre el usuario y el sistema; cuando el sistema operativo finaliza la ejecución de un comando, busca el siguiente "estatuto de control" no de una tarjeta perforada, sino del teclado del operador.

Existe un sistema de archivos en línea el cual está disponible para los datos y código de los usuarios 

Cuarta Generación (Mitad de la década de 1970 a nuestros días)

 Los sistemas de la cuarta generación constituyen

el estado actual de la tecnología. Muchos diseñadores y usuarios se sienten aun incómodos, después de sus experiencias con los sistemas operativos de la tercera generación, y se muestran cautelosos antes de comprometerse con sistemas operativos complejos. Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuarios obtienen acceso a computadores alejados geográficamente a través de varios tipos de terminales. El microprocesador ha hecho posible la aparición de la computadora personal, uno de los desarrollos de notables consecuencias sociales más importantes de las últimas décadas.

 

La aplicación de paquetes de software tales como procesadores de palabras, paquetes de

bases de datos y paquetes de gráficos ayudaron a la evolución de la computadora personal. La llave era transferir información entre computadoras en redes de trabajo. El correo electrónico, transferencia de archivos, y aplicaciones de acceso a bases de datos proliferaron. El modelo cliente-servidor fue esparcido. El campo de ingeniería del software continuó evolucionando con una mayor confianza proveniente de los EE.UU.

Mini-computadoras y Microprocesadores

Computadoras de menor tamaño.

Desarrollo de sistemas operativos (

UNIX, DOS, CP/M).

Mejora en las interfaces de usuario.

Introducción de

Microprocesadores.

Desarrollo de lenguajes de programación.

Sistemas de cómputo personales

Computadoras Personales- sistemas de cómputo dedicados a un solo usuario.

Dispositivos de E/S- teclados, ratón, pantalla, impresoras..

Conveniente al usuario y de respuesta rápida.

Puede adaptarse a la tecnología para soportar otros sistemas operativos.

Sistemas Distribuidos

Sistemas Distribuidos: Distribuyen el cómputo entre varios procesadores geográficamente dispersos.