INTRODUCCIÓN Los alcances que se logran en la informática dependen de la capacidad de compresión y disponibilidad que tengan las personas que desean conocer este mundo. Así podemos conocer y manejar las nuevas tecnologías que vienen apareciendo día a día. Para tener una mejor compresión de la informática primero habrá que conocer su historia, las evoluciones que han tenido y las generaciones que han transcurrido. Los computadores hoy en día tienen una gran cobertura y la encontramos de diferentes tamaños; grandes para múltiples operaciones en grandes empresas y pequeñas, personales para el manejo individual de las personas o empresas pequeñas los cuales se están extendiendo en todas partes con gran rapidez y también por las facilidades que dan las empresas productoras para conseguirlos. EVOLUCIÓN HISTÓRICA La informática es una ciencia que se ha tratado como tal desde hace pocos años; a ella se asocian una serie de hechos y descubrimientos anteriores que han servido para que hoy en día sea una de las ciencias a la que el hombre le está dedicando mayor atención e importancia. El nacimiento de la informática está relacionado con la necesidad que ha sentido el hombre de disponer de un sistema que le permita manejar gran cantidad de información con relativa rapidez así como de efectuar cálculos a gran velocidad y de un modo mecánico que le libere de las penosas tareas asociadas con estas actividades. La palabra calculo tiene sus orígenes en el término latino calculus. Se utilizaba hace miles de años para denominar a unas pequeñas piedras que por medio de unas ranuras efectuadas en el suelo se usaban para contar. Esta especie de ábaco ha sido descubierto recientemente en excavaciones arqueológicas. En la historia de la humanidad el ábaco fue la primera herramienta de cálculo diseñada y construida por el hombre para ese propósito específico que le ayudó, de forma significativa, en la tarea de realización de operaciones matemáticas. A partir de este elemento de cálculo, aparecieron en diversos lugares otros elementos similares, denominados comúnmente como ábaco del griego "abakos" (superficie plana), marcos dotados de guías metálicas por las que se mueven tuercas ensartadas en ellas cuyas posiciones permiten realizar operaciones aritméticas sencillas con rapidez, el más antiguo se remonta aproximadamente al año 3500 a. C. en el Valle entre el Tigris y el Eufrates. Más tarde y hacia el año 2600 a. C. apareció el ábaco chino, que evoluciono rápidamente y se denominó finalmente Suan−Pan. De forma similar apareció en Japón el Soroban. En Sudamérica también existieron herramientas que pudieran tener una utilización similar, como el Quipus de los Incas. El material con el que se realizaron los ábacos podía variar según la zona del planeta, ya que mientras en Oriente y Europa se construían en maderas o materiales similares, en Sudamérica se realizaban con hilos y fibras anudadas. El ábaco constituyó el primer dispositivo manual de cálculo; servía para representar números en el sistema decimal y realizar operaciones con ellos. 1 El ábaco es un instrumento formado por una serie de tablillas en forma de marco en cuyo interior existen unas varillas en las cuales se insertan unas bolas; estas bolas tienen libertad de movimiento dentro de las varillas, siendo este movimiento el que permite realizar las operaciones. Cada varilla tiene un valor (unidades, decenas, centenas, etc.) siendo el número de varillas lo que proporciona el valor total de cálculo del aparato. Una vez representado el valor con las bolitas correspondientes se acumulan o retiran dígito a dígito el valor del número a acumular o detraer. En caso de que se lleguen a acumular diez bolitas en una varilla, éstas se vuelven a colocar en su posición original y se añade una bolita a la siguiente varilla. Aunque en un primer momento el manejo del ábaco pueda parecer un procedimiento engorroso, las personas que tienen práctica en su manejo pueden realizar las operaciones de adición y substracción muy rápidamente, llegándose a dar casos en los que personas de gran pericia han conseguido realizar estos cálculos con una velocidad similar o incluso superior a la de las calculadoras mecánicas. El ábaco supuso un gran avance para el cálculo y las matemáticas en general. Aunque, posiblemente, su origen fuera como una herramienta con una clara función comercial, su utilización matemática permitía descargar en una gran parte al cerebro humano de las tediosas operaciones matemáticas dejándole más tiempo libre para ocuparse de temas que no era posible solucionar de forma automática. Estos dispositivos rudimentarios de cálculo todavía se emplean en la actualidad en algunos lugares de Asia. Por aquellos años apareció un sistema indoarábigo del que surgió el sistema decimal. Sin embargo, los antecedentes de los ordenadores son sin duda los mecanismos para la resolución de dichos problemas creados en épocas posteriores. A finales del siglo XVI, el matemático escocés JOHN NAPIER (1550−1617), inventor de los logaritmos naturales, ideó un dispositivo, basado en palillos que contenían números, capaz de multiplicar y dividir de forma automática. También ideó un calcular con tarjetas que permitía multiplicar y que tomó el nombre de Estructuras de NAPIER. Sobre el año 1623, WILHELM SCHICKARD construyó una calculadora mecánica basada en ruedas dentadas capaz de multiplicar y que no se ha conocido hasta 1957. Estas primeras máquinas que multiplicaban, lo hacían por medio del método de sumas sucesivas. Pocos años después, BLAISE PASCAL (1623−1662), matemático y filósofo francés, inventó en el año 1642 la primera máquina de calcular a base de ruedas dentadas que simulaba el funcionamiento del ábaco, cada una de dichas ruedas tenía diez dientes que correspondían a los números del 9 al 0, siendo el sistema de tal tipo que el paso de nueve a cero daba lugar a un salto de la rueda inmediatamente continuaba por el lado izquierdo. Esta máquina realizaba operaciones de suma y resta mostrando el resultado por una serie de ventanillas. En un principio se denominó Pascalina, que eran semejantes a los dispositivos mecánicos que se emplean en la actualidad en los cuentakilómetros de los vehículos, aunque posteriormente se llamó la Máquina aritmética de Pascal. Pascal llegó a introducir en versiones posteriores mejoradas un elemento de memoria mecánico que permitía acumular resultados parciales durante las operaciones. En 1650, PATRIDGE, basándose en los descubrimientos de NAPIER, invento la regla de cálculo, pequeña regla deslizante sobre una base fija en las que figuraban diversas escalas para la realización de determinadas operaciones. Este dispositivo de cálculo ha sido muy utilizado hasta los años setenta en que las calculadoras electrónicas fueron su mejor sustituto. Paralelamente a Pascal, en 1666, el matemático inglés SAMUEL MORLAND inventó otra máquina mecánica que realizaba operaciones de suma y resta y se llamó Máquina aritmética de MORLAND. 2 Pocos años después, en 1672, el matemático alemán GOTTFRIED WOLHELM VON LEIBNITZ (1646−1716) mejoró la máquina de Pascal obteniendo la Calculadora universal que sumaba, restaba, multiplicaba, dividía y extraía raíces cuadradas. En 1779, MATTIEU HAHN diseñó y construyó una máquina de calcular capaz de realizar sumas, restas, multiplicaciones y divisiones. Ya en el siglo XIX y en el año 1801, JOSEPH MARIE JACKUARD (1752−1834) construyó un telar automático con entrada de datos por tarjetas perforadas para controlar la confección de los tejidos y sus dibujos. Podemos considerarla como la primera máquina mecánica programada. En el año 1822, CHARLES BABBAGE (1792−1871), matemático inglés y profesor de la Universidad de Cambridge, diseño su Máquina de diferencias con fundamentos mecánicos, basados en ruedas dentadas, para la resolución de funciones y obtención de tablas de dichas funciones, capaz de calcular polinomios de sexto grado y tabular mecánicamente hasta 20 cifras y 8 decimales. Debido a las deficiencias tecnológicas de la época, esta máquina no llegó a fabricarse. En 1833 BABBAGE diseño su Máquina analítica, similar a la computadora actual, pues disponía de programa, memoria, unidad de control, periféricos de entrada y periféricos de salida. La idea de su construcción surgió de la necesidad de realizar automáticamente tablas de logaritmos y funciones trigonométricas. Esta máquina −por los mismos motivos que su predecesora, la Máquina de diferencias− no llegó a construirse. Debido a este diseño, BABBAGE es considerado el Padre de la Informática. La máquina analítica se componía de: Un subsistema de entrada/salida de la información a procesar en la máquina. La entrada/salida de la información se basaba en las tarjetas perforadas de Jacquard. Un mecanismo de cálculo que servía para realizar las operaciones solicitadas. Una «memoria» que permitía almacenar números para su posterior manipulación. El mecanismo que utilizaba la máquina era totalmente mecánico y éste era controlado por las órdenes que suministraban las tarjetas perforadas anteriormente indicadas. El diseño de la máquina de Babbage era muy completo ya que en caso de haber sido construida hubiera sido capaz de realizar cualquier operación matemática pudiendo haberse desarrollado hasta conseguir realizar operaciones lógicas como posteriormente se ha visto en los actuales sistemas informáticos. En 1842 L. F. MENABREA escribió en italiano un artículo sobre la Máquina analítica de BABBAGE que posteriormente fue traducido al inglés por Augusta Ada Byron condesa de Lovelace, quien introdujo innovaciones importantes en el artículo. En éste existían determinados aspectos de aritmética binaria que fueron utilizados con posterioridad por JOHN VON NEUMANN. También Augusta Ada es considerada la primera programadora de computadoras por su trabajo en la prueba de la Máquina analítica de BABBAGE. En 1854, GEORGE PELIR SCHEUTZ, ingeniero sueco, llevó a la práctica un modelo de la Máquina de diferencias de BABBAGE que funcionó con bastante éxito en la realización de tablas. También en 1854, GEORGE BOOLE, matemático inglés, desarrollo la teoría del Algebra de Boole que permitió a sus sucesores la representación de circuitos de conmutación y el desarrollo de la llamada Teoría de los circuitos lógicos. 3 Sobre el año 1885, HERMAN HOLLERITH (1860−1929), funcionario de la Oficina del Censo de los Estados Unidos, vio cómo se tardaban 10 años en realizar el censo anual de su país y observo que la mayoría de las preguntas del censo como respuesta sí o no, lo que le hizo idear en 1886 una tarjeta perforada para contener la información de las personas censadas y una máquina capaz de leer y tabular dicha información. Construyó su Máquina censadora o Tabuladora que fue capaz de reducir el trabajo manual a la tercera parte, con lo que se tardó en realizar el censo de 1890 tan sólo tres años perforándose un total de 56 millones de tarjetas. En 1895, HOLLERITH incluyó en su máquina la operación de sumar con el fin de utilizarla para la contabilidad de los Ferrocarriles Centrales de Nueva York. Esto constituyó el primer intento de realización automática de una aplicación comercial. En 1896, HOLLERITH fundó la empresa Tabulating Machines Company la cual se fusionó con otras empresas en 1924 para constituir la actual Internacional Business Machines (IBM), cuyo primer presidente fue Thomas J. Watson (padre), el cual no estaba muy convencido del futuro que podía tener estas máquinas, idea que no fue compartida por sus sucesores, entre los que podemos citar a su hijo Thomas Watson. En 1887, el francés LEON BOLLEE construyó su máquina de multiplicar en la que esta operación se hacía directamente sin utilizar el procedimiento de sumas sucesivas. También a finales del siglo XIX, un español residente en los Estados Unidos, RAMÓN VEREA construyó una máquina. Similar a la de BOLLEE, que realizaba la multiplicación de forma directa. En 1893, el suizo OTTO STEIGER, construyó la primera calculadora que tuvo éxito comercial, llamada La millonaria, que se utilizó para los grandes negocios y en algunas aplicaciones de cálculos científicos. A principios del siglo XX, en 1910, JAMES POWER diseño nuevas máquinas censadoras siguiendo la idea de HOLLERITH. El segundo español que introdujo sus estudios y trabajos en la historia de las máquinas automáticas fue LEONARDO TORRES QUEVEDO, que, en 1914, construyó una máquina que simulaba determinados movimientos de las piezas de ajedrez. En 1936, ALAN M. TURING (1912−1954), matemático inglés, desarrolló la teoría de una máquina capaz de resolver todo tipo de problemas, llegando a la construcción teórica de las máquinas de TURING. Una máquina de TURING es una forma de representar un proceso a partir de su descripción. Con los estudios de TURING, se inició la Teoría matemática de la computación, en la que define un algoritmo como la representación formal y sistemática de un proceso, y en ella se demuestra que no todos los procesos son representables. Luego quedó demostrada la existencia de problemas sin solución algorítmica y se llegó a la siguiente conclusión: Un problema tiene solución algorítmica si existe una máquina de TURING para representarlo. De estos estudios surgió la Teoría de la computabilidad, que engloba el conjunto de estudios encaminados a encontrar formas de descripción y representación de procesos o algoritmos. En 1937, HOWARD H. AIKEN, de la Universidad de Hardvard, desarrolla la idea de BABBAGE junto con científicos de su departamento e ingenieros de IBM. Como resultado de este desarrollo, construyeron la primera computadora electromecánica basada en relés, ruedas dentadas, embragues electromecánicos, etc., denominada Calculadora Automática de Secuencia Controlada (Automatic Sequence Controlled Calculator ASCC), y que se llamó MARK−I. 4 La MARK−I se terminó de construir en 1944 y tenía elementos de entrada, memoria principal, unidad aritmética, unidad de control y elementos de salida. Utilizaba como entrada tarjetas perforadas y cinta perforada, por donde se llevaba a cabo su programación. Esta máquina fue la primera computadora electromecánica que se construyó y que funcionó, aunque se utilizó poco tiempo, pues la aparición de las computadoras electrónicas hizo que las de este tipo cayeran rápidamente en desuso. Tenía 17 m de largo por 2 m de alto, pesaba unas 70 tn, estaba constituida por 700,000 piezas móviles y su cableado tenía una longitud de 800,000 m, disponía de una capacidad de memoria de 72 números. Sumaba dos números en menos de un segundo y los multiplicaba en seis segundos. Trabajaba con 23 dígitos decimales, dicha instalación funcionó desde 1944 hasta 1959. En 1938, CLAUDE SHANONN comenzó en Alemania a aplicar la teoría del Algebra de BOOLE en la representación de circuitos lógicos y realizó diversos estudios sobre la Teoría de la Información. En 1940, JOHN W. MAUCHLY y J. PRESPER ECKERT Jr. , Junto con científicos de la Universidad de Pensylvania, construyeron en la Escuela Moore de Ingeniería Electrónica, la primera computadora electrónica, denominada ENIAC (Electronic Numerial Integrator and Calculator), que entró en funcionamiento en 1945. Fue un proyecto del Ejército de los Estados Unidos para el cálculo de la trayectoria de proyectiles por medio de tablas. Era 1,000 veces más rápida que la MARK−I y realizaba la suma de dos números en 0,0002 segundos, multiplicándolos en 0,003 segundos. Tenía un volumen de 111 metros cúbicos, interruptores y un consumo entre 100,000 y 200,000 vatios. Este último dato hacía que al conectarse la ENIAC, las luces de Filadelfia sufrieran un gran descenso en su iluminación además el equipo necesitaba ventilación y su mantenimiento era elevado, sobre todo debido a las válvulas, sus dimensiones eran tales que se encontraba albergado en un edificio expresamente construido para tal fin. Su construcción costo aproximadamente unos 2 millones de dólares; la programación del ENIAC se llevaba a cabo mediante el establecimiento de conexiones entre cables eléctricos y el accionamiento de gran cantidad de interruptores. En 1942, JOHN VICENT ATANASOFF, profesor de la Iowa State University junto con su colaborador CLIFFORD BERRY, ambos participantes en el proyecto ENIAC, construyeron una máquina electrónica que operaba en binario siguiendo la idea de BABBAGE. Esta máquina, denominada ABC (Atanasoff Berry Computer), fue considerada como la primera computadora digital, aunque no tuvo éxito en su país. En 1944, el doctor JOHN VON NEUMANN, ingeniero y matemático húngaro naturalizado norteamericano, desarrolla la idea de programa interno y describe el fundamento teórico de construcción de una computadora electrónica denominada Modelo de VON NEUMANN. La idea de VON NEUMANN era la coexistencia en el tiempo de datos e instrucciones en la computadora y la posibilidad de ser programados, no estando las órdenes cableadas. Publicó el artículo «Teoría y técnica de las Computadoras Electrónicas», que fue un intento de diseño de una computadora desde el punto de vista lógico. En 1952 se realizó esta computadora, que se denominó EDVAC (Electronic Discrete Variable Automatic Computer), y fue una modificación de la ENIAC. Utilizaba líneas de demora acústica de mercurio por donde circulaban señales eléctricas sujetas a retardo. En 1951, MAUCHLY construye la primera computadora de serie puesta a la venta, ésta fue la UNIVAC−I (Computadora Automática Universal), utilizando cintas magnéticas. En 1952, se construyen las computadoras MANIAC−I, MANIAC−II y el UNIVAC−II (esta última con memoria de núcleos de ferrita) y con ellas se acaba la prehistoria de la informática. Desde que en 1951 surgiera el UNIVAC−I, como la primera computadora comercial, hasta nuestros días en que existen multitud de modelos cada vez más potentes, baratos y pequeños, casi todas las transformaciones 5 ha sido causadas por descubrimientos o avances en el campo de la electrónica. Todo comenzó con la válvula de vacío y la construcción de dispositivos lógicos biestables. Un biestable es un dispositivo capaz de tener dos estados estables y poseer la propiedad de conmutar de uno a otro cuando así le sea ordenado. Los progresos en la física del estado sólido han sido los que han producido la gran evolución en la industria de los computadores. Estos progresos, se pueden esquematizar de la siguiente forma: * En 1904 el inglés FLEMING inventó la válvula de vacío, que se utilizó como elemento de control y para conformar dispositivos biestables. * En los años cincuenta y con el descubrimiento de los semiconductores aparecieron el diodo y el transistor, éste último inventado por WALTER BRATTAIN y JOHN BARDEN en los laboratorios BELL en 1947, sustituyó a la válvula permitiendo la reducción de los circuitos en tamaño y aumentando la fiabilidad de los equipos debido a sus mejores características. * Basándose en el transistor, se construyeron circuitos capaces de realizar funciones lógicas, con lo que surgieron las puertas lógicas y sus circuitos derivados. * Años después, comenzó la miniaturización con la construcción de los circuitos integrados, que consistían en tratamientos físicos−químicos sobre una película de silicio, permiten configurar diferentes circuitos de puertas lógicas. Con este elemento empezó la ciencia del diseño lógico de circuitos a baja escala de integración SSI (Short Scale Integration) que permitía introducir en cada circuito alrededor de 10 puertas lógicas. * Apareció la integración a media escala MSI (Medium Scale Integration) en la que se integraban en una sola pastilla de circuito integrado entre 100 y 1,000 puertas lógicas. * Años después, se consiguió introducir en un mismo circuito entre 1,000 y 10,000 puertas con lo que se pasó a la integración a gran escala LSI (Long Scale Integration). * Cuando se superaron las 10,000 puertas por circuito se pasó a la muy gran escala de integración VLSI (Very Long Scale Integration). * En 1971 apareció el microprocesador, en el que se consiguió implementar toda la UCP de una computadora en un solo elemento integrado. GENERACIONES DE COMPUTADORAS Los cambios tecnológicos producidos, han provocado una clasificación de los computadores en generaciones: PRIMERA GENERACIÓN (1940−1952) La constituyen todas aquellas computadoras construidas a base de válvulas de vacío y cuyo uso fundamental fue la realización de aplicaciones en los campos científico y militar. Utilizaban como lenguaje de programación el lenguaje máquina y como únicas memorias para conservar información las tarjetas perforadas y las líneas de demora de mercurio. Estas maquinas eran capaces de realizar hasta 1,000 instrucciones por segundo; disponían asimismo de una capacidad de memoria que podía llegar hasta las 20,000 posiciones. 6 Las válvulas de vacío surgieron a principios del siglo XX, cuando en 1907 Lee De Forest inventó la primera válvula electrónica (tríodo) al intentar perfeccionar los receptores telegráficos existentes en la época. La posibilidad de la válvula electrónica de asumir dos estados posibles fue la base fundamental sobre la que se implantó el código binario (0,1) y las modernas computadoras digitales. El mantenimiento, no obstante, era muy arduo, ya que se debían controlar todas las válvulas para evitar que una parte de la computadora quedara inutilizada, las mejores prestaciones que se consiguieron fueron alrededor de dos o tres días sin que se fundiera ninguna válvula. El que se fundiera una válvula significaba que debía pararse la máquina, localizar la avería, resolverla y, posteriormente, realizar el arranque. El arranque implicaba un calentamiento previo de los filamentos de las válvulas, hay que recordar que las antiguas radios y televisiones que funcionaban con esa tecnología tardaban unos momentos en «calentarse» antes de ponerse en marcha. SEGUNDA GENERACIÓN (1952−1964) Las computadoras de la segunda generación vieron como algo cambiaba en su interior. En efecto, a finales de la década de los años cuarenta, Schockley, Brattain y Barden inventaron, en los laboratorios Bell, el transistor cuyo nombre procede de la contracción de "transference resistor", es decir, resistencia de transferencia; rápidamente se vieron las grandes posibilidades que el nuevo descubrimiento tenía como sustituto óptimo de las válvulas. El material con el que se fabricó el primer transistor fue el germanio, material con el que se siguieron fabricando los transistores hasta el año 1954 en que Texas Instruments fabricó el primer transistor de silicio. En sí los primeros transistores no eran más que dos electrodos en forma de puntas de contacto sobre un trozo de material. Al sustituirse la válvula por el transistor (dispositivo electrónico que actúa como un interruptor ya que determina el paso o no de la corriente entre dos puntos en función de la tensión aplicada a un tercero), comenzó la llamada segunda generación de computadoras, en ella, las maquinas ganaron potencia y fiabilidad, perdiendo tamaño y consumo, lo que las hacia mucho más prácticas. Los campos de aplicación es esta época fueron, además del científico y militar, el administrativo y de gestión. Comenzaron a utilizarse lenguajes de programación evolucionados, como son el ensamblador y algunos de los denominados de alto nivel (COBOL, ALGOL y FORTRAN). Asimismo, comenzó a utilizarse como memoria los núcleos de ferrita, la cinta magnética y los tambores magnéticos. TERCERA GENERACIÓN (1964−1971) En esta generación, el elemento más significativo es el circuito integrado aparecido en 1964 el cual se logró obtener gracias a las técnicas VLSI y consistente en el encapsulamiento de gran cantidad de componentes discretos (resistencias, condensadores, diodos y transistores), conformando uno o varios circuitos en una pastilla de silicona o plástico. La miniaturización se extendió a todos los circuitos de la computadora, apareciendo las minicomputadoras. Se utilizaron tecnologías SSI y MSI. Asimismo, el software evoluciono de forma considerable, con un gran desarrollo en los sistemas operativos en los que se incluyo la multiprogramación, el tiempo real y el modo interactivo. Comenzaron a utilizarse las memorias de semiconductores y los discos magnéticos. A partir de mediados de los años sesenta van sucediéndose los diferentes niveles en la integración de circuitos. En 1964 aparecen los circuitos de Pequeña Escala de Integración (SSI, Small Scale Integration en inglés) que tienen entre 1 y 12 puertas lógicas. En 1968 surgen los procesadores de Media Escala de Integración (MSI, Middle Scale Integratio en inglés) que 7 se componen de entre 13 y 99 puertas lógicas. En 1971 se llega a lo que se conoce realmente como microprocesador con la tecnología de Gran Escala de Integración (LSI, Large Scale Integration en inglés), donde ya se superan las 100 puertas lógicas instaladas en el circuito y se llega al umbral de las 1.000. Finalmente, la cuarta escala de integración surge en 1980, es la tecnología VLSI, (Very Large Scale Integration o de Muy Gran Escala de Integración). Es la tecnología que se está utilizando en la construcción de componentes en estos momentos. Con esta tecnología se están superando en la actualidad las 1.000 puertas lógicas y se están llegando a instalar más de 10.000 puertas lógicas. La tendencia actual de los fabricantes es seguir aumentando la escala de integración de los circuitos para conseguir mejorar los rendimientos de los sistemas informáticos (en la actualidad se están consiguiendo tiempos de conmutación del orden de un nanosegundo). NOMBRE FECHA NÚMERO DE PUERTAS LÓGICAS SSI 1964 DESDE 1 HASTA 12 PUERTAS MSI 1968 DESDE 13 HASTA 99 PUERTAS LSI 1971 DESDE 100 HASTA 1000 PUERTAS VLSI 1980 DESDE 1.000 HASTA MAS DE 10.000 PUERTAS CUARTA GENERACIÓN (1971−1981) En 1971 aparece el microprocesador, consistente en la integración de toda la UCP de un computador en un solo circuito integrado. La tecnología utilizada es la LSI que permitió la fabricación de microcomputadoras y computadoras personales, así como las computadoras monopastilla. Se utilizó además el diskette (floppy disk) como unidad de almacenamiento. Aparecieron gran cantidad de lenguajes de programación de todo tipo y las redes de transmisión de datos (Teleinformática) para la interconexión de computadoras. La aparición del microprocesador permitió, además, que la informática se popularizase, llegando a todos los rincones del planeta y aplicándose a gran cantidad de actividades del ser humano, pasando a formar parte de su vida. Esta etapa se caracteriza por la especialización de las aplicaciones de la informática, entre las que se destacan las telecomunicaciones, el tratamiento electrónico de la imagen (gracias al cual se puede crear, manipular e interpretar imágenes por medio del ordenador; es el proceso empleado, en la generación de las imágenes enviadas por las sondas espaciales a la Tierra), las base de datos (colecciones de datos interrelacionados y estructurados que se almacenan independientemente del programa utilizado y que permite evitar problemas tales como los de la reduplicación de la información contenida en los archivos). La inteligencia artificial (rama de la informática que, superando el nivel del cálculo aritmético, se especializa en el tratamiento lógico de la información), el desarrollo de sistemas expertos (que se aplica ya a la medicina, la ingeniería, etc.), el desarrollo de autómatas o robots capaces incluso de reconocer formas e interactuar con el medio en el que desarrolla su actividad y cuya creciente aplicación en los procesos industriales ha generado una nueva rama de la técnica, llamada Robótica, y otras más. QUINTA GENERACIÓN (1981−?) Puesta en marcha por las industrias japonesas del sector y mediante la cual, y a partir de 1981, se trabajaba en el desarrollo de ordenadores inteligentes desde el punto de vista del sistema físico sin por ello abandonar la 8 idea de un sistema lógico que trabaje sobre la base de la simulación de los procesos que tienen lugar en el intelecto humano. Recibe el nombre de quinta generación dado que se considera que este nuevo concepto revolucionará los ordenadores tal y como sucedió con las válvulas de vacío, los circuitos integrados, etc. El concepto de las máquinas de la quinta generación se basa en cuatro elementos fundamentales: el módulo de resolución de problemas, el dispositivo de gestión de las bases de conocimientos (es decir, aquella parte del sistema que alberga los conocimientos de los especialistas en la materia y en la que la información está representada mediante reglas de producción o redes semánticas), una interfase de lenguaje natural (por ejemplo, el inglés, y que es el que permitirá la interacción con usuario) y, finalmente, un módulo de programación. Los principales países productores de nuevas tecnologías, anunciaron una nueva generación cuyas características principales son: * Utilización de componentes a muy alta escala de integración (tecnología VLSI). * Computadoras con inteligencia artificial. * Utilización del lenguaje natural. * Muy alta velocidad de proceso. UN POCO DE HISTORIA SOBRE EL SOFTWARE. El primer lenguaje que se utilizó en la programación de las computadoras digitales fue el lenguaje de máquina, que se expresa en términos binarios. Debido a la dificultad para el programador se desarrolló el lenguaje de Ensamble, que aunque seguía estando próximo a la estructura y diseño de la máquina, sustituía el código máquina (ristras de ceros y unos) por códigos nemotécnicos y símbolos. A mediados de los años cincuenta aparecen los lenguajes Macroensambladores, con potentes instrucciones para sustituir a los procesos de codificación nemotécnicos largos e incómodos (proceso de traducción a lenguaje máquina). Siguiendo los principios de los macroensambladores, a principios de los setenta se desarrolló el FORTH 1, que dio lugar en los ochenta al FORTH utilizado en microprocesadores, así como al PLZ/ASM. De forma paralela a los lenguajes Macroensambladores se desarrollaron lenguajes que se alejaban de la máquina y se aproximaban mucho más al problema. Los dos lenguajes históricamente más importantes son el FORTRAN y el COBOL, el primero dedicado al campo científico y el segundo ligado al campo comercial y de gestión. El fortran fue presentado por IBM en 1954, su desarrollo dio lugar en 1970 al FORTRAN IV y en 1977 al FORTRAN 77. En 1965 nace un lenguaje derivado del fortran y que las Universidades americanas empezaron a utilizar como lenguaje científico, el BASIC, que se desarrolló de tal manera que, durante mucho tiempo, fue el lenguaje tradicional de las microcomputadoras. Otro lenguaje científico importante que nació en 1958 fue el ALGOL, cuya versión ALGOL 60 fue la más representativa. El COBOL se desarrolló en 1959, teniendo versiones mejoradas en los años 74 y 80, llamadas COBOL 74 y COBOL 80. A la vez que se desarrollaban estos tipos de lenguajes, al principio de los años sesenta se comienzan a diseñar lenguajes polivalentes, es decir, lenguajes que sirven para solucionar tanto problemas 9 científicos como de gestión. De esta forma, nace el PL/1, derivado del COBOL y del ALGOL 60; del PL/1 se deriva el APL, en los años setenta, que se utilizó en trabajos interactivos y en la enseñanza asistida por computadora. Siguiendo con la misma idea de llegar a un lenguaje universal, se desarrolló en los años setenta un lenguaje derivado del ALGOL 60 y del ALGOL 68, llamado PASCAL, cuyas versiones y dialectos afines son utilizados ampliamente. En 1975, Niklaus Wirth el desarrollador de PASCAL creó un lenguaje experimental que denominó MODULA (Modular Language), siendo en 1979, cuando se completó una versión extendida que recibió el nombre de MODULA−2. Los lenguajes PASCAL y LISP condujeron en el año 1980, guiados por el Departamento de Defensa de los Estados Unidos, al desarrollo de ADA. Otro lenguaje, el C, muy de actualidad, fue creado por Dennis Ritchie de los Laboratorios Bell de AT&T en 1978. Hoy en día proliferan lenguajes de programación que siguen distintas filosofías, como la orientación a objetos con C++ o SMALLTALK; otros, como la programación visual como VISUAL BASIC, VISUAL C,.Todos ellos tienden hacia un punto en común, mayores prestaciones al programador y menor dificultad. LA APARICIÓN DE LOS SISTEMAS OPERATIVOS (S.O.) Aparecen programas que facilitan los cálculos, programas que permiten la transferencia entre soportes de memoria y programas que reducen los tiempos muertos de la máquina. La organización de los trabajos deja de ser confiada a los humanos para ser controlada por un software específico: el sistema operativo. Un sistema operativo es un programa que actúa como una interfaz entre el usuario y el hardware de una computadora, ofreciendo un entorno de trabajo menos complicado. Y también, el sistema operativo se encarga de administrar los recursos del hardware de forma eficiente. El sistema operativo permite encadenar la ejecución en la computadora de varios trabajos, simultanear y manejar adecuadamente los periféricos (por ejemplo, las impresoras, los discos, etc.), proporcionar protección contra los errores, etc. Un paso más para mejorar la eficiencia fue aprovechar los tiempos muertos de la máquina para ejecutar otros programas. Apareció la multiprogramación. El sistema operativo se hace más complejo con el fin de permitirle elegir en cada momento el programa que debe ejecutar, en función de los recursos no utilizados en ese instante. La última tendencia en los sistemas informáticos consiste en distribuir la computación entre varios procesadores físicos, con lo que surge el concepto de sistema operativo distribuido. LA EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS La primera computadora de que se tiene noticia fue diseñada por el matemático Charles Babbage (1792−1871). Aunque Babbage empleó casi toda su vida y fortuna en la construcción de su «máquina analítica», nunca consiguió que funcionara como debía, porque se trataba de un diseño puramente mecánico y la tecnología de su tiempo era incapaz de construir los mecanismos, ruedas y engranajes con la precisión necesaria. No hace falta decir que la máquina analítica no tenía sistema operativo. A principios de los años cincuenta, los procedimientos habían mejorado un poco con la introducción de las tarjetas perforadas. En vez de utilizar paneles de conexiones, ahora se podían escribir programas en tarjetas y leerlos; por lo demás, el procedimiento era el mismo. Para aumentar la eficiencia se adoptó la utilización de los sistemas de procesamiento por lotes. La idea básica consistía en llenar una casilla de trabajos de la sala de entradas y transferirlos a una cinta magnética mediante 10 una computadora pequeña, relativamente barata, como la IBM 1401. Esta computadora estaba optimizada para leer tarjetas perforadas, copiar cintas e imprimir listados, pero no para realizar cálculos. Otras máquinas mucho más costosas, como la IBM 7094, realizaban el procesamiento necesario. Las computadoras de la segunda generación se utilizaban casi siempre en problemas de ingeniería y cálculo científico, por ejemplo, para resolver ecuaciones diferenciales parciales. Normalmente se programaban en FORTRAN o en lenguaje ensamblador. Algunos sistemas operativos típicos eran FMS (Fortran Monitor System) e IBSYS, el sistema operativo de IBM para el 7094. A comienzos de los años sesenta, casi todos los fabricantes de computadoras tenían dos gamas de productos completamente distintas e incompatibles entre sí. Por un lado estaban las grandes computadoras científicas, como la 7094, utilizadas en ciencia e ingeniería. Por otro, estaban las computadoras de gestión, como la 1401, que utilizaban los bancos y compañías de seguros para la búsqueda de información en cintas magnéticas y la impresión de listados. IBM intentó resolver los dos problemas de un golpe con la introducción del sistema 360. El nombre 360 designaba a una serie de máquinas compatibles en el nivel de software, con tamaños que iban desde el 1401 hasta máquinas mucho más potentes que la 7094. Los modelos se diferenciaban solamente por su precio y sus prestaciones. Ya que todas las máquinas poseían la misma arquitectura y juego de instrucciones, era posible, al menos en principio, ejecutar en todas ellas programas que se hubieran escrito para una. De esta forma, una sola familia de computadoras podía dar satisfacción a las necesidades de todos los clientes. La serie 360 fue la primera gran serie de computadoras que utilizó circuitos integrados. Tuvo un éxito tan fulminante que extendió la idea de una familia de computadoras al resto de los grandes fabricantes. Los descendientes de estas máquinas están aún en servicio en los grandes centros de procesamiento de datos. Más tarde se diseñó OS/360, que a pesar de su tamaño monstruoso y de todos sus problemas, satisfizo a sus clientes. Popularizó algunas técnicas importantes que no existían en los sistemas operativos de la segunda generación. De ellas, quizás la principal fue la multiprogramación. En el 7094, cuando un trabajo tenía que esperar a que acabara una operación de la cinta u otra operación de E/S, el procesador se quedaba parado sin hacer nada hasta que la E/S terminaba. En aplicaciones científicas, que utilizaban mucho tiempo el procesador, la E/S es poco frecuente, así que el tiempo desperdiciado no era significativo. En cambio, en procesamiento de datos de gestión, el tiempo de espera de E/S puede suponer a menudo hasta el 80 ó 90 por 100 del tiempo total, así que era preciso tomar alguna medida. Otra característica importante de los sistemas operativos de la tercera generación era la capacidad de leer en el disco los trabajos introducidos en tarjetas perforadas tan pronto como llegaban a la sala de la computadora. De esta forma, en cuanto un trabajo finalizaba, el sistema operativo podía cargar otro nuevo del disco en la partición de memoria recién liberada. Este procedimiento se denominó «spooling» (del inglés, Simultaneous Peripheral Operation On Line, es decir, operación simultánea de periféricos conectados en directo), y se utilizaba también para la salida. Con el «spooling», los 1401 ya no eran necesarios y el trasiego de cintas de acá para allá se reducía considerablemente. Dennis Ritchie, otro experto en computadoras de los laboratorios Bell, formó equipo con Thompson para reescribir el sistema en un lenguaje de alto nivel llamado C, diseñado e implementado por Ritchie. Los laboratorios Bell concedieron licencias de UNIX a las universidades casi gratuitamente, así que a la vuelta de unos pocos años había cientos de sistemas instalados. UNIX se ha transportado a más computadoras que ningún otro sistema operativo de la historia, y su uso continúa extendiéndose. El desarrollo de los circuitos integrados LSI (integración de un gran número de circuitos en un solo chip), marcó el comienzo de la era de las computadoras personales. La amplia difusión de estos equipos, con considerables capacidades interactivas y excelentes posibilidades gráficas, ha dado origen a una importante 11 industria de producción de software para computadoras personales. La mayoría de este software es fácil de usar, ya que está orientado a usuarios que no sólo no saben nada de computadoras, sino que no tienen ningún interés en aprender sobre las mismas. Dos sistemas operativos han dominado el mundo de las computadoras personales: el primero es MS−DOS, escrito por Microsoft, Inc. Para el IBM PC y otras máquinas que usan los microprocesadores Intel de la familia del 80xxx; el segundo es UNIX, que domina el área de las grandes computadoras personales que utilizan los microprocesadores de Motorola de la familia 68000. Resulta quizás una ironía del destino que el descendiente directo de MULTICS, el sistema diseñado para una monstruosa computadora para servicio público, haya llegado a ser tan popular en computadoras personales. Ello demuestra lo bien pensados que estaban los conceptos básicos. Aunque la versión inicial de MS−DOS era bastante primitiva, las versiones posteriores han ido incorporado funciones avanzadas, así la última versión (6.22) reúne un sistema operativo muy potente que nada tiene que ver con las versiones iniciales. Hay que destacar por su importancia los sistemas operativos con facilidades gráficas como Windows (tanto la versión 3.1, como la 3.11), que debido a su facilidad de uso han desplazado a MS−DOS en las preferencias de los usuarios. En estos últimos años existe una «lucha» entre IBM y Microsoft por implantar en el mercado un sistema operativo que domine el mercado; la apuesta de Microsoft pasa por un sistema operativo Windows 95 de 32 bits, multitarea real y excelentes aplicaciones para conexión a redes de datos, mientras que IBM apuesta por OS/2 Warp cuya filosofía es idéntica a la de su competidor a excepción del sistema de ficheros, cuyo manejo es más eficiente, aunque eso sí compatible con su rival. Un avance importante que comenzó a tener lugar a mediados de los años ochenta es el desarrollo de redes de computadoras personales que ejecutaban sistemas operativos de red y sistemas operativos distribuidos. En los sistemas operativos de red el usuario es consciente de la existencia de varias computadoras, puede conectarse a máquinas remotas y copiar ficheros de una máquina a otra. Cada máquina ejecuta su propio sistema operativo local y tiene su(s) propio(s) usuario(s). Por el contrario, los usuarios de un sistema operativo distribuido lo perciben como un sistema monoprocesador tradicional. En un sistema distribuido, los usuarios no saben dónde se ejecutan sus programas, o en qué lugar se encuentran sus ficheros. Los sistemas operativos de red no son esencialmente distintos de los sistemas operativos monoprocesador. Necesitan, obviamente, además de un controlador de manejo de la red, programas para entrada a computadoras remotas y también para accesos a ficheros remotos, pero estos añadidos no varían la estructura básica del sistema operativo. Dentro de esta categoría se encuentran sistemas operativos comerciales como Windows NT (del inglés New Technology, es decir, nueva tecnología), así como sistemas operativos de red como Novell Netware o Lan Manager. CLASIFICACION Y DIVISION DE LOS COMPUTADORES CLASIFICACION Los computadores se clasifican en cuatro grandes grupos: Computadoras domesticas. Son las que están más al alcance de todos y con ellas los interesados en este campo dan sus primeros pasos en programación y en el aprendizaje de los lenguajes de programación. De ahí que hablemos de unas computadoras no muy complejas que, a pesar de sus múltiples funciones, normalmente son utilizadas únicamente para aprender y jugar, fundamentalmente, las utiliza gente joven, ya que es la que tiene mayor interés en este tema, sobretodo porque la computadora les permite explayarse con las grandes posibilidades de sus juegos. Computadores personales. Donde el algoritmo está dentro de sus cables. Sólo sirven para una función. Son computadores de escritorio para un sólo usuario a la vez. 12 Minicomputadores. Son máquinas de bajo costo (que además tienen un tamaño bastante reducido) y prestaciones mas bien modestas. Son computadores con proceso centralizado y son multitarea o multiusuarios (pueden hacerse todas las tareas que quieran) en ellos interviene la mano del hombre. Mainframe (grandes computadores). Son computadores grandes e inteligentes y de costo muy alto con proceso centralizado y multiples terminales, requieren de mucho espacio y poder de procesamiento. Se diferencian de los otros computadores en la complicación y complejidad de su propio diseño. Los interesados en comprar una de estas máquinas son las grandes compañías públicas o privadas. Los computadores se dividen en: Analógicas. Son capaces de tomar un fenómeno físico y hacer la representación de este con una magnitud numérica. Digitales. Estos, reciben infirmación a través de dígitos y la trabajan de esa manera (digital). Científicos. Para hacer proyectos científicos como en las universidades. Comerciales. Son las cajas registradoras que se utilizan en almacenes. Integrados. Son los que tienen capacidades científicas y comerciales. Híbridos. Tienen características de los computadores análogos ó digitales. CONCLUSIONES El desempeño de los computadores a nivel mundial es ya muy grande tal es que se esta desplazando al hombre y se esta reemplazando por maquinas robotizadas que desempeñan los trabajos con rapidez y exactitud requiriendo la muy mínima ayuda de la mano humana creando una gran demanda de personas sin empleo, y la tegnologia seguirá avanzando de tal forma que solo seremos individuos guiados y guiadores por robot. En sus primeras construcciones de la empresa IBM su presidente decía "que futuro podrá tener estas maquinas", hoy en día es uno de los mayores alcances que ha tenido el hombre que ya solo le basta con oprimir un botón y la tarea que quiere que se realice se realizara sin ningún esfuerzo mayoritario de la persona que lo desea. 13