SISTEMA OPERATIVO




HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

PRIMERA GENERACIÓN (1945 - 1955)
Sistemas en series

En esos primeros días, un grupo singular de personas diseñaba, construía, programaba, operaba y daba mantenimiento a cada máquina. Toda la programación se realizaba en lenguaje de maquina absoluto y con frecuencia se utilizaban conexiones para controlar las funciones básicas de la máquina. Los lenguajes de programación se desconocían (incluso el lenguaje ensamblador). Los primeros sistemas operativos eran extraños (no se oía de los sistemas operativos). El modo usual de operación consistía en que el programador firmaba para tener acceso a un bloque de tiempo en la hoja de registro situada en la pared, después bajaba al cuarto de máquinas, insertaba su conexión (tablero enchufable) en la computadora y pasaba unas horas esperando que ninguno de los 20,000 tubos o más bulbos se quemara durante la ejecución. La inmensa mayoría de los problemas eran cálculos numéricos directos, como por ejemplo el cálculo de valores para tablas de senos y cosenos.
A inicios de la década de los cincuenta, la rutina había mejorado un poco con la introducción de la tarjetas perforadas. Ahora era posible escribir  los programas en tarjetas y leerlos, en vez de utilizar tableros enchufables; por lo demás el procedimiento era el mismo.


SEGUNDA GENERACIÓN (1955 . 1965)
Sistemas por lotes

La introducción del transistor a mediados de la década de 1950 alteró el panorama radicalmente. Las computadoras se hicieron confiables como para poderse fabricar y vender a clientes comerciales con la expectativa de que seguirían funcionando el tiempo suficiente para realizar algo de trabajo útil. Por primera vez, había una separación clara entre diseñadores, constructores, operadores, programadores y personal de mantenimiento.
Estas máquinas se encerraban en cuartos de computadora con acondicionamiento de aire especial, con equipos de operadores profesionales para operarias. Sólo las grandes empresas, o las principales dependencias del gobierno o universidades, podían solventar el costo de muchos millones de dólares. 
Para ejecutar un trabajo, un programador escribía primero el programa en papel (en FORTRAN o ensamblador) y luego lo perforaba en tarjetas. Después, llevaba el grupo de tarjetas al cuarto de entrada y lo entregaba a  uno de los operadores el cual iniciaba el proceso en la computadora, este proceso desperdiciaba mucho tiempo.
Dado el alto costo del equipo, no es sorprendente que la gente pronto buscara formas de reducir el desperdicio de tiempo. La solución que se adoptó generalmente fue el sistema por lotes. El principio de este modo de operación consistía en juntar una serie de trabajos en el cuarto de entrada, leerlos y grabarlos en una cinta magnética usando una computadora pequeña y (relativamente) económica, como una IBM 1401, que era muy buena para leer tarjetas, copiar cintas e imprimir salidas, pero no para realizar cálculos numéricos. Otras máquinas, mucho más costosas, como la IBM 7094, se usaban para la computación propiamente dicha.




TERCERA GENERACIÓN (1965 - 1980)
Multiprogramación 


La creación y mantenimiento de dos líneas de producto totalmente distintas era una situación costosa para los fabricantes. Además, muchos clientes de computadoras nuevas necesitaban inicialmente una máquina pequeña que más adelante les resultaba insuficiente, de modo que querían una máquina más grande que ejecutara todos sus viejos programas, pero más rápidamente.

IBM trató de resolver simultáneamente ambos problemas introduciendo la Sistema/360. La 360 era una serie de máquinas de software compatible que iban desde tamaños comparables a la 1401 hasta computadoras mucho más potentes que la 7094. Las máquinas diferían sólo en el precio y el rendimiento (memoria máxima, velocidad del procesador, número de dispositivos de E/S permitidos, etc.). Puesto que todas las máquinas tenían la misma arquitectura y conjunto de instrucciones, los programas escritos para una máquina podían ejecutarse en todas las demás, al menos en teoría. Además, la 360 estaba diseñada para manejar computación tanto científica como comercial. Así, una sola familia de máquinas podía satisfacer las necesidades de todos los clientes. En años subsecuentes IBM produjo sucesoras comparables a la línea 360, usando tecnología más moderna, conocidas como series 370, 4300, 3080 y 3090.

A pesar de su enorme tamaño y de sus problemas, OS/360 y los sistemas operativos de tercera generación parecidos a él producidos por otros fabricantes de computadoras lograron satisfacer a sus clientes en un grado razonable, y también popularizaron varias técnicas clave que no existían en los  sistemas  operativos de la segunda generación. Tal vez la más importante de ellas haya sido la  programación.  En la 7094,  cuando  el  trabajo  actual  hacía  una  pausa  para  esperar  que se  completara  una  operación de cinta  u  otra  operación  de  E/S,  la  CPU  simplemente  permanecía ociosa  hasta que la E/S terminaba. En los cálculos científicos, con  gran  uso  de  CPU,  la  E/S  es poco frecuente, así que el tiempo  desperdiciado  no es significativo. En el procesamiento de datos comerciales, el tiempo de espera por E/S puede ser el 80090% del tiempo total, de modo que algo debía hacerse para evitar que la CPU estuviera ociosa tanto tiempo.

La solución a la que se llegó fue dividir la memoria en varias secciones, con un trabajo distinto en cada partición, como se muestra en la Figura 3. Mientras un trabajo estaba esperando  que terminara su E/S, otro podía estar usando el CPU. Si se podían tener en la memoria principal suficientes trabajos a la vez, el CPU podía mantenerse ocupada casi todo el tiempo. Tener múltiples trabajos en la memoria a la vez requiere hardware especial para proteger cada trabajo contra espionaje por parte de los demás, pero la 360 y otros sistemas de tercera generación estaban equipados con este hardware.

Otro avance importante durante la tercera generación fue el crecimiento fenomenal de las minicomputadoras, comenzando con la DEC PDP- 1 en 1961. La PDP- 1 sólo tenía 4K de palabras de 18 bits, pero a $120 000 por máquina (menos del 5% del precio de una 7094), se vendieron  como pan caliente. Para ciertos tipos de trabajos no numéricos, la PDP-1 era casi tan rápida como  la 7094, e hizo nacer una industria totalmente nueva. A esta máquina pronto siguió una serie de Otras PDP (todas incompatibles, a diferencia de la familia IBM), culminando en la PDP- 11.






CUARTA GENERACIÓN (1980 . 1990)

Computadoras personales



Con la invención de los circuitos integrados a gran escala (LSI), chips que contienen miles de transistores en un cm2 de silicio, nació la era de la  computadora personal. En términos de arquitectura,  las computadoras personales no eran muy diferentes de las minicomputadoras de la clase  PDP- 11, pero en términos de precio sí que eran diferentes. Si bien la minicomputadora hacía posible que un departamento de una compañía o universidad tuviera su propia computadora, el   chip microprocesador permitía que un solo  individuo  tuviera  su  propia  computadora personal.  
Las computadoras personales mas potentes empleadas por  empresas,  universidades  e  instalaciones  del  gobierno  suelen  llamarse estaciones de trabajo, pero en realidad sólo son computadoras personales grandes. Por lo regular estas máquinas están interconectadas mediante una red.
La amplia disponibilidad de la potencia de cómputo, sobre todo la potencia de cómputo alta- mente interactiva casi siempre acompañada por excelentes gráficos, dio pie al crecimiento de una importante industria productora de software para computadoras personales. Una buena parte de este software era amistoso con el usuario, lo que significa que estaba dirigido a usuarios que no  sólo no sabían nada de computación, sino que además no tenían la mínima intención de aprender. Sin duda, esto representaba un cambio drástico respecto al OS/360, cuyo lenguaje de control de trabajos, JCL, era tan arcano que llegaron a escribirse libros enteros sobre él (por ejemplo, Cadow, 1970).
Dos sistemas operativos dominaron inicialmente el campo de las computadoras personales y las estaciones de trabajo: MS-DOS de Microsoft y UNIX. MS-DOS se usaba ampliamente en la IBM PC y otras máquinas basadas en la CPU Intel 8088 y sus sucesoras, la 80286, 80386 y 80486 (que en adelante llamaremos la 286, 386 y 486, respectivamente) y más tarde la Pentium y Pentium Pro. Aunque la versión inicial de MS-DOS era relativamente  primitiva,  versiones  subsecuentes   han   incluido características más avanzadas, muchas de ellas tomadas de UNIX. El sucesor de Microsoft para MS-DOS, WINDOWS, originalmente se ejecutaba encima de MS-DOS (es decir, era más un shell que un verdadero sistema operativo).
Pero  a  partir  de  1995  se  produjo  una  versión  autosuficiente  de  WINDOWS, WINDOWS 95®, de modo que ya no se necesita MS-DOS para apoyarlo. Otro sistema operativo de Microsoft es WINDOWS NT, que es compatible con WINDOWS 95 en cierto nivel, pero internamente se reescribió desde cero.
El otro competidor importante es UNIX, que domina en las estaciones de trabajo y otras computadoras del extremo alto, como los servidores de red. UNIX es popular sobre todo en máquinas basadas en chips RISC de alto rendimiento. Estas máquinas por lo regular tienen la potencia de cómputo de una minicomputadora, a pesar de estar dedicadas a un solo usuario, por lo que resulta lógico que estén equipadas con un sistema operativo diseñado originalmente para minicomputadoras, a saber, UNIX.
Una tendencia interesante que apareció a mediados de la década de 1980 fue el crecimiento de redes de computadoras personales en las que se ejecutan sistemas operativos de red o sistemas operativos distribuidos (Tanenbaum, 1995). En un sistema operativo de red los usuarios  están conscientes de la existencia de múltiples computadoras y pueden ingresar en máquinas remotas y copiar archivos de una máquina a otra. Cada máquina ejecuta su propio sistema operativo local y tiene su propio usuario o usuarios locales.
Los  sistemas  operativos  de  red  no  son  fundamentalmente  distintos  de  aquellos  para  un  solo procesador. Obviamente, estos sistemas necesitan un controlador de la interfaz con la red y software de bajo nivel para operarlo, así como programas para realizar inicios de sesión remotos y acceso a archivos remotos, pero estas adiciones no alteran la estructura esencial del sistema operativo.
Un sistema operativo distribuido, en cambio, presenta el mismo aspecto a los usuarios que un sistema tradicional de un solo procesador, aunque en realidad se compone de múltiples procesadores. Los usuarios no deben enterarse de en dónde se están ejecutando sus programas o almacenando sus archivos; de todo eso debe encargarse el sistema operativo automática y eficientemente.






QUINTA GENERACIÓN (1990 - ...)
Virtual

En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados.

Inteligencia artificial:
La inteligencia artificial es el campo de estudio de aplicar los procesos del pensamiento humano usados en una solución de problemas a la computadora.
Robótica:
La robótica es el arte y ciencia de la creación y empleo de robots. Un robot es un sistema de computación híbrido independiente que realiza actividades físicas y de cálculo. Están siendo diseñados con inteligencia artificial, para que puedan responder de manera más efectiva a situaciones no estructuradas.
Sistemas expertos:
Un sistema experto es una aplicación de inteligencia artificial que usa una base de conocimiento de la experiencia humana para ayudar a la resolución de problemas.
Redes de comunicaciones:
Los canales de comunicaciones que interconectan terminales y computadoras se conocen como redes de comunicaciones; todo el "hardware" que soporta las interconexiones y todo el "software" que administra la transmisión.





No hay comentarios:

Publicar un comentario