1.- Introduccin Los ordenadores emergieron en nuestra sociedad debido a la bsqueda incesante que tiene el hombre por descubrir y desarrollar elementos nuevos para el mundo actual. Al principio el hombre se bastaba con usar los dedos o piedrecillas para contar, pero a medida que creca intelectualmente se daba cuenta que no le bastaba con ese sistema. Eso lo llev a crear sistemas como el baco. El sistema numrico arbigo y el concepto del cero son ejemplos de la evolucin del pensamiento humano, con un impacto profundo en nuestra sociedad. Los desarrollos que se sucedieron desde la invencin de La Pascalina hasta la Maquina Analgica, fueron dejando conceptos importantes que fueron aprovechados posteriormente por los que construyeron los ordenadores electrnicos. La Computacin (del latn. computato, -nis).tiene su origen en el clculo, es decir, en la preocupacin del ser humano por encontrar maneras de realizar operaciones matemticas de forma cada vez ms rpida y ms fcilmente. Muy pronto se vio que con ayuda de aparatos y mquinas las operaciones de clculo podan realizarse de forma ms rpida y automtica. La sociedad, a principios del siglo XX, se vio inmersa en una bsqueda por conseguir, por ejemplo, que los clculos matemticos que eran tediosos y repetitivos se pudiesen hacer mas rpidamente y ello motiv qu surgiesen proyectos de ordenadores como el MARK I o el ENIAC, contemporneos, lo que muestra esta bsqueda constante del hombre para realizar las tareas en menos tiempo y sin tantas dificultades. Hoy da todos los habitantes del mundo somos dependientes directos o indirectos del uso de los ordenadores que, adems, si estn conectados en red, por ejemplo, a travs de Internet, posibilitan una enorme capacidad de comunicacin y de acceso a la informacin, dando lugar al desarrollo de la Sociedad de la Informacin. Para entender mejor el porqu y cmo se desarrollaron los ordenadores, es conveniente hacer un breve repaso de la evolucin de las diferentes culturas y sus avances en materia de clculo, que posibilitaron la resolucin de problemas, tanto los ms simples, como otros mucho ms complejos.
2.- Pueblos Antiguos En un principio el hombre necesitaba comunicarse con su medio y ese afn lo llev a desarrollar simbologas que permitan, adems de expresar sus pensamientos, consolidar su crecimiento intelectual. As, desarrolla a travs del tiempo el lenguaje hablado, que implica procesar smbolos para poder comunicarse con sus semejantes. Muy temprano, el hombre empieza a utilizar distintos medios para registrar smbolos como pueden ser: los dedos, marcas en la madera y cuerdas, piedras, etc., con ello representaba conjuntos numricos que le fueron necesarios para poder contar.
- 2 -
Figura. Sistema de numeracin de distintos pueblos. Los babilnicos Los babilnicos de la antigua Mesopotamia utilizaban escritura cuneiforme sobre tablillas de arcilla, mucho ms resistentes que el papiro empleado por los egipcios al paso del tiempo, por lo que hay disponible mucha ms informacin sobre ellos. De las ms de 100.000 tablillas conservadas, unas 250 tienen contenidos matemticos. Al igual que sucede con los papiros, las tablillas tienen nicamente problemas concretos y casos especiales, sin ningn tipo de formulacin general, lo que no quiere decir que no existiera, pues es evidente que tales colecciones de problemas no pudieron deberse al azar. Los babilnicos: Utilizaron el sistema de numeracin posicional sexagesimal, carente de cero y en el que un mismo smbolo poda representar indistintamente varios nmeros que se diferenciaban por el enunciado del problema. Desarrollaron un eficaz sistema de notacin fraccionario, que permiti establecer aproximaciones decimales verdaderamente sorprendentes. Esta evolucin y simplificacin del mtodo fraccionario permiti el desarrollo de nuevos algoritmos que se atribuyeron a matemticos de pocas posteriores, como ejemplo el algoritmo de Newton para la aproximacin de races cuadradas. Desarrollaron el concepto de nmero inverso, lo que simplific notablemente la operacin de la divisin. Efectuaron un sin fin de tabulaciones que utilizaron para facilitar el clculo, por ejemplo de algunas ecuaciones cbicas. El dominio en esta materia era tal, que incluso desarrollaron algoritmos para el clculo de sumas de progresiones, tanto aritmticas como geomtricas. Su capacidad de abstraccin fue tal que desarrollaron muchas de las que hoy se conocen como ecuaciones diofnticas (ecuacin algebraica con una o ms incgnitas y coeficientes enteros, de la que interesan nicamente sus soluciones enteras), algunas de las cuales estn ntimamente unidas con conceptos geomtricos, terreno ste, en el que tambin superaron a la civilizacin egipcia,
- 3 - constituyendo los problemas de medida el bloque central en este campo: rea del cuadrado, del crculo, volmenes de determinados cuerpos, semejanza de figuras, etc. Los romanos Poco o casi nada aportaron los romanos a las matemticas. El sistema de nmeros creado por los romanos tuvo el merito de representar del 1 al 1.000.000 utilizando nada mas que 7 smbolos que son los siguientes: I: 1 - V: 5 - X: 10 - L: 50 - C: 100 - D: 500 - M: 1.000. Este sistema se lee de izquierda a derecha, o sea, las letras de mayor valor se escriben a la izquierda. Los valores de las letras suelen sumarse para saber cual es su valor equivalente al sistema decimal, pero cuando una letra se coloca a la izquierda esta resta el valor de la letra izquierda, por ejemplo: para escribir el nueve se debe escribir el valor que representa al 10 y luego restarle 1 por lo tanto el numero 9 en romano se representa IX; si escribimos una raya horizontal sobre un smbolo lo estamos multiplicando por mil, con esto se podra utilizar infinitas rayas para construir todos los nmeros desde el 1 al infinito, el problema de esta anotacin es que no puede realizar clculos con rapidez. Los egipcios El conocimiento que existe sobre las matemticas del Antiguo Egipto se basa principalmente en dos grandes papiros de carcter matemtico y algunos pequeos fragmentos, as como en las inscripciones en piedra encontradas en tumbas y templos. Los egipcios 500 aos a.C. inventaron un sistema de bolitas atravesadas por un alambre y con esto realizaban los clculos matemticos. Desarrollaron el llamado "sistema de numeracin jeroglfico", que consista en denominar cada uno de los "nmeros clave" (1, 10, 100, 1.000...) por un smbolo (palos, lazos, figuras humanas en distintas posiciones...). Los dems nmeros se formaban aadiendo a un nmero u otro del nmero central uno o varios de estos nmeros clave. Tambin crearon fracciones, pero slo como divisores de la unidad, esto es, de la forma 1/n; el resto de fracciones se expresaban siempre como combinaciones de estas fracciones.
Figura. Escritura jeroglfica para representar los nmeros. Aparecen tambin los primeros mtodos de operaciones matemticas, todos ellos con carcter aditivo, para nmeros enteros y fracciones. Algebraicamente se resuelven determinadas ecuaciones de la forma x+ax=b donde la incgnita x se
- 4 - denominaba "montn". En geometra los avances en el clculo de reas y volmenes, encontraron, por ejemplo, para el rea del crculo un valor aproximado del nmero pi de 3'1605. Sin embargo, el desarrollo geomtrico adolece de falta de teoremas y demostraciones formales. Tambin encontramos rudimentos de trigonometra y nociones bsicas de semejanza de tringulos. Los chinos El baco surge como consecuencia del desarrollo que le dieron los chinos en el siglo II d.C., cuando le colocaron un soporte tipo bandeja de madera y lo denominaron Saun-pan, para luego conocerse con el nombre de baco (del griego ABAX que significa tabla o carpeta cubierta de polvo) el cual suma, resta, multiplica y divide.
Figura. baco, utilizado para representar cantidades y realizar clculos. La civilizacin china es cronolgicamente comparable a las civilizaciones egipcia y mesopotmica, aunque los registros existentes son bastante menos fiables. La primera obra matemtica es "probablemente" el Chou Pei (horas solares) 1200 a.C.? y junto a ella la ms importante es "La matemtica de los nueve libros" o de los nueve captulos. Esta obra, de carcter totalmente heterogneo, tiene la forma de pergaminos independientes y estn dedicados a diferentes temas de carcter eminentemente prctico formulados en 246 problemas concretos, a semejanza de los egipcios y babilnicos y a diferencia de los griegos cuyos tratados eran expositivos, sistemticos y ordenados de manera lgica. Los problemas resumen un compendio de cuestiones sobre agricultura, ingeniera, impuestos, clculo, resolucin de ecuaciones y propiedades de tringulos rectngulos. El sistema de numeracin es el decimal jeroglfico y las reglas de las operaciones son las habituales, aunque destaca como singularidad, que en la divisin de fracciones se exige la previa reduccin de stas a comn denominador. Dieron por sentado la existencia de nmeros negativos, aunque nunca los aceptaron como solucin a una ecuacin. La contribucin algebraica ms importante es, sin duda, el perfeccionamiento alcanzado en la regla de resolucin de sistemas de ecuaciones lineales. Inventaron el "tablero de clculo", artilugio consistente en una coleccin de palillos de bamb de dos colores (un color para expresar los nmeros positivos y otro para los negativos) y que podra ser considerado como una especie de baco primitivo.
- 5 - La orientacin algortmica de las matemticas en la China antigua, se mantiene hasta mediados del siglo XIV, debido fundamentalmente a las condiciones socio- econmicas de esta sociedad. Con el desarrollo del "mtodo del elemento celeste" se culmin el desarrollo del lgebra en China en la edad media. Este mtodo, desarrollado por Chou Shi Hi, permita encontrar races no slo enteras, sino tambin racionales. El mtodo del elemento celeste es equivalente al que en Occidente se denomina "mtodo de Horner", matemtico que vivi medio siglo ms tarde. Otro gran logro de la poca medieval fue la suma de progresiones desarrollado por Chon Huo (s. XI) y Yang Hui (s.XIII). Unido a estas sumas de progresiones se establecieron elementos slidos en la rama de la combinatoria, construyendo el llamado "espejo precioso" de manera similar al que hoy conocemos como tringulo de Tartaglia o Pascal. Los mayas y los incas Los Mayas para representar sus nmeros usaban un doble procedimiento, combinaban barras y puntos propios de un sistema vigesimal, o sea, con base en el numero 20. El otro sistema figuraban cabezas humanas, la cuales comprenda las cifras del 1 al 13. En los dos sistemas exista el cero. Hacia el siglo I, los mayas usaban pequeos valos con un arco escrito como smbolo que representaba el cero
Figura. Quipo de los Incas.
El quipo y la yupana, dos utensilios, el primero orientado al almacenamiento y al transporte de la informacin, y el segundo para ayudar en el proceso de clculo, se pueden considerar los antecesores histricos de los ordenadores en el Imperio Inca. El Quipo (conjunto de cordones con nudos) fue un excelente utensilio para anotar y transportar la informacin cuantitativa y cualitativa de las magnitudes y conceptos que interesaban en el Imperio Inca. Pero era un utensilio lento en el clculo. La Yupana hizo el papel de calculador manual. Era una especie de baco adaptado al Quipo.
- 6 - Los hindes Los primeros indicios matemticos en India, se calculan hacia los siglos VIII-VII a.C, centrndose en aplicaciones geomtricas para la construccin de edificios religiosos y, tambin, parece evidente que desde tiempos remotos utilizaron un sistema de numeracin posicional y decimal. En el siglo I d.C los hindes fueron los primeros en desarrollar el sistema decimal, los nmeros 1, 4 y 6 se escriban de forma casi parecida al actual. Los hindes representaban el cero con un crculo o un punto, pero ese ltimo cayo rpidamente en desuso. Los matemticos hindes escriban los nmeros en columnas y usaban el cero para decir que haba una columna vaca. (Cero en hind es nya que significa hueco o vaco y cero en rabe es sifer, de donde derivo las palabras cifra y cero). La numeracin hind se introdujo en el mundo rabe entre el siglo VII y VIII d.C. Las primeras notaciones que se conocen en Europa datan del ao 976. La caracterstica principal del desarrollo matemtico en esta cultura, es el predominio de las reglas aritmticas de clculo, destacando la correcta utilizacin de los nmeros negativos y la introduccin del cero, llegando incluso a aceptar como nmeros validos los nmeros irracionales. Profundizaron en la obtencin de reglas de resolucin de ecuaciones lineales y cuadrticas, en las cuales las races negativas eran interpretadas como deudas. Desarrollaron tambin, para resolver problemas astronmicos, mtodos de resolucin de ecuaciones diofnticas, llegando incluso a plantear y resolver (siglo .XII) la ecuacin x 2 =1+ay 2 , denominada ecuacin de Pelt. Los griegos La actividad intelectual de las civilizaciones desarrolladas en Egipto y Mesopotamia ya haba perdido casi todo su impulso mucho antes que comenzara la Era Cristiana, pero a la vez que se acentuaba este declive, surgan con una fuerza indescriptible nuevas culturas a lo largo de todo el Mediterrneo; y de entre ella, la cultura helnica fue la principal abanderada en el terreno cultural. El helenismo nunca logr la unidad, ni en su poca de mximo apogeo ni cuando fue amenazado con la destruccin. Ahora bien, en menos de cuatro siglos, de Tales de Mileto a Euclides de Alejandra, los pensadores griegos, rivales de ciudades o de escuelas, construyeron un imperio invisible y nico, cuya grandeza perdura hasta nuestros das. Este logro inslito se llama Matemticas. Salvo excepciones, los productores se agrupaban en escuelas. En los matemticos de esta poca los problemas prcticos relacionados con las necesidades de clculos aritmticos, mediciones y construcciones geomtricas continuaron jugando un gran papel. Sin embargo, lo novedoso era, que estos problemas poco a poco se desprendieron en una rama independiente de las matemticas que obtuvo la denominacin de "logstica". Euclides, los Elementos. Libro II Proposicin 4: (a + b) 2
= a 2 + 2 ab + b 2
- 7 - Al mismo tiempo ya en la escuela de Pitgoras se advierte un proceso de recopilacin de hechos matemticos abstractos y la unin de ellos en sistemas tericos. As, por ejemplo, de la aritmtica fue separada en una rama independiente la teora de nmeros, es decir, el conjunto de conocimientos matemticos que se relacionan con las propiedades generales de las operaciones con nmeros naturales. En esta poca ya resultaban conocidos los mtodos de suma de progresiones aritmticas simples. Se estudiaban cuestiones sobre la divisibilidad de los nmeros; fueron introducidas las proporciones aritmticas, geomtricas y armnicas y diferentes medias: la aritmtica, la geomtrica y la armnica. Junto a la demostracin geomtrica del teorema de Pitgoras fue encontrado el mtodo de hallazgo de la serie ilimitada de las ternas de nmeros "pitagricos", esto es, ternas de nmeros que satisfacen la ecuacin a 2 +b 2 =c 2 . Los rabes Los matemticos rabes fueron de los primeros que desarrollaron tcnicas de clculo escrito. El matemtico rabe Al'Khwarizmi, alrededor del ao 830 d.C, escribe un libro de Aritmtica, traducido al latn como Algoritmi de numero Indorum, donde introduce el sistema numrico indio (slo conocido por los rabes unos 50 aos antes) y los mtodos para calcular con l. De esta versin latina proviene la palabra algoritmo. La anotacin del sistema arbigo era posicional esto significa que los smbolos tenan distinto su valor segn su ubicacin y adems deba incluir el cero para que pueda funcionar. El nmero cero permite diferenciar 11, 101, 1.001 si tener que utilizar simbologa extra para tal fin, adems posibilitaba construir nmeros grandes y pequeos, solamente combinando los 10 smbolos del sistema.
Figura. Numeracin rabe. En el siglo VII se enuncian los procedimientos de clculo para el sistema decimal que fueron ampliadas las mismas, explicando los procedimientos de resolucin de las operaciones bsicas que hoy usamos. Entre el siglo XII y el siglo XV, se introduce lentamente en Europa el sistema de nmeros Arbigos para poder calcular las transacciones comerciales de esa poca, siendo el usado en la actualidad. Adems separan la parte entera del decimal con una coma.
3.- Historia de los Ordenadores hasta la 2 Guerra Mundial
- 8 - Desde que el hombre tuvo la necesidad de representar cantidades, comenz una bsqueda para poder resolver clculos mas rpidamente y con mayor precisin, esta necesidad se hace cada vez mas imperiosa debido al crecimiento de situaciones que necesitaban una respuesta rpida y exacta. Si bien los cambios fueron en un principio muy espordicos, esos tiempos se iban acortando a medida que el hombre creca en conocimientos de todo tipo, creando elementos que le ayudaran a ejecutar tareas de clculo mucho ms rpidamente. Leonardo Da Vinci (1459 1519) desarroll un sistema de clculo mecnico, pero solo fue diseado en papel, jams se construyo el modelo. Tras varios aos de dedicacin, Blaise Pascal (1623 - 1662), construyo una maquina sumadora, accionada por engranajes, para poder aliviar el trabajo de los recaudadores de impuestos (su padre era uno de ellos). Consista en dos contadores con engranajes superpuestos, el de arriba cumpla la funcin de acumular el resultado y el contador inferior servia para introducir los datos a sumar, algo similar al modelo propuesto por Von Neumann, el cual recupera la idea de colocar en memoria los resultados para poder realizar con mayor rapidez los clculos.
Figura: Pascalina y detalle de su mecanismo. El problema de esta mquina era su lentitud, comparada con el clculo manual de la poca, adems de su costo tan elevado. La Pascalina fue mejorada por G. Wilhelm Leibniz (1646 - 1716) que desarrollo una maquina que, adems de sumar y restar, tambin multiplicaba y divida. Su aporte fundamental para el funcionamiento de los ordenadores de la actualidad, fue sin duda el Sistema Binario. Con la invencin de las tarjetas perforadas para los telares automticos, que realiza Joseph Marie Jacquard (1752 1834) se hace un gran aporte para la programacin. l observo las tareas repetitivas que requera la produccin de telas y cre la tarjeta perforada para guardarlas.
- 9 -
Figura. Telar mecnico de Jacquard. Entre 1823 y 1832 es cuando el matemtico ingles Charles Babbage (1792- 1871), elabor los principios del ordenador digital moderno; l y la condesa Ada Byron (Hija de Lord Byron, poeta ingles), crearon dos maquinas de calcular, la primera era la denominada Maquina de las Diferencias y la siguiente la Mquina Analtica. La Mquina de las Diferencias tena contadores mecnicos (tipo rueda), cada contador almacenaba un digito decimal, los registros ingresados se sumaban con el principio mecnico de La Pascalina y los resultados obtenidos se impriman en una chapa que era perforada por agujas de acero. Esta maquina fue pensada para ecuaciones de 2 grado con 8 cifras decimales, que se utilizaba para construir tablas, es por ello que el gobierno ingles subvenciona la investigacin y construccin de la misma, ya que le urga tener las tablas de navegacin, que por aquel entonces eran de un uso muy frecuente para la comercializacin de los productos. Posteriormente logra, nuevamente, conseguir fondos para construir la segunda maquina que la llamara Mquina Analtica (el objetivo de la mquina era poder realizar cualquier tipo de calculo, era una maquina de propsito general) que nunca pudo construir fsicamente, pero si termino su diseo en papel, ya que la precisin que
- 10 - se necesitaba era tan importante, que los materiales con los que se contaba en ese tiempo no servan. La Mquina Analtica estaba compuesta de cinco partes: a.- Dispositivo de Entrada: Tarjeta Perforada. b.- Unidad de Almacenamiento: Un tablero donde se registraban los dgitos. c.- Procesador: Dispositivo mecnico. d.- Unidad de Control: Dispositivo en forma de cilindro con filamentos y ejes. e.- Dispositivos de salida: Chapa perforada preparada para la imprenta. Las cinco partes detalladas se encuentran en los ordenadores actuales, y es por ello que a este inventor ingls se le denomina El padre de la computacin.
Figura. Mquina de Babagge. En el 1854, George Boole publica Las leyes del pensamiento sobre las cuales son basadas las teoras matemticas de Lgica y Probabilidad. Boole aproxim la lgica en una nueva direccin reducindola a un lgebra simple, incorporando lgica en las matemticas. Comenzaba el lgebra de la lgica llamada lgebra Booleana. Su lgebra consiste en un mtodo para resolver problemas de lgica que recurre solamente a los valores binarios 1 y 0 y a tres operadores: AND (y), OR (o) y NOT (no).
- 11 - En 1890 Hermann Hollerith (1860-1929) invent un mtodo de codificar datos en tarjetas mediante perforaciones donde se inscriben los datos numricos o alfabticos. Este sistema sirvi para trabajos estadsticos, como el censo de ese mismo ao. Hollerith, tras tres aos (1893) pudo, gracias a la maquina que dise, terminar con el censo, ya que de hacerlo manualmente hubiese terminado en el ao 1900, cuando se tenia que realizar nuevamente el censo. Funda en 1896 la empresa Tabulating Machine Company, de venta de tarjetas y mquinas la cual mas tarde se funcionaria con IBM (International Business Machines Corporation). La empresa formada de la fusin fue llamada Computing Tabulating Recording Corporation (CTR), pero el 14 de febrero de 1924 CTR cambi su nombre a International Business Machines Corporation (IBM).
Figura. Tarjeta perforada, utilizada para introducir datos en un ordenador. Las empresas originarias de CTR fabricaban una amplia gama de productos, desde sistemas para el control de empleados hasta equipos automatizados para el corte de carne. Adems fabricaban equipos para la gestin de tarjetas perforadas, que seran un elemento clave de los futuros ordenadores. Con el tiempo, CTR se centrara en estos equipos y dejara a un lado la fabricacin del resto de productos. Figura. Turing a la edad de 39 aos. En 1936, Alan Turing (1912-1954) contest a la cuestin planteada sobre si hay un mtodo definido que pueda aplicarse a cualquier sentencia matemtica y que nos diga si esa sentencia es cierta o no? en el artculo On Computable Numbers. Para resolver la cuestin Turing construy un modelo formal de ordenador, la Mquina de Turing, y demostr que haba problemas tales que una mquina no poda resolver. Al mismo tiempo en Estados Unidos contestaba a la misma cuestin Alonzo Chuch, basndose en una notacin formal, que denomin clculo lambda, para transformar todas las frmulas matemticas a una forma estndar. Basndose en estos resultados, entre 1936 y 1941, el ingeniero alemn Konrad Zuse (1910-1957), dise y construy su serie de ordenadores electromecnicos binarios, desde el Z1 hasta el Z3. Sin embargo estos ordenadores no tuvieron mucha difusin, ni siquiera dentro de su pas, ya que el gobierno nazi nunca confi en los trabajos de Zuse.
- 12 -
Figura. Ordenador construido por Zuse. En 1938, Claude Shannon (1916-2001) demostr cmo las operaciones booleanas elementales, se podan representar mediante circuitos conmutadores elctricos, y cmo la combinacin de circuitos poda representar operaciones aritmticas y lgicas complejas. Adems demostr como el lgebra de Boole se poda utilizar para simplificar circuitos conmutadores. El enlace entre lgica y electrnica estaba establecido. Es recordado como "el padre de la teora de la informacin". En 1939 el primer ordenador electrnico digital se desarroll en la Universidad del Estado de Iowa por el Dr. John V. Atanasoff y Clifford Berry. El prototipo, llamado el Atanasoff Berry Computer (ABC), fue la primera mquina en hacer uso de tubos al vaco (vlvulas) como los circuitos de la lgica. Figura. Mquina Enigma de cifrar alemana. El gobierno ingles debido a su urgencia que le provocaba la 2 Guerra Mundial, acelera el desarrollo de sistemas de computacin que venan gestndose con anterioridad, esta responsabilidad recae sobre Alan Turng (1912-1954), que ayudado por John Von Neumann (1903-1957), construyeron el Collosus, un enorme ordenador con el propsito de poder descifrar los mensajes por radio que emita el ejercito alemn.
- 13 - Enigma, era la mquina codificacin de Alemania. Entre sus diseadores estaban Alan M. Turing, diseador de la Mquina Turing, quien haba escapado de los Nazis unos aos antes. Tambin durante la Segunda Guerra Mundial, IBM comenz a investigar en el campo de la informtica. En la Universidad de Harvard, Howard Aiken (1900-1973) en colaboracin con IBM, empez en 1939 y termin en 1944 termin de construir el ordenador Automatic Sequence Controlled Calculator (Calculadora Controlada de Secuencia Automtica), tambin conocido como Mark I, la primera mquina capaz de ejecutar clculos complejos automticamente, basada en interruptores electromecnicos.
Figura: El Mark I El 9 de septiembre de 1945, a las 3:45 pm, el primer caso real de un error que causa un malfuncionamiento en el ordenador fue documentado por los diseadores del Mark II. El Mark II, sucesor al Mark I que se construy en 1944, experiment un fall. Cuando los investigadores abrieron caja, hallaron una polilla entre contactos. Se piensa que aqu est el origen del uso del trmino "bug" que significa insecto o polilla en ingls. Grace Murray Hopper (1906-1992), oficial de la Marina estadounidense, matemtica y precursora en el proceso de datos, fue destinada al laboratorio de clculo de la Universidad de Harvard, donde trabaj como programadora en el Mark I (1944), el primer ordenador a gran escala de Estados Unidos, precursor de los ordenadores electrnicos. Muy conocida por su trabajo en la Eckert-Mauchly Computer Corporation, durante las dcadas de 1950 y 1960, Hopper se acredit por el invento del primer compilador (1952), un programa que traduce las instrucciones con palabras en ingls al lenguaje mquina de un ordenador. Tambin, ayud a desarrollar el lenguaje de programacin Flow-Matic (1957) y el lenguaje de programacin COBOL (1959-1961), orientado a los negocios para UNIVAC, el primer ordenador electrnico comercial.
4.- El Modelo de Von Neumann John Von Neumann (1903-1957), considerado el gran genio de la computacin, fue un cientfico-matemtico que ocupa un lugar en la historia debido al los importantes aportes realizados a los ordenadores de primera generacin.
- 14 - Naci en Budapest, Hungra, y se hizo ingeniero Qumico en 1925 entre Berln y Zurich; terminados estos estudios, volc todos sus esfuerzos al estudio de las matemticas. En 1943 fue cuando se intereso por primera vez en la computacin; tras un viaje a Inglaterra le comento a Voblen que necesitaba una maquina que se encargara de los clculos mas complejos. Aunque comenzaron con IBM no le satisfizo para el Proyecto Maniatan (bomba atmica). Hacia 1944 Von Neumann se implic en el proyecto del ENIAC, en el cual estaban trabajando Mauchly y Eckert. Figura. Retrato de VonNeumann. Von Neumann escribi en 1946, en colaboracin con Arthur W. Burks y Herman H. Goldstine, Preliminary Discussion of the Logical Design of an Electronic Computing Instrument, que contiene la idea de Mquina de Von Neumann, que es la descripcin de la arquitectura que, desde 1946, se aplica a todos los computadores que se han construido. Con estos fundamentos, Eckert y Mauchly construyen en la Universidad de Manchester, en Connecticut (EE.UU.), en 1949, el primer equipo con capacidad de almacenamiento de memoria, la EDVAC. Eckert y Mauchly forman una corporacin para construir una mquina que se pueda comercializar, pero, debido a problemas financieros, se vieron obligados a vender su compaa a a Remington Rand Corp. Trabajando para esta compaa concluyeron el proyecto Univac, en 1951. El modelo de Von Neumann esta compuesto por la unidad central de procesamiento (CPU) en la cual se encuentra la unidad de control (CU) y la unidad aritmtica lgica (ALU) y dentro de esta ultima se encuentra el acumulador, adems tiene una memoria y las unidades de entrada y salida.
Figura. Modelo propuesto por Von Neumann.
- 15 - Su funcionamiento es de la siguiente forma: los datos se introducen en el procesador por medios de la unidad de entrada; se almacena y la informacin se obtiene luego del proceso, que manda el programa empleando la unidad de control a travs de la unidad de salida, o sea, el dato entra a la unidad central y lo toma la unidad de control, que define que se debe hacer, si es un calculo se lo enva a la ALU, sta procesa los datos obteniendo su resultado, luego lo vuelve a pasar a la unidad de control, esta la enva a la memoria y luego se muestra por pantalla. Estas son las caractersticas principales del Modelo de Von Neumann, quien proporcion a los cientficos de entonces la idea de acumular el resultado en la memoria para poderlo reutilizar en caso de ser necesario. Esta idea revolucion el mundo de la informtica debido a que se poda agregar un lenguaje de programacin donde le dara a el ordenador una autonoma mucho mayor. Hoy en da, la mayora de los ordenadores estn basados en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratn, teclado, etc.).
5.- Generacin de Ordenadores y Desarrollo del Software Para comenzar, veremos que el comn denominador, por los menos, en las primeras cuatro Generaciones de Ordenadores es por el desarrollo histrico del hardware.
Figura. Regla de clculo utilizada hasta la aparicin de las calculadoras electrnicas, en la dcada de los setenta. Las generaciones de ordenadores se pueden dividir en cinco, las cuales detallaremos a continuacin: Primera Generacin de Ordenadores Comienza en los aos 50 hasta unos diez aos despus, y en la cual el alma de estos equipos era a base de vlvulas o tubos de vaco, y la comunicacin era en trminos de nivel mas bajo que puede existir, que se conoce como lenguaje mquina. Estas mquinas eran as: Estaban construidas con electrnica de vlvulas
- 16 - Se programaban en lenguaje de mquina Los ordenadores de la 1 Generacin emplearon vlvulas para procesar informacin. Los operadores introducan los datos y programas en cdigo especial por medio de tarjetas perforadas. El almacenamiento interno se lograba con un tambor que giraba rpidamente, sob re el cual un dispositivo de lectura/escritura colocaba marcas magnticas. Esos ordenadores de vlvulas eran mucho ms grandes y generaban ms calor que los modelos contemporneos. Un ejemplo muy claro es el ordenador ENIAC de 1947, para uso general, que fue el primero cuyo diseo era totalmente electrnico; pesaba 32 toneladas y contaba con casi 18.000 tubos de vaco, los cuales terminaban siendo siempre una dificultad ya que el grado de averas de los mismos era muy alto. Poda resolver 5,000 sumas y 360 multiplicaciones por segundo, pero su programacin era terriblemente tediosa ya que haba de hacerse mediante cables. Figura. Memoria de tambor magntico John P. Eckert y Jonh W. Mauchly contribuyeron al desarrollo de ordenadores de la 1 Generacin formando una compaa privada y construyendo UNIVAC I, que el Comit del Censo utiliz para evaluar el de 1950.
Figura. Fotografa del ENIAC. La IBM tena el monopolio de los equipos de procesamiento de datos basndose en tarjetas perforadas y estaba teniendo un gran auge en productos como rebanadores de carne, bsculas para comestibles, relojes y otros artculos; sin embargo no haba logrado el contrato para el Censo de 1950.
- 17 - Comenz entonces a construir ordenadores electrnicos y su primera entrada fue con la IBM 701 en 1953. Despus de un lento pero excitante comienzo la IBM 701 se convirti en un producto comercialmente viable. Sin embargo, en 1954 fue introducido el modelo IBM 650, el cual es la razn por la que IBM disfruta hoy de una gran parte del mercado de los ordenadores. La administracin de IBM asumi un gran riesgo y estim una venta de 50 ordenadores, un nmero mayor que la cantidad de ordenadores instalados en esa poca en EE.UU., pero se equivoc y acab instalando 1.000 ordenadores. El resto es historia. Aunque caros y de uso limitado los ordenadores fueron aceptadas rpidamente por las Compaas privadas y del Gobierno. A la mitad de la dcada de los cincuenta IBM y Remington Rand se consolidaban como lderes en la fabricacin de ordenadores. Segunda Generacin de Ordenadores La segunda generacin comienza con el advenimiento del transistor a finales de los aos 50 en que los transistores reemplazaron a las vlvulas en los circuitos de los ordenadores. Los ordenadores de la 2 Generacin ya no tienen vlvulas, sino transistores y su tamao pasa a ser mas reducido que sus antecesores con vlvulas y consumen menos electricidad que los anteriores, la forma de comunicacin con estos nuevos ordenadores es mediante lenguajes mas avanzados que el lenguaje de mquina, y que reciben el nombre de "lenguajes de alto nivel" o lenguajes de programacin. Las caractersticas de los ordenadores de la segunda generacin son entonces: Construidas con electrnica de transistores Programacin en lenguajes de alto nivel En esta generacin los ordenadores al ser reducidas de tamao el costo era menor. Comienzan entonces aparecer muchas empresas y los ordenadores eran muy avanzados. El invento del transistor hizo posible una nueva generacin de ordenadores, ms rpidos, ms pequeos y con menores necesidades de ventilacin. Sin embargo, el costo segua siendo una porcin significativa del presupuesto de una empresa. Los ordenadores de la 2 Generacin tambin utilizaban redes de ncleos magnticos en lugar de tambores giratorios para el almacenamiento primario. Estos ncleos, inventados por J.W. Forrester, contenan pequeos anillos (toros) de material magntico (ferrita), enlazados entre s, en los cuales podan almacenarse datos e instrucciones. Figura. Memoria de ncleos de ferrita. Algunos de estos ordenadores se programaban con cintas perforadas y otros por
- 18 - medio de un cableado en un tablero, los programas propiamente dichos eran realizados por expertos: analistas, diseadores, programadores y operadores que funcionaban como un verdadero equipo para la resolucin de los problemas. Escribir un programa ya no requera entender plenamente el hardware del ordenador y los escritos para un ordenador podan transferirse a otro con un mnimo esfuerzo Los ordenadores de esa generacin fueron el Philco 212, UNIVAC M460, Control Data Corporation 1604. Por su parte, IBM desarroll mejor el 709 y vendi en el mercado el 7090, mientras que la National Cash Registre comercializ el NCR 315. Los programas de ordenadores tambin mejoraron. El COBOL, desarrollado durante la 1 generacin, estaba ya disponible comercialmente. Los programas escritos para un ordenador podan transferirse a otra con un mnimo esfuerzo. El escribir un programa ya no requera entender plenamente el hardware de la computacin. Los ordenadores de la 2 Generacin eran sustancialmente ms pequeas y rpidas que las de vlvulas, y se usaban para nuevas aplicaciones, como en los sistemas para reservacin en lneas areas, control de trfico areo y simulaciones para uso general. Las empresas comenzaron a aplicar los ordenadores a tareas de almacenamiento de registros, como manejo de inventarios, nmina y contabilidad. La marina de EE.UU. utiliz los ordenadores de la 2 Generacin para crear el primer simulador de vuelo (Torbellino o Whirlwind I) en tiempo real. HoneyWell se coloc como el primer competidor durante la segunda generacin de ordenadores. Burroughs, Univac, NCR, CDC, HoneyWell, los ms grandes competidores de IBM durante los aos 60 se conocieron como el grupo BUNCH (siglas).
Figura. Whirlwind del MIT (1945). Tercera Generacin de Ordenadores En la 3 generacin de ordenadores su caracterstica fundamental es que su electrnica est basada en Circuitos Integrados y, adems, su manejo es por medio de los lenguajes de control de los sistemas operativos.
- 19 - El IBM 360, uno de los primeros ordenadores comerciales que us circuitos integrados, poda realizar, tanto, anlisis numricos como de administracin procesamiento de archivos. IBM produce a partir de 1964 la serie 360 que utilizaba tcnicas especiales del procesador, unidades de cinta de nueve canales, paquetes de discos magnticos y otras caractersticas que ahora son estndares (no todos los modelos usaban estas tcnicas). El sistema operativo de la serie 360, que contaba con varias configuraciones, inclua un conjunto de tcnicas de manejo de memoria y del procesador que pronto se convirtieron en estndares. Los clientes podan escalar sus sistemas 360 a modelos IBM de mayor tamao y podan todava correr sus programas actuales. Los ordenadores trabajaban a tal velocidad que proporcionaban la capacidad de ejecutar ms de un programa de manera simultnea (multiprogramacin), por ejemplo el ordenador poda estar calculando la nomina y aceptando pedidos al mismo tiempo. Con la introduccin del modelo 360 IBM acapar el 70% del mercado.
Figura. Ordenador 360 de IBM. Para evitar competir directamente con IBM, la empresa Digital Equipment Corporation DEC redirigi sus esfuerzos hacia ordenadores pequeos, mucho menos costosos de comprar y de operar que los ordenadores grandes. Los miniordenadores se desarrollaron durante la 2 Generacin pero alcanzaron su mayor auge entre 1960 y 70. En la dcada de los 70, IBM produce la serie 370. UNIVAC compite con los modelos 1108 y 1110, mquinas en gran escala; mientras que CDC produce su serie 7000 con el modelo 7600. Estos ordenadores se caracterizan por ser muy potentes y veloces. A finales de esta dcada la IBM de su serie 370 produce los modelos 3031, 3033, 4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700 de avanzado diseo, que se reemplazaron por su serie 7000. HoneyWell participa con su ordenador DPS con varios modelos.
- 20 - Cuarta Generacin de Ordenadores En la 4 Generacin aparecen los microprocesadores siendo un avance importante en microelectrnica, son circuitos integrados de alta densidad y con una velocidad impresionante. Los microordenadores con base en estos circuitos son extremadamente pequeos y baratos, por lo que su uso se extiende al mercado industrial. As nacen los ordenadores personales que han adquirido proporciones enormes y que han influido en la sociedad en general. En 1976 Steve Wozniak y Steve Jobs inventan el primer microordenador de uso masivo y ms tarde forman la compaa conocida como la Apple, que fue la segunda compaa ms grande del mundo, superada tan solo por IBM. Figura: Steve Wozniak y Steve Jobs. En 1981 IBM estrena una nueva mquina, la IBM Personal Computer, protagonista absoluta de una nueva estrategia: entrar en los hogares. El corazn de esta pequea computadora, con 16 kB de memoria (ampliable a 256), era un procesador Intel, y su sistema operativo proceda de una empresa recin nacida llamada Microsoft.
Figura. El ordenador personal de IBM en 1981. Con el surgimiento de los ordenadores personales, el software y los sistemas que con ellos se manejan han tenido un considerable avance, porque han hecho ms interactiva la comunicacin con el usuario. Surgen otras aplicaciones como los procesadores de palabra, las hojas electrnicas de clculo, paquetes grficos, etc.
- 21 - Tambin las industrias del software de los ordenadores personales crece con gran rapidez, Gary Kildall y William Gates se dedicaron durante aos a la creacin de sistemas operativos y mtodos para lograr una utilizacin sencilla de los microordenadores (son los creadores de CP/M y de los productos de Microsoft). Dos mejoras en la tecnologa de los ordenadores marcan el inicio de la 4 Generacin: el reemplazo de las memorias con ncleos magnticos por las de chips de silicio y la colocacin de muchos ms componentes en un Chip, producto de la microminiaturizacin de los circuitos electrnicos. El tamao reducido del microprocesador hizo posible la creacin de los ordenadores personales. Hoy en da las tecnologas LSI (Integracin a gran escala) y VLSI (integracin a muy gran escala) permiten que miles de componentes electrnicos se almacenan en un nico chip. Quinta Generacin de Ordenadores En la 5 Generacin se hace acelerada la marcha de la microelectrnica, la sociedad industrial se ha dado a la tarea de poner tambin a esa altura el desarrollo del software y los sistemas con que se manejan los ordenadores. Surge la competencia internacional por el dominio del mercado de la computacin, en la que se perfilan dos lderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con el ordenador en un lenguaje ms cotidiano y no a travs de cdigos o lenguajes de control especializados. Japn lanz en 1983 el llamado "programa de la 5 Generacin de ordenadores", con los objetivos explcitos de producir mquinas con innovaciones reales en los criterios mencionados. En los Estados Unidos se desarroll un programa que persegua objetivos semejantes: Procesamiento en paralelo mediante arquitecturas y diseos especiales y circuitos de gran velocidad. Manejo de lenguaje natural y sistemas de inteligencia artificial. 6.- Lenguajes de Programacin Los lenguajes de programacin, empleados para dar instrucciones a las mquinas, pueden ser de muy diferentes tipos. Lenguajes de bajo nivel: Utilizan cdigos muy cercanos a los de la mquina, lo que hace posible la elaboracin de programas muy potentes y rpidos, pero son de difcil aprendizaje. Lenguajes de alto nivel: El programador escribe su programa en alguno de estos lenguajes (Pascal, Cobol, Basic, Fortran, C++) mediante secuencias de instrucciones. Antes de ejecutar el programa el ordenador lo traduce a cdigo mquina de una sola vez (lenguajes compiladores) o interpretndolo instruccin por instruccin (lenguajes intrpretes). Un programa de ordenador es una coleccin de instrucciones que, al ser ejecutadas por el CPU de una mquina, llevan a cabo una tarea funcin especfica. Este conjunto de instrucciones es almacenado en archivos denominados archivos ejecutables puesto
- 22 - que, al teclear su nombre (o hacer clic sobre el icono que los identifica) se logra que el ordenador los cargue y ejecute las instrucciones del archivo. El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya que no est hecho para que la gente lo lea, sino para que el ordenador sea quien lo lea. Los archivos de programas ejecutables contienen el cdigo mquina, que la CPU identifica como sus instrucciones. Son lo que conocemos como Programas Objeto. Dado que sera muy difcil que los programadores crearan programas directamente en cdigo de mquina, usan lenguajes ms fciles de leer, escribir y entender para la gente. El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de texto, y stas son almacenadas en archivos denominados programas fuentes (cdigo fuente). El proceso de conversin de programas fuente a programas objeto se realiza mediante un programa denominado compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este ltimo en otro archivo. Programa fuente: Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no est en cdigo de mquina y que por lo tanto no puede ser ejecutable. Programa objeto: Es aquel programa que se encuentra en lenguaje mquina y que ya es ejecutable por esta. Compilador: Es un programa que traduce un lenguaje de alto nivel al lenguaje mquina. Un programa compilado indica que ha sido traducido y est listo para ser ejecutado. La ejecucin de los programas compilados es ms rpida que la de los interpretados, ya que el interprete debe traducir mientras est en la fase de ejecucin (saca todos los errores). Un compilador es un programa que traduce el programa fuente (conjunto de instrucciones de un lenguaje de alto nivel, por ejemplo BASIC o Pascal) a programa objeto (instrucciones en lenguaje mquina que el ordenador puede interpretar y ejecutar). Se requiere un compilador para cada lenguaje de programacin. Un compilador efecta la traduccin, no ejecuta el programa. Una vez compilado el programa, el resultado en forma de programa objeto ser directamente ejecutable. Presentan la ventaja considerable frente a los intrpretes de la velocidad de ejecucin, por lo que su uso ser mejor en aquellos programas probados en los que no se esperan cambios y que deban ejecutarse muchas veces. En caso de que se opte por un interpretador se debe considerar que el intrprete resida siempre en memoria. Intrprete:
- 23 - Traductor de lenguajes de programacin de alto nivel. Los intrpretes ejecutan un programa lnea por lnea. El programa siempre permanece en su forma original (programa fuente) y el interprete proporciona la traduccin al momento de ejecutar cada una de la s instrucciones. Encuentran su mayor ventaja en la interaccin con el usuario, al facilitar el desarrollo y puesta a punto de programas, ya que los errores son fciles de detectar y sobre todo de corregir. Un intrprete es un programa que procesa los programas escritos en un lenguaje de alto nivel, sin embargo, est diseado de modo que no existe independencia entre la etapa de traduccin y la etapa de ejecucin. Un intrprete traduce cada instruccin o sentencia del programa escrito a un lenguaje mquina e inmediatamente se ejecuta. Lenguaje mquina: Lenguaje original del ordenador, un programa debe estar escrito en el lenguaje de la mquina para poder ser ejecutado. Este es generado por software y no por el programador. El programador escribe en un lenguaje de programacin, el cual es traducido al lenguaje de mquina mediante intrpretes y compiladores. Cronologa de los Lenguajes de programacin 1954 FORTRAN Formula Translation (Traduccin de frmulas): Diseado en un principio para usos cientficos y de ingeniera, se trata de un lenguaje compilado de alto nivel que hoy se utiliza en numerosos campos. Precursor de diversos conceptos, como las variables, las instrucciones condicionales y las subrutinas compiladas por separado. 1959 COBOL Common Business-Oriented Language (Lenguaje simblico de programacin orientado a aplicaciones comerciales): Lenguaje de programacin semejante al idioma ingls, que hace hincapi en las estructuras de datos. De amplia utilizacin, principalmente en empresas. 1960 ALGOL ALGOrithmic Language (Lenguaje ALGOL algortmico): Primer lenguaje de programacin procedural estructurado, utilizado sobre todo para resolver problemas matemticos. 1960 LISP LISt Processing (Procesamiento de listas): Lenguaje de programacin orientado a la generacin de listas, utilizado principalmente para manipular listas de datos. Lenguaje interpretado que suele utilizarse en las investigaciones y est considerado como el lenguaje estndar en proyectos de inteligencia artificial. 1961 APL A Programming Language (Un lenguaje de programacin): Lenguaje interpretado que utiliza un amplio conjunto de smbolos especiales y que se caracteriza por su brevedad. Utilizado fundamentalmente por los matemticos. 1964 PL/1 Programming Language 1 (Lenguaje de programacin uno): Diseado para combinar las principales virtudes del FORTRAN, COBOL y ALGOL, se trata de un lenguaje de programacin complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar multitareas. Se emplea en entornos acadmicos y de investigacin. 1965 BASIC Beginners All-Purpose Symbolic Instruction Code (Cdigo de instrucciones simblicas multipropsito para principiantes): Lenguaje de programacin de alto nivel, utilizado con frecuencia por programadores principiantes. 1968 LOGO Derivado del griego logos, palabra: Lenguaje de programacin que suele utilizarse con nios. Presenta un sencillo entorno de dibujo y varias prestaciones de mayor nivel del lenguaje LISP. Fundamentalmente educativo.
- 24 - 1969 PILOT Programmed Inquiry, Language Or Teaching (Consulta, lenguaje o aprendizaje de investigacin programada): Lenguaje de programacin utilizado fundamentalmente para crear aplicaciones destinadas a instrucciones asistidas por ordenador. Se caracteriza por utilizar un mnimo de sintaxis. 1970 FORTH Lenguaje de cuarta (FOuRTH) generacin: Lenguaje estructurado e interpretado de fcil ampliacin. Ofrece una alta funcionalidad en un espacio reducido. 1971 PASCAL Blaise PASCAL, matemtico e inventor del primer dispositivo de computacin: Lenguaje compilado y estructurado basado en ALGOL. Agrega tipos y estructuras de datos simplificando la sintaxis. Al igual que el C, se trata de un lenguaje de programacin estndar para microordenadores. 1972 C Predecesor del lenguaje de programacin B, fue desarrollado en los Laboratorios Bell: Lenguaje de programacin compilado y estructurado, que suele utilizarse en numerosos lugares de trabajo porque sus programas pueden transferirse fcilmente entre distintos tipos de ordenadores. 1979 ADA Augusta ADA Byron (Lady Lovelace): Derivado de Pascal, es utilizado principalmente por los militares. 1980 MODULA-2: Diseado como fase secundaria de Pascal: Lenguaje que hace hincapi en la programacin modular. Es un lenguaje de alto nivel basado en Pascal, que se caracteriza por la ausencia de funciones y procedimientos estandarizados. 1983 C++: Una versin orientada a objetos derivada del lenguaje de programacin de aplicacin general denominado C, desarrollada por B. Stroustrup en los Laboratorios Bell de la compaa AT&T; en un principio tambin fue conocido como C with Classes (C con clases, alusin a las clases de la programacin orientada a objetos). 1995 JAVA: Lenguaje de programacin orientado a objetos desarrollado por la empresa Sun Microsystems y que se ha extendido ampliamente en World Wide Web. Es un lenguaje de alto nivel y propsito general similar a C++, con marcadas caractersticas de seguridad y transportabilidad. 2000 C#: Nombre dado a un nuevo lenguaje de programacin, derivado del C/C++, con la finalidad de proporcionar un mtodo sencillo de creacin de aplicaciones de propsito general y con programacin orientada a objetos (POO).
7.- Sistemas Operativos Un sistema Operativo (SO) es en s mismo un programa de ordenador. Sin embargo, es un programa muy especial, quiz el ms complejo e importante en un ordenador. El SO arranca el ordenador y hace que reconozca a la CPU, la memoria, el teclado, el sistema de vdeo y las unidades de disco. Adems, proporciona la facilidad para que los usuarios se comuniquen con el ordenador y sirve de plataforma a partir de la cual se ejecutan los programas de aplicacin. Cuando se enciende un ordenador, lo primero que ste hace es llevar a cabo un autodiagnstico llamado autoprueba de encendido (POST, Power On Self Test). Durante la POST, el ordenador identifica su memoria, sus discos, su teclado, su sistema de vdeo y cualquier otro dispositivo conectado a l. Lo siguiente que el ordenador hace es buscar un sistema operativo para arrancar (boot).
- 25 - Una vez que el ordenador ha puesto en marcha su SO, mantiene al menos parte de ste en su memoria en todo momento y, mientras el ordenador est encendido, el SO tiene 4 tareas principales: 1. Proporcionar ya sea una interfaz de lnea de comando o una interfaz grfica al usuario, para que este ltimo se pueda comunicar con el ordenador. 2. Administrar los dispositivos de hardware en el ordenador. Cuando se ejecutan los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, mdems, etc.). El SO sirve de intermediario entre los programas y el hardware. 3. Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la informacin dentro de compartimientos lgicos para almacenarlos en el disco. Estos grupos de informacin son llamados archivos, que pueden contener instrucciones de programas o informacin creada por el usuario. El SO mantiene una lista de los archivos en un disco y nos proporciona las herramientas necesarias para organizar y manipular estos archivos. 4. Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios a otros programas. Estos servicios son similares a aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible, etc. Cuando los programadores escriben programas de ordenador, incluyen en sus programas instrucciones que solicitan los servicios del SO. Estas instrucciones son conocidas como "llamadas del sistema" Los sistemas operativos pueden ser Multitarea: El trmino multitarea se refiere a la capacidad del SO para ejecutar mas de un programa al mismo tiempo. Existen dos esquemas, el primero requiere de la cooperacin entre el SO y los programas de aplicacin, y el segundo mtodo es el llamada multitarea con asignacin de prioridades. Multiusuario: Un SO multiusuario permite a mas de un solo usuario acceder a un ordenador. Claro que, para llevarse esto a cabo, el SO tambin debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario ms utilizado. Debido a que Unix fue originalmente diseado para correr en un miniordenador, era multiusuario y multitarea desde su concepcin. Multiproceso: Los ordenadores que tienen ms de un CPU son llamados multiproceso. Un sistema operativo multiproceso coordina las operaciones de estos ordenadores. Ya que cada CPU en un ordenador de multiproceso puede estar ejecutando una instruccin, el otro procesador queda liberado para procesar otras instrucciones simultneamente. Al usar un ordenador con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todos los ordenadores que tienen capacidad de multiproceso ofrecen una gran ventaja. Lista de los Sistemas Operativos ms comunes.
- 26 - MS-DOS: Ha sido el ms comn y popular de todos los Sistemas Operativos para PC. La razn de su popularidad se debi al aplastante volumen de software disponible y a la base instalada de ordenadores con procesador Intel. Cuando Intel liber el 80286, el DOS se hizo tan popular y firme en el mercado que las aplicaciones para l representaron la mayora del mercado de software para PC. En aquel tiempo la compatibilidad IBM fue una necesidad para que los productos tuvieran xito, y eso significaba ordenadores que ejecutaran DOS, tan bien como los ordenadores IBM lo hacan. UNIX: Unix es un SO multiusuario y multitarea, que corre en diferentes ordenadores, desde mainframes, miniordenadores, ordenadores personales y estaciones de trabajo. Es un sistema operativo, extremadamente slido y capaz, aunque complejo pues tiene muchos comandos, que fue creado a principios de los setenta por cientficos en los Laboratorios Bell. Fue especficamente diseado para disponer una manera de manejar, cientfica y especializadamente, las aplicaciones computacionales. Este sistema operativo se adapt a los sistemas de cmputo personales, lo que lo convierte en un sistema popular. Una versin libre del mismo es Linux. MACINTOSH: Los Macintosh son una mquina netamente grfica. De hecho, no existe una interfaz de lnea de comando equivalente para sta. Su estrecha integracin de SO, GUI y rea de trabajo la hicieron la favorita de la gente que no quiere saber nada de interfaces de lnea de comando. Las capacidades grficas de Macintosh hicieron de esa mquina la primera precursora en los campos grficos computarizados como la autoedicin por ordenador. La familia de microordenadores de Apple Macintosh y su sistema operativo define otra plataforma importante. Los PC de Macintosh, que se basan en la familia de microprocesadores de Motorola, usan la arquitectura de Bus de 32 bits. WINDOWS: Windows es un sistema operativo desarrollado por Microsoft, que tiene numerosas versiones. El Windows 3.0 y Windows 3.1 estaban basados en el DOS, por lo cual muchos expertos no lo consideraban un verdadero Sistema Operativo, siendo su capacidad de multitarea (hacer mas de una tarea) muy limitada Al salir al mercado el Windows 95, caus una autntica revolucin en los SO para PC, pues era independiente del MS-DOS, aunque guardaba compatibilidad con ste. Se haba desarrollado en parte con cdigo de 32 bits a diferencia de los anteriores que eran de 8 y 16 bits.
- 27 - Windows 98 es una mejora de Windows 95, casi totalmente desarrollado con cdigo de 32 bits, mucho ms robusto y completo. Actualmente se emplea Windows XP y tambin existen versiones para red, como Windows NT y Windows 2000 server. GNU/LINUX: Es un sistema operativo derivado de UNIX que, manteniendo la generalidad de sus caractersticas, como el ser multitarea y basado en bibliotecas dinmicas, puede ser ejecutado en ordenadores personales aunque su potencia sea limitada. En sus orgenes fue desarrollado, en 1990, por el informtico finlands Linus Torvalds, que public su cdigo como un denominado cdigo abierto, esto es, accesible para toda la comunidad, sin restricciones para modificarlo y ampliarlo. Este planteamiento, favorecido por su estructura modular (basado en la instalacin de diversos paquetes), gener una nueva visin de desarrollo informtico, ya que su expansin fue debida a la aportacin, generalmente voluntaria y sin nimo de lucro, de multitud de desarrolladores independientes. En la actualidad este sistema operativo ha obtenido un cierto apoyo por parte de la industria, de manera que empresas como IBM lo integran en algunos de sus ordenadores y prestan el soporte tcnico correspondiente, normalmente como parte de los sistemas servidores. 8.- Microprocesadores La historia de los procesadores ha pasado por diferentes situaciones, siguiendo la lgica evolucin de este mundo. Desde aquel primer procesador 4004 del ao 1971 hasta el actual Pentium IV ha pasado mucho en este campo. Figuras. Microprocesador Intel 4004 y calculadora Busicom. El primer procesador 4004, presentado en el mercado el da 15 de noviembre de 1971, posea unas caractersticas nicas para su tiempo: la velocidad de reloj sobrepasaba por poco los 100 kHz, dispona de un ancho de bus de 4 bits y poda manejar un mximo de 640 bytes de memoria. Este conjunto de 2.300 transistores que ejecutaba 60.000 operaciones por segundo se puso a la venta por 200 dlares. Realmente una autntica joya que para entonces poda realizar gran cantidad de tareas, pero que por desgracia no tiene punto de comparacin con los actuales micros. Entre sus aplicaciones, podemos destacar su presencia en la calculadora Busicom, as como dotar de los primeros tintes de inteligencia a objetos inanimados. Poco tiempo despus, sin embargo, el 1 de abril de 1972, Intel anunciaba una versin mejorada de su procesador. Se trataba del 8008, que contaba como principal
- 28 - novedad con un bus de 8 bits, y la memoria direccionable se ampliaba a los 16 kB. Adems, llegaba a la cifra de los 3.500 transistores, casi el doble que su predecesor, y se le puede considerar como el antecedente del procesador que servira de corazn al primer ordenador personal. Justo dos aos despus, Intel anunciaba ese tan esperado primer ordenador personal (PC), de nombre Altair, cuyo nombre proviene de un destino de la nave Enterprise en uno de los captulos de la popular serie de televisin Star Trek la semana en la que se cre el ordenador. Tena un coste de entorno a los 400 dlares de la poca, y el procesador supona multiplicar por 10 el rendimiento del anterior, gracias a sus 2 MHz de velocidad (por primera vez se utiliza esta medida), con una memoria de 64 kB. El usuario tena que ensamblarlo a partir de un Kit. A partir de entonces la evolucin ha sido exponencial, siguiendo la Ley de Moore, que expresa que aproximadamente cada dos aos se duplica el nmero de transistores en un microprocesador. Se trata de una ley emprica, formulada por Gordon E. Moore el 19 de abril de 1965, cuyo cumplimiento se ha podido constatar hasta hoy. La tendencia en el desarrollo de los ordenadores es la microminiaturizacin, iniciativa que tiende a comprimir ms elementos de circuitos en un espacio ms pequeo. Adems, se intenta agilizar el funcionamiento de los circuitos mediante el uso de la superconductividad (disminucin de la resistencia elctrica cuando se enfran los objetos a temperaturas muy bajas). Otra tendencia en el desarrollo de ordenadores es el esfuerzo para crear ordenadores de quinta generacin (Inteligencia Artificial - IA), capaces de resolver problemas complejos en formas que pudieran llegar a considerarse creativas. El trmino inteligencia artificial (IA) fue establecido en 1956 por John McCarthy, del Instituto de Tecnologa de Massachussets. En ese ao se celebr la conferencia de Dartmouth (Estados Unidos), donde se instituyeron las bases de la inteligencia artificial como un campo independiente dentro de la informtica. Previamente, en 1950, Alan M. Turing haba publicado un artculo en la revista Mind, titulado Computing Machinery and Intelligence (Ordenador e inteligencia), en el que reflexionaba sobre el concepto de inteligencia artificial y estableca lo que luego se conocera como el test de Turing, una prueba que permite determinar si un ordenador se comporta conforme a lo que se entiende como artificialmente inteligente o no. Una va que se est explorando activamente es el ordenador de proceso paralelo, que emplea muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso paralelo podra llegar a reproducir hasta cierto punto las complejas funciones de realimentacin, aproximacin y evaluacin que caracterizan al pensamiento humano. Otra forma de proceso paralelo que se est investigando es el uso de ordenadores moleculares. En estos ordenadores, los smbolos lgicos se expresan por unidades qumicas de ADN en vez de por el flujo de electrones habitual en los ordenadores corrientes. Los ordenadores moleculares podran llegar a resolver problemas complicados mucho ms rpidamente que las actuales superordenadores y consumir mucha menos energa. J os Manuel Huidobro Ingeniero de Telecomunicacin