Descargar

Historia de la Informática (página 2)


Partes: 1, 2, 3, 4, 5

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

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

Joseph-Marie Jackard (1753-1834). El primer evento notable sucedió en el 1801 cuando el francés, Joseph Jackard, desarrolló el telar automático. Jackard tuvo la idea de usar tarjetas perforadas para manejar agujas de tejer, en telares mecánicos. Un conjunto de tarjetas constituían un programa, el cual creaba diseños textiles.

Aunque su propósito no era realizar cálculos, contribuyó grandemente al desarrollo de las computadoras. Por primera vez se controla una máquina con instrucciones codificadas, en tarjetas perforadas, que era fácil de usar y requería poca intervención humana; y por primera vez se utiliza un sistema de tarjetas perforadas para crear el diseño deseado en la tela mientras esta se iba tejiendo. El telar de Jackard opera de la manera siguiente: las tarjetas se perforan estratégicamente y se acomodan en cierta secuencia para indicar un diseño de tejido en particular. Esta máquina fue considerada el primer paso significativo para la automatización binaria.

Charles Babbage (1793-1871). Profesor de matemáticas de la Universidad de Cambridge, Inglaterra, desarrolla en 1823 el concepto de un artefacto, que él denomina "máquina diferencial". La máquina estaba concebida para realizar cálculos, almacenar y seleccionar información, resolver problemas y entregar resultados impresos. Babbage imaginó su máquina compuesta de varias otras, todas trabajando armónicamente en conjunto: los receptores recogiendo información; un equipo transfiriéndola; un elemento almacenador de datos y operaciones; y finalmente una impresora entregando resultados. Pese a su increíble concepción, la máquina de Babbage, que se parecía mucho a una computadora, no llegó jamás a construirse. Los planes de Babbage fueron demasiado ambiciosos para su época. Este avanzado concepto, con respecto a la simple calculadora, le valió a Babbage ser considerado como el precursor de la computadora.

La novia de Babbage, Ada Augusta Byron, luego Condesa de Lovelace, hija del poeta inglés Lord Byron, que le ayuda en el desarrollo del concepto de la Máquina Diferencial, creando programas para la máquina analítica, es reconocida y respetada, como el primer programador de computadoras. La máquina tendría dos secciones fundamentales: una parte donde se realizarían todas las operaciones y otra donde se almacenaría toda la información necesaria para realizar los cálculos, así como los resultados parciales y finales. El almacén de datos consistiría de mil registradoras con un número de 50 dígitos cada una; estos números podrían utilizarse en los cálculos, los resultados se podrían guardar en el almacén y los números utilizados podrían transferirse a otras ubicaciones.

La máquina controlaría todo el proceso mediante la utilización de tarjetas perforadas similares a las inventadas por Jackard para la creación de diseños de sus telares, y que hasta hace muy poco se utilizaban regularmente.

Babbage no pudo lograr su sueño de ver construida la máquina, que había tomado 15 años de su vida entre los dos modelos, pero vio un equipo similar desarrollado por un impresor sueco llamado George Scheutz,

basado en su máquina diferencial.

documentación Babbage colaboró con Scheutz en la fabricación de su máquina e inclusive influyó todo lo que pudo, para que esta ganara la Medalla de Oro Francesa en 1855.

George Boole Trabajo sobre las bases sentadas por Leibnitz, quien preconizó que todas las verdades de la razón se conducían a un tipo de cálculo, para desarrollar en 1854, a la edad de 39

años, su teoría que redujo la lógica a un tipo de álgebra extremadamente simple. Esta teoría de la lógica construyó la base del desarrollo de los circuitos de conmutación tan importantes en telefonía y en el diseño de las computadoras electrónicas.

En su carrera como matemático, Boole tiene a su crédito también haber descubierto algo que se considera que fue indispensable para el desarrollo de la teoría de la relatividad de Einstein: las magnitudes constantes. Los descubrimientos matemáticos de George Boole, que llevaron al desarrollo del sistema numérico binario (0 y 1) constituyeron un hito incuestionable a lo largo del camino hacia las modernas computadoras electrónicas. Pero además de la lógica, el álgebra de Boole tiene otras aplicaciones igualmente importantes, entre ellas la de ser el álgebra adecuada para trabajar con la teoría combinatoria de la operación de unión e intersección. También, siempre en este campo, al considerar la idea del número de elementos de un conjunto, el álgebra de Boole constituye la base de la Teoría de las Probabilidades.

 Claude Elwood Shanon A él  se debe el haber podido aplicar a la electrónica – y por extensión a las computadoras – los conceptos de la teoría de Boole. Shanon hizo sus planteamientos en 1937 en su tesis de grado para la Maestría en Ingeniería Eléctrica en el MIT, uno de los planteles de enseñanza científica y tecnológica más prestigiosos del mundo.

En su tesis, Shanon sostenía que los valores de verdadero y falso planteados en el álgebra lógica de Boole, se correspondían con los estados 'abierto' y 'cerrado' de los circuitos eléctricos. Además, Shanon definió la unidad de información, et bit, lo que consecuentemente constituyó la base para la utilización del sistema binario de las computadoras en lugar del sistema decimal.

 William Burroughs Nació el 28 de enero de 1857. La monotonía del trabajo y la gran precisión que se necesitaba en los resultados de los cálculos fue lo que decidió a William Burroughs a intentar construir una máquina calculadora precisa y rápida. Sus primeros pasos en este sentido los dio en 1882, pero no fue hasta casi veinte años después que su esfuerzo se vio coronado por el éxito.

Las primeras máquinas compradas por los comerciantes tuvieron que recogerse rápidamente, puesto que todas,   presentaban defectos en el funcionamiento. Este nuevo fracaso fue el paso final antes de perfeccionar definitivamente su modelo al cual llamó Maquina de sumar y hacer listas.

A pesar de otro sin número de dificultades en promoción y mercado de su nueva máquina, poco a poco este modelo se fue imponiendo, de modo que luego de dos años ya se vendían a razón de unas 700 unidades por año. William Burroughs, fue el primer genio norteamericano que contribuyó grandemente al desarrollo de la computadora

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

Konrad Zuse  Nació en Berlín, Alemania, en 1910. EN 1938, Zuse ya había desarrollado una notación binaria que aplicó a los circuitos de rieles electromagnéticos que utilizaría más tarde en su serie de computadoras. El primer modelo construido por Konrad Zuse en 1939, fabricado por completo en la sala de su casa sin ayuda por parte de ninguna agencia gubernamental o privada, era un equipo completamente mecánico. Este modelo fue bautizado con el nombre de V-1 (V por Versuchmodel o Modelo Experimental). La intención principal de Zuse al tratar de desarrollar estos equipos era proporcionar una herramienta a los científicos y técnicos para resolver la gran cantidad de problemas matemáticos involucrados en todas las ramas científicas y técnicas.

En 1939 Konrad Zuse fue reclutado por el ejército alemán, pero pronto fue licenciado (al igual que la mayoría de los ingenieros en aquella época) y asignado a trabajar en el cuerpo de ingeniería que desarrollaba los proyectos del ejército, en el Instituto Alemán de Investigación Aérea.

Al mismo tiempo que prestaba sus servicios en el citado instituto, Zuse continúo sus trabajos en la sala de su casa y desarrolló una versión más avanzada de su V-1 a la cual denominó V-2. Este modelo lo construyó Zuse con la ayuda de un amigo y estudiante del mismo Instituto Técnico donde Zuse había estudiado, Helmut Schreyer había hecho su carrera en la rama de las telecomunicaciones y fue él quién consiguió los rieles electromagnéticos con que funcionaba este nuevo modelo, y quien sugirió a Zuse su utilización.

Alfred Teichmann, uno de los principales científicos que prestaba servicios en el Instituto Alemán de Investigaciones Aéreas, tuvo conocimiento de los trabajos de Zuse con respecto a las computadoras en una visita que hizo a la casa de éste. Allí vio por primera vez el modelo V-2 y quedó inmediatamente convencido de que máquinas como esa eran las que se necesitaban para resolver algunos de los problemas más graves que se estaban presentado en el diseño de los aviones.

Con la ayuda de Teichmann, Zuse logró conseguir fondos que le permitieron continuar con sus investigaciones un poco más holgadamente, aunque siempre en la sala de su casa, y así surgió, con la colaboración activa de Schreyer, la V-3, la primera computadora digital controlada por programas y completamente operacional. Este modelo constaba con 1.400 rieles electromagnéticos en la memoria, 600 para el control de las operaciones aritméticas y 600 para otros propósitos.

Durante la Segunda Guerra Mundial Wernher von Braun, eminente científico alemán, desarrolló un tipo de bombas cohete denominadas V-1 y V-2, muy celebres sobre todo por el papel que jugaron en los ataques alemanes contra el puerto de Amberes (Bélgica) y Londres (Inglaterra). Para evitar confusión con estas bombas, Zuse determinó cambiar la denominación de sus computadoras que, en adelante, pasaron a conocerse como Z-1, Z-2, Z-3, etc.

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

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

En 1944, mientras Zuse trabajaba en la terminación de la Z-4, se enteró de la presentación en Estados Unidos de la Mark I de Aiken, la primera computadora digital programable norteamericana.

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

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

Además de sus trabajos en la computadora, Konrad Zuse desarrolló un idioma prototipo al cual llamó Plankalkul, en el cual anticipó y resolvió varios de los problemas que se abarcan hoy en el contexto de la teoría de los algoritmos, programación estructurada y estructura de la programación de idiomas para computadoras. Poco después de terminada la guerra, ya establecido en suelo suizo, Konrad Zuse estableció su propia compañía a la que denomino Zuse KG. Después de varios años construyendo su serie Z y de no haber logrado interesar lo suficiente a IBM para respaldar su producción, Remington Rand decidió ayudar a comercializar en Suiza algunos de los modelos fabricados por Zuse. Finalmente, la firma Siemens AG adquirió los derechos sobre la compañía de Zuse y éste quedó como consultor semi-retirado de la misma. Hoy se reconoce a Konrad Zuse como el creador de la primera computadora digital programable completamente operacional.

Atanasoff Y Berry Una antigua patente de un dispositivo que mucha gente creyó que era la primera computadora digital electrónica, se invalidó en 1973 por orden de un tribunal federal, y oficialmente se le dio el crédito a John V. Atanasoff como el inventor de la computadora digital electrónica. El Dr. Atanasoff, catedrático de la Universidad Estatal de Iowa, desarrolló la primera computadora digital electrónica entre los años de 1937 a 1942. Llamó a su invento la computadora Atanasoff-Berry, ó solo ABC (Atanasoff Berry Computer). Un estudiante graduado, Clifford Berry, fue una útil ayuda en la construcción de la computadora ABC.

En el edificio de Física de la Universidad de Iowa aparece una placa con la siguiente leyenda: "La primera computadora digital electrónica de operación automática del mundo, fue construida en este edificio en 1939 por John Vincent Atanasoff, matemático y físico de la Facultad de la Universidad, quien concibió la idea, y por Clifford Edward Berry, estudiante graduado de física."

MARK I (1944) Marca la fecha del la primera computadora, que se pone en funcionamiento. Es el Dr. Howard Aiken en la Universidad de Harvard, Estados Unidos, quien la presenta con el nombre de Mark I. Es esta la primera máquina procesadora de información. La Mark I funcionaba eléctricamente, las instrucciones e información se introducen en ella por medio de tarjetas perforadas. Los componentes trabajan basados en principios electromecánicos. Este impresionante equipo medía 16 mts. de largo y 2,5 mts. de alto, contenía un aproximado de 800.000 piezas y más de 800 Km. de cablerío eléctrico, pero los resultados obtenidos eran igualmente impresionantes para la época. Mark I tenía la capacidad de manejar números de hasta 23 dígitos, realizando sumas en menos de medio segundo, multiplicaciones en tres segundos y operaciones logarítmicas en poco más de un minuto. Ahora sí se había hecho por fin realidad el sueño de Pascal, Leibnitz, Babbage, Hollerith y muchos otros: la computadora era una realidad.

A pesar de su peso superior a 5 toneladas y su lentitud comparada con los equipos actuales, fue la primera máquina en poseer todas las características de una verdadera computadora.

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

Para 1951, la compañía Remington Rand, otra de las líderes en este campo, presento al mercado su modelo denominado Univac, que ganó el contrato para el censo de 1951 por su gran capacidad, netamente superior a todas las demás desarrolladas hasta el momento.

Pero para la recia personalidad de Thomas J. Watson,  se le hacia difícil aceptar que su compañía no fuera la principal en este campo, así que en respuesta al desarrollo de la Univac, hizo que IBM construyera su modelo 701, una computadora científica con una capacidad superior 25 veces a la SSEC y muy superior también a la Univac.

A la 701 siguieron otros modelos cada vez más perfeccionados en cuanto a rapidez, precisión y capacidad, los cuales colocaron a IBM como el líder indiscutible de la naciente industria de las computadoras. Aunque en la actualidad es  difícil mencionar a una firma determinada como la primera en este campo, es un hecho irrefutable que IBM continua siendo una de las principales compañías en cuanto a desarrollo de computadoras se refiere.

  • Con ella se inicia una nueva era, en la cual la computadora pasa a ser el centro del desarrollo tecnológico, y de una profunda modificación en el comportamiento de las sociedades.

EDVAC (1947)  (Eletronic Discrete-Variable Automatic Computer, es decir computadora automática electrónica de variable discreta) Desarrollada por Dr. John W. Mauchly, John Presper Eckert Jr. y John Von Neumann. Primera computadora en utilizar el concepto de almacenar información.  Podía almacenar datos e instrucciones usando un código especial llamado notación binaria. Los programas almacenados dieron a las computadoras una flexibilidad y confiabilidad tremendas, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos. Una computadora con capacidad de programa almacenado podría ser utilizada para varias aplicaciones cargando y ejecutando el programa apropiado. Hasta este punto, los programas y datos podían ser ingresados en la computadora sólo con la notación binaria, que es el único código que las computadoras "entienden". El siguiente desarrollo importante en el diseño de las computadoras fueron los programas intérpretes, que permitían a las personas comunicarse con las computadoras utilizando medios distintos a los números binarios. En 1952 Grace Murray Hoper una oficial de la Marina de EE.UU., desarrolló el primer compilador, un programa que puede traducir enunciados parecidos al inglés en un código binario comprensible para la maquina llamado COBOL (COmmon Business-Oriented Languaje).

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

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

operaciones tales como suma y multiplicación en cuestión de microsegundos.

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

El Software

 Durante las tres primeras décadas de la Informática, el principal desafío era el desarrollo del hardware de las computadoras, de forma que se redujera el costo de procesamiento y almacenamiento de datos.

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

Fue hasta el año 1968 que se convocó una reunión en Garmisch, Alemania Oriental estimulándose el interés hacia los aspectos técnicos y administrativos utilizados en el desarrollo y mantenimiento del software, y fue entonces donde se utilizó el término "Ingeniería del Software".

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

Una necesidad sentida en nuestro medio es el hecho de que los productos de software deben ser desarrollados con base en la implementación de estándares mundiales, modelos , sistemas métricos, capacitación del recurso humano y otros principios y técnicas de la ingeniería de software que garanticen la producción de software de calidad y competitividad a nivel local e internacional.

Con el acelerado avance tecnológico de la información, la cantidad y la complejidad de los productos de software se están incrementando considerablemente, así como también la exigencia en su funcionalidad y confiabilidad; es por esto que la calidad y la productividad se están constituyendo  en las grandes preocupaciones tanto de gestores como para desarrolladores de software.

En los primeros años del software, las actividades de elaboración de programas eran realizadas por una sola persona utilizando lenguajes de bajo nivel y ajustándose a un computador en especial, que generaban programas difíciles de entender, aun hasta para su  creador, después de algún tiempo de haberlo producido. Esto implicaba tener que repetir el mismo proceso  para desarrollar el mismo programa para otras máquinas. Por consiguiente, la confiabilidad, facilidad de mantenimiento y cumplimiento no se garantizaban y la productividad era muy baja.

Posteriormente, con la aparición de técnicas estructuradas y con base en las experiencias de los programadores se mejoró la productividad del software. Sin embargo, este software seguía teniendo fallas, como por ejemplo: inadecuada, dificultad para su correcto funcionamiento, y por su puesto, insatisfacción del cliente.

Conforme se incrementaba la tecnología de los computadores, también crecía la demanda de los productos de software, pero mucho más lentamente, tanto que hacia 1990 se decía que las posibilidades del software estaban retrasadas respecto a las del hardware en un mínimo de dos generaciones de procesadores y que la distancia continuaba aumentando.

En la actualidad  muchos de estos problemas subsisten en el desarrollo de software, con una dificultad adicional relacionada  con la incapacidad para satisfacer totalmente la gran demanda y exigencias por parte de los clientes.

El elemento básico del software es el programa. Un programa es un grupo de instrucciones destinadas a cumplir una tarea en particular. Un programa puede estar conformado por varios programas más sencillos.

El software se puede clasificar en tres grupos: sistemas operativos, lenguajes de programación y aplicaciones.  

Sistema Operativo

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

El sistema operativo es una colección de programas diseñados para facilitarle al usuario la creación y manipulación de archivos, la ejecución de programas y la operación de otros periféricos conectados a la computadora.  Ejemplo de algunos comandos son: abrir un archivo, hacer una copia impresa de lo que hay en la pantalla y copiar un archivo de un disco a otro.

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

Toda computadora tiene algún tipo de sistema operativo, el cual debe ser activado cuando la computadora se enciende.  Si el sistema operativo está grabado en la ROM o presente en el disco duro de la computadora, el sistema operativo, generalmente, se activa automáticamente cuando la computadora se enciende.  Si no, se inserta un disco que contenga el sistema operativo para activarlo.

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

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

El DOS ("Disk Operating System") es el sistema operativo del disco.  Es el conjunto de instrucciones del programa que mantiene un registro de las tareas requeridas para la operación de la computadora, o sea, es una colección de programas diseñados para crear y manejar archivos, correr programas y utilizar los dispositivos unidos al sistema de la computadora.  

Entre las tareas que realiza un SO tenemos:

  • Si es un sistema multitarea: asignar y controlar los recursos del sistema, definir qué aplicación y en qué orden deben ser ejecutadas.
  • Manejar la memoria del sistema que comparten las múltiples aplicaciones.
  • Manejar los sistemas de entrada y salida, incluidos discos duros, impresoras y todo tipo de puertos.
  • Envío de mensajes de estado a las aplicaciones, al administrador de sistema o al propio usuario, sobre cualquier    error o información necesaria para el trabajo estable y uniforme del sistema.
  • Asume tareas delegadas de las propias aplicaciones, como impresión en background y procesamiento por lotes, con el fin de que éstas ganen en eficiencia y tiempo.
  • Administra, de existir, el procesamiento en paralelo. 
  • Tipos de sistemas operativos
  • El "Character based": DOS dice si está listo para recibir un comando presentando un símbolo ("prompt") en la pantalla: C:>. El usuario responde escribiendo una instrucción para ser ejecutada, caracter por caracter mediante el uso del teclado.    
  • El "Graphic User Interface": Hace uso de un "mouse" como un dispositivo de puntero y permite que se apunte a iconos (pequeños símbolos o figuras que representan alguna tarea a realizarse) y oprimir el botón del "mouse" para ejecutar la operación o tarea seleccionada. El usuario puede controlar el sistema operativo seleccionando o manipulando iconos en el monitor.

Ejemplos de sistemas operativos

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

Linux       Windows para sistemas operativos DOS       Windows NT  

GENERACIONES DE SISTEMAS OPERATIVOS

 Los sistemas operativos, al igual que el hardware de las computadoras, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del hardware, las generaciones han sido enmarcadas por grandes avances en los componentes utilizados, pasando de válvulas (primera generación), a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación). Cada generación sucesiva de hardware ha sido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad.

Generación Cero (Década de 1940)

 Los sistemas operativos han ido evolucionando durante los últimos 40 años a través de un número de distintas fases o generaciones que corresponden a décadas. En 1940, las computadoras electrónicas digitales más nuevas no tenían sistema operativo. Las Máquinas de ese tiempo eran tan primitivas que los programas por lo regular manejaban un bit a la vez en columnas de switch's mecánicos. Eventualmente los programas de lenguaje de máquina manejaban tarjetas perforadas, y lenguajes ensamblador fueron desarrollados para agilizar el proceso de programación. Los usuarios tenían completo acceso al lenguaje de la maquina.

Todas las instrucciones eran codificadas a mano.

Primera Generación (Década de 1950)

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

Al inicio de los años 50 esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina), puesto que ya no había necesidad de utilizar los tableros enchufables.  Esto se conoce como sistemas de procesamiento por lotes de un sólo flujo, ya que los programas y los datos eran sometidos en grupos o lotes. El laboratorio de investigación General Motors implementó el primer sistema operativo para la IBM 701.

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

Para poder correr un trabajo (programa), tenían que escribirlo en papel (en Fortran o en lenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores. Cuando la computadora terminaba el trabajo, un operador se dirigiría a la impresora y desprendía la salida y la llevaba al cuarto de salida, para que la recogiera el programador.   

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

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

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

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

Se desarrollaron sistemas compartidos, en la que los usuarios podían acoplarse directamente con el computador a través de terminales. Surgieron sistemas de tiempo real, en que los computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata. 

Multiprogramación

  • Sistemas multiprogramados : varios trabajos se conservan en memoria al mismo tiempo, y el cpu se comparte entre ellos
  • Rutinas de E/S: provista por el sistema ejecutadas simultáneamente con procesamiento del CPU.
  • Administración de memoria: el sistema debe reservar memoria para varios trabajos.
  • Administración del CPU: el sistema debe elegir entre varios trabajos listos para ejecución.
  • Administración de dispositivos. 

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

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

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

Sistemas de Tiempo Compartido

  • El  CPU se comparte entre varios trabajos que se encuentran residentes en memoria y en el disco (el CPU se asigna a un trabajo solo si éste esta en memoria).
  • Un trabajo es enviado dentro y fuera del la memoria hacia el disco.
  • Existe comunicación en-línea entre el usuario y el sistema; cuando el sistema operativo finaliza la ejecución de un comando, busca el siguiente "estatuto de control" no de una tarjeta perforada, sino del teclado del operador.
  • Existe un sistema de archivos en línea el cual está disponible para los datos y código de los usuarios 

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

 Los sistemas de la cuarta generación constituyen el estado actual de la tecnología. Muchos diseñadores y usuarios se sienten aun incómodos, después de sus experiencias con los sistemas operativos de la tercera generación, y se muestran cautelosos antes de comprometerse con sistemas operativos complejos. Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuarios obtienen acceso a computadores alejados geográficamente a través de varios tipos de terminales. El microprocesador ha hecho posible la aparición de la computadora personal, uno de los desarrollos de notables consecuencias sociales más importantes de las últimas décadas. Ahora muchos usuarios han desarrollado sistemas de computación que son accesibles para su uso personal en cualquier momento del día o de la noche. La potencia del computador, que costaba varios cientos de miles de dólares al principio de la década de 1960, hoy es mucho más accesible. El porcentaje de la población que tiene acceso a un computador en  el Siglo XXI es mucho mayor. El usuario puede tener su propia computadora para realizar parte de su trabajo, y utilizar facilidades de comunicación para transmitir datos entre sistemas. La aplicación de paquetes de software tales como procesadores de palabras, paquetes de bases de datos y paquetes de gráficos ayudaron a la evolución de la computadora personal. La llave era transferir información entre computadoras en redes de trabajo. El correo electrónico, transferencia de archivos, y aplicaciones de acceso a bases de datos proliferaron. El modelo cliente-servidor fue esparcido. El campo de ingeniería del software continuó evolucionando con una mayor confianza proveniente de los EE.UU. Los ambientes del usuario, altamente simbólicos, y orientados hacia las siglas de las décadas de los sesenta y setenta, fueron reemplazados, en la década de los ochenta, por los sistemas controlados por menú, los cuales guían al usuario a lo largo de varias opciones expresadas en un lenguaje sencillo.

Mini-computadoras y Microprocesadores

  • Computadoras de menor tamaño.
  • Desarrollo de sistemas operativos (UNIX, DOS, CP/M).
  • Mejora en las interfaces de usuario.
  • Introducción de Microprocesadores.
  • Desarrollo de lenguajes de programación.

Sistemas de cómputo personales

  • Computadoras Personales- sistemas de cómputo dedicados a un solo usuario.
  • Dispositivos de E/S- teclados, ratón, pantalla, impresoras..
  • Conveniente al usuario y de respuesta rápida.
  • Puede adaptarse a la tecnología para soportar otros sistemas operativos.

Sistemas Distribuidos

  • Sistemas Distribuidos: Distribuyen el cómputo entre varios procesadores geográficamente dispersos.
  • Sistemas débilmente acoplados: Cada procesador tiene su propia memoria local y el procesador se comunica con los demás procesadores mediante líneas de comunicación, buses de alta velocidad y líneas telefónicas.

Ventajas:

–        Compartición de recursos     

–        Incremento en la velocidad de cómputo

–        Compartición de carga

–        Confiabilidad

–        Comunicación

Redes

  • Estaciones de Trabajo: Sun, Vax, Silicon Graphics.
  • Redes de Area Local Ethernet, Token Ring, FDDI, ATM, Redes de larga distancia (Arpanet).
  • Redes organizadas como clientes-servidores.
  • Servicios de S.O. Protocolos de comunicación, encriptación de datos, seguridad, consistencia  

Sistemas Paralelos

  • Sistemas Paralelos: Sistemas de múltiples procesadores con mas de un procesador con comunicación entre ellos.
  • Sistema Fuertemente Acoplado: Los procesadores comparten memoria y reloj; la comunicación usualmente se realiza mediante memoria compartida.

Ventajas:

–         Incremento de throughput

–         Económica

–         Incremento en la confiabilidad

1990 – 2000

  • Cómputo Paralelo (Teraflops).
  • PC’s poderosas (1.5 GigaHertz), Computadoras Multimedia.
  • Redes de Comunicación de distancia mundial, con envío de imágenes, grandes cantidades de datos, audio y video.
  • World Wide Web.
  • Notebooks utilizando tecnologías de comunicación inalámbrica: Cómputo Móvil.
  • Cómputo Embebido y Robótica.

Sistemas de Tiempo Real

  • A menudo son utilizados como dispositivos de control en aplicaciones dedicadas, como control de experimentos científicos, sistemas de procesamiento de imágenes médicas, sistemas de control industrial, etc…
  • Exige cumplimiento de restricciones de tiempos.
  • Sistemas de Tiempo Real Críticos.

–        Cumplimiento forzoso de plazos de respuesta.

–        Predecibilidad y análisis de  cumplimiento de plazos de respuesta

  • Sistemas de tiempo real acríticos.

–        Exigencia "suave" de plazos de respuesta.

–        Atención lo mas rápido posible a eventos, en promedio. 

UNIX

Los orígenes del sistema UNIX se remontan al desarrollo de un proyecto iniciado en 1968. Este proyecto fue realizado por General Electric, AT&T, Bell y el MIT; llevaron a cabo el desarrollo de un sistema operativo con nuevos conceptos como la multitarea, la gestión de archivos o la interacción con el usuario. El resultado de estas investigaciones se bautizó como MULTICS. El proyecto resultó ser demasiado ambicioso, por lo que no llegó a buen fin y terminó abandonándose.

Posteriormente la idea de este proyecto se vuelve a retomar y conduce al gran desarrollo en 1969 del sistema operativo UNIX. Entre los investigadores destacaban Ken Thompson y Dennis Ritchie. En principio, este sistema operativo recibió el nombre de UNICS, aunque un año después pasa a llamarse UNIX, como se conoce hoy en día.

El código de UNIX estaba inicialmente escrito en lenguaje ensamblador, pero en 1973, Dennis Ritchie llevó a cabo un proyecto para reescribir el código de UNIX en lenguaje C. UNIX se convirtió así en el primer sistema operativo escrito en lenguaje de alto nivel. Con este nuevo enfoque fue posible trasladar el sistema operativo a otras máquinas sin muchos cambios, solamente efectuando una nueva compilación en la máquina de destino. Gracias a esto la popularidad de UNIX creció y permitió asentar la "filosofía UNIX".

Inicialmente UNIX fue considerado como un proyecto de investigación, hasta el punto de distribuirse de forma gratuita en algunas universidades, pero después la demanda del producto hizo que los laboratorios Bell iniciaran su distribución oficial.

Después de tres décadas de haber escapado de los laboratorios Bell, el UNIX sigue siendo uno de los SO más potentes, versátiles y flexibles en el mundo de la computación. Su popularidad se debe a muchos factores incluidas su portabilidad y habilidad de correr eficientemente en una inmensa variedad de computadoras. Descrito frecuentemente como un sistema "simple, potente y elegante" el UNIX es hoy el corazón que late en el seno de millones de aplicaciones de telefonía fija y móvil, de millones de servidores en universidades, centros académicos, grandes, medianas y pequeñas empresas, el SO cuyo desarrollo viene de la mano del de Internet y que alberga a millones de servidores y aplicaciones de la red de redes. Sin UNIX, no cabe duda, el mundo de la informática hubiera sido otro.

Linux

En octubre de 1991 un estudiante graduado de Ciencias de la Computación en la Universidad de Helsinki, llamado Linus Torvalds, anuncia en Internet que había escrito una versión libre de un sistema MINIX (una variante de UNÍX) para una computadora con procesador Intel 386 y lo dejaba disponible para todo aquel que estuviera interesado. En los subsiguientes 30 meses se desarrollarían hasta 90 versiones del nuevo SO, finalizando en 1994 con la definitiva, llamándola Linux versión 1.0.

La fascinación de los medios por Linux viene dada, entre otras cosas, por ser un proyecto de ingeniería de software distribuido a escala global, esfuerzo mancomunado de más de 3 000 desarrolladores y un sinnúmero de colaboradores distribuidos en más de 90 países. El rango de participantes en la programación del Linux se ha estimado desde unos cuantos cientos hasta más de 40.000, ya sea ofreciendo código, sugiriendo mejoras, facilitando comentarios o describiendo y enriqueciendo manuales. De hecho, se cuenta que el mayor soporte técnico jamás diseñado de manera espontánea y gratuita pertenece a este SO. Hoy Linux es una alternativa para muchos o un indispensable para otros. Su importancia no puede ser relegada: los RED HAT, los SUSE, los Mandrake pueblan miles de servidores por todo el planeta

Las Distribuciones de Linux son:

 Caldera: El énfasis de esta distribución es la facilidad de uso e instalación para los usuarios. Se orienta más hacia el desktop a pesar que, como cualquier otra distribución de Linux, puede ser usada para servidores.

 Corel: Es una distribución basada en Debian, pero extensivamente modificada para hacerla tan fácil de usar como el sistema operativo de Microsoft. Es quizá la distribución más fácil de utilizar para alguien que no esté familiarizado con Unix.

 Debian: Es una distribución orientada más a desarrolladores y programadores. El énfasis de esta distribución es incluir en su sistema solamente software libre según la definición de la Fundación del Software Libre (FSF).

 Mandrake: Es una distribución originalmente basada en RedHat que se enfoca principalmente hacia la facilidad de uso. Al igual que Corel, es recomendada para quienes no tengan mucha experiencia con sistemas Unix.

 RedHat: Es la distribución más popular de Linux y para la que hay más paquetes comerciales de software. Está orientada tanto al desktop como a servidores. La mayoría de servidores de web que utilizan Linux como sistema operativo usan esta distribución.

 S.U.S.E.: Es la distribución más popular en Europa y probablemente la segunda más popular del mundo. Al igual que RedHat, está orientada tanto a desktops como a servidores.

 Slackware: Es una distribución de Linux que pretende parecerse a BSD desde el punto de vista del administrador de sistemas. No es una distribución muy popular a pesar que cuando comenzó era la más popular.

 Stampede: Es una distribución enfocada al rendimiento y velocidad del sistema. No es muy fácil de usar para quién no está acostumbrado a la administración de sistemas Unix.

OS/2 (IBM Operating System 2)

OS/2 son las siglas de "Sistema operativo de segunda generación". La idea de OS/2 surgió entre IBM y Microsoft a mediados de los 80, en un intento de hacer un sucesor de MS-DOS, el cual ya empezaba a acusar el paso del tiempo y resultaba claramente desaprovechador de los recursos de las máquinas de la época (basadas en el Intel 286).

OS/2 1.0

OS/2 1.0 salió en abril de 1987 y era un sistema operativo de 16 bits, pues estaba pensado para trabajar sobre el microprocesador 286. Sin embargo, aprovechaba plenamente el modo protegido de este ordenador, haciendo uso de sus capacidades para protección de memoria, gestión de multitarea, etc. El resultado fue un S.O. estable, rápido y muy potente.

OS/2 ya tenía incorporada desde esa primera versión la multitarea real. Se podían ejecutar varias sesiones simultáneamente, en cada una de ellas se podían tener múltiples programas, y cada uno de ellos podía tener múltiples threads en ejecución. Se trataba de una multitarea jerárquica, con cuatro niveles de prioridad: Crítico (útil para programas que requieran atención casi constante por parte del CPU, como un módem), Primer plano (correspondiente al programa que tiene acceso a la pantalla, teclado y ratón), Medio (programas lanzados por el usuario que se ejecutan en BackGround) y Desocupado (tareas de poca importancia o lentas, como el Spooler de impresión). Dentro de cada nivel (a excepción del de Primer plano), existen 32 niveles de prioridad, los cuales son asignados dinámicamente a cada programa por el S.O. en función del porcentaje de uso del CPU, de los puertos de E/S, etc.

OS/2, además, permitía memoria virtual, con lo que se podían ejecutar programas más largos que lo que la memoria física instalada permitiría en principio (los requerimientos de aquella versión eran un 286 con 2 megas de memoria). Por otro lado, incluía la característica de compartición de código: al cargar dos veces un mismo programa, el código de este no se duplicaba en memoria, sino que el mismo código era ejecutado por dos Threads diferentes. Esto permitía ahorrar mucha memoria.

Esta versión de OS/2 era íntegramente en modo texto. Si bien el Sistema Operativo daba la posibilidad de usar los modos gráficos de la tarjeta del ordenador, no incluía ningún API que ayudase en ello, recayendo todo el trabajo de diseño de rutinas de puntos, líneas, etc, en el programador de la aplicación. Esto no era realmente tan problemático, pues era lo que se hacía en el mundo del MS-DOS. Sin embargo, se añoraba un entorno gráfico como Windows.

OS/2 1.1

En la versión 1.1, aparecida en octubre de 1988, llegó por fin el Presentation Manager, un gestor de modo gráfico, junto con la primera versión de Work Place Shell. Ambos formaban un entorno gráfico muy parecido al aún no comercializado Windows 3.0. También hizo su aparición el formato de ficheros HPFS (High Performance File System). Este sistema de ficheros complementaba al clásico FAT, que era el usado por MS-DOS y por OS/2 1.0; sin embargo, ofrecía una gran cantidad de ventajas, tales como:

  • Menor fragmentación de ficheros: HPFS busca primero una zona en donde el archivo entre completo, con lo que la fragmentación de ficheros es prácticamente inexistente. De hecho, IBM recomienda desfragmentar los discos duros una vez al año, y solo a los paranoicos.
  • Mayor capacidad: HPFS admite discos duros de  más capacidad, manteniendo el tamaño del cluster (unidad mínima de información almacenable) en 512 bytes o un sector. En FAT, el tamaño mínimo de cluster para un disco duro es 2048 bytes, y para discos mayores aumenta (un disco duro de 1 giga tiene un tamaño de cluster de 32K).
  • Soporte para nombres largos: Permite nombres de hasta 256 caracteres.
  • Mayor seguridad: Si al grabar en un sector se detecta un error, se marca automáticamente como defectuoso y se graba en otra parte.
  • Mayor velocidad en el acceso: Gracias a la estructura jerárquica de directorios, que optimiza el acceso a disco.

El gran problema de OS/2 es que seguía siendo un S.O. de 16 bits, con lo que no aprovechaba plenamente las capacidades de los 386 de la época, que empezaron a extenderse con más velocidad de la esperada. Según una revista del sector, Microsoft sugirió hacer una versión de 32 bits (que obligaría a ejecutarla en ordenadores 386 o superiores), pero IBM insistió en perfeccionar la de 16 bits. Sobre quien dijo cada cosa realmente solo se puede especular. Lo único que se sabe a ciencia cierta es que la versión de OS/2 de 32 bits presentada por Microsoft en 1990 era casi igual que la versión 1.3, con la única diferencia de que el kernel era de 32 bits. IBM, por su parte, quería un escritorio orientado a objetos, y no el clásico shell de OS/2 1.x (el cual Microsoft copiaría para su Windows 3.0). Puestas así las cosas, finalmente se rompió el acuerdo entre ambos.

OS/2 2.0

 Fué la primera versión de OS/2 de 32 bits, iba a salir inicialmente a finales de 1990; pero al no contar con la ayuda de Microsoft, IBM no fue capaz de sacarlo hasta 1992, dándole a Windows 3.0 el tiempo suficiente para asentarse en el mercado.

OS/2 2.0 tenía todas las ventajas de los anteriores OS/2, unido al nuevo núcleo de 32 bits. No se trataba, por tanto, de un retoque de la versión de 16 bits, sino un sistema operativo prácticamente nuevo que aprovechaba al máximo las capacidades del modo protegido del microprocesador 386. Sin embargo, iba más allá que Windows, pues al contrario que éste, ofrecía compatibilidad garantizada con todas las aplicaciones de 16 bits anteriores, gracias a la inclusión del API original de 16 bits junto con el nuevo de 32, y además sin perdida de prestaciones. Así mismo, ofrecía también compatibilidad con Windows 2.x y 3.0, junto con una compatibilidad con MS-DOS muy mejorada, gracias al modo V86 que incorporan los micros 386 y del que carecía el 286: en OS/2 1.x la compatibilidad DOS era muy limitada, quedando reducida a una sola tarea y realizando un cambio entre modo real y modo protegido del microprocesador, además de consumir de manera permanente 640 K  de memoria. Aparte, la emulación no era todo lo buena que cabía esperar. Todos estos problemas desaparecieron en la versión 2.0, pudiendo tener varias sesiones DOS totalmente independientes entre sí, con una compatibilidad cercana al 100% y beneficiándose de las capacidades de Crash Protection del OS/2, que impiden que un programa pueda colapsar el sistema entero.

Por otro lado, el Work Place Shell (el shell de trabajo gráfico, de ahora en adelante WPS) fue muy mejorado, resultando un shell totalmente orientado a objetos, con acceso directo a los ficheros, carpetas dentro de carpetas, ficheros sombra (conocidos como alias en los sistemas UNIX) y un escritorio de verdad. 

IBM consiguió vender OS/2 2.0 en grandes cantidades; sin embargo, no consiguió su autentico despegue, en parte por culpa de la falta de apoyo por parte de las empresas del software. El API del Presentation Manager, aunque similar al de Windows, tenía muchas diferencias, con lo que las empresas tuvieron que elegir entre uno u otro, ante la imposibilidad de muchas de ellas de dividir su talento entre ambos sistemas.

OS/2  3.0 (Warp)

 A principios de 1994 aparece el OS/2 Warp, nombre comercial de la versión 3.0 de OS/2. En ella surgen nuevos elementos: un kit completo de multimedia (mejor del que traía la versión 2.1) y el Bonus Pak, un kit de aplicaciones que permite ponerse a trabajar con el ordenador nada más instalar el Sistema Operativo, pues contiene elementos como un Kit de conexión a Internet completo, el paquete integrado IBM Works (formado por un procesador de textos, hoja de cálculo, base de datos y gráficos de empresa, junto con el PIM, que añade más funcionalidades aprovechando las capacidades drag&drop del WPShell), soft de terminal, soft de captura y tratamiento de video, etc. Así mismo, la cantidad de hardware soportado fue ampliada de manera considerable, soportando casi cualquier dispositivo existente en el mercado: CD-Roms, impresoras, tarjetas de sonido, soporte PCMCIA, tarjetas de video, tarjetas de captura de video, tarjetas SCSI, etc. Los requisitos mínimos de esta versión seguían siendo un 386SX a 16MHz con 4 megas de RAM, los mismos que para Windows 3.11, y podía ejecutar programas DOS, OS/2 16bits, OS/2 32 bits, Windows 2.x y Windows 3.x (incluía además el API Win32, con lo que se podían ejecutar incluso programas Windows de 32bits).

IBM se metió en una campaña publicitaria a nivel mundial para promocionar esta nueva versión, la cual, sin embargo, no dio los resultados esperados. A pesar de eso, OS/2 es ampliamente utilizado en múltiples empresas, bancos sobre todo, en donde su estabilidad es la mayor garantía.

Poco después sale al mercado una revisión de Warp, denominada Warp Connect, la cual añade un kit completo de conexión a redes, soportando prácticamente cualquier estándar de red, incluyendo Novell Netware, TCP/IP, etc. junto con soporte para SLIP y PPP.

OS/2 4.0 (Merlín)

 En Noviembre de 1996 se hizo la presentación de Merlín, nombre clave de OS/2 4.0, y que, en contra de lo que mucha gente piensa, no tiene nada que ver con el mítico mago de la corte del rey Arturo, sino con un pájaro parecido a un águila (siguiendo la nueva filosofía de IBM de nombrar sus creaciones con nombres de aves). Merlín trae todo lo que ofrecía OS/2 3.0, pero lo amplía con un conjunto extra de características, como son:

  • Un soporte todavía mayor de hardware.
  • Mayor simplicidad de instalación.
  • Librerías OpenDoc (compatibles con OLE 2.0, pero más potentes).
  • Librerías OpenGL, que permiten aprovechar las capacidades 3D de las tarjetas que soporten este estándar.
  • API de desarrollo Open32, que permiten recompilar con suma facilidad las aplicaciones escritas para Windows95 y WindowsNT, de forma que aprovechen al máximo los recursos de OS/2.
  • Un Bonus Pack ampliado, incluyendo una nueva versión del IBMWorks basada en OpenDoc, y las utilidades LotusNotes.
  • Un Kernel aún más optimizado.
  • Escritorio mejorado, ofreciendo una orientación a objeto aún mayor.
  • Un extenso soporte de conectividad, superior a la versión Connect de Warp 3.0, lo que lo convierte en el cliente de red universal, pudiendo conectarse a casi cualquier servidor (no solo Warp Server, sino Windows NT Server, Novell, etc).
  • HPFS mejorado: mayor capacidad por disco y seguridad.
  • Sesiones DOS reales (el micro se conmuta a modo real, y todo el contenido de la

    RAM se guarda en disco, quedando el Sistema Operativo y el resto de las utilidades congelados, pudiendo rearrancar en cualquier momento. Es útil para juegos o programas de DOS muy exigentes, que se niegan a funcionar en una sesión DOS virtual).

  • La Característica Estrella de cara al Márketing: El VoiceType. Se trata de un software reconocedor de voz, capaz de funcionar con cualquier tarjeta de sonido, y que permite al usuario trabajar exclusivamente mediante el dictado de comandos. Este sistema, al contrario que otros disponibles hasta el momento, realmente reconoce el habla de forma continua, de modo que no sólo se puede usar para navegar por el escritorio y controlar programas, sino que sirve perfectamente para dictar cualquier tipo de texto, como artículos, cartas, etc., sin tocar una sola tecla. Se trata, por tanto, de un avance de los que serán, sin duda, los sistemas operativos del futuro.
Partes: 1, 2, 3, 4, 5
 Página anterior Volver al principio del trabajoPágina siguiente