Generaciones del Sistema Operativo
El desarrollo de los sistemas operativos esta muy relacionado con el
desarrollo de las arquitecturas de los sistemas computacionales, por
esta razón clasificaremos el desarrollo de los sistemas operativos en
generaciones que han sido marcadas en base a las tecnologías de
construcción de dichas arquitecturas.
Primera Generación (1945-1955):
La
lógica o software de los ordenadores se ha complicado conforme han
evolucionado éstos. Los primeros ordenadores, a partir de 1944 en que
Aiken construyó el Mark-I, sólo podían programarse en lenguaje máquina, y
puede decirse que el Sistema Operativo aún no existía.
J. V. Neumann fue quien dio el primer paso en la informática y en las relaciones hombre-máquina con el concepto de programa almacenado, que consiste en archivar en el ordenador
un conjunto de instrucciones máquina para posteriormente ejecutarlas.
La aparición del Assembler, lenguaje nemotécnico-simbólico, constituyó
un gran avance sobre la primitiva programación en código máquina. La
forma de explotar los sistemas ha ido evolucionando con el tiempo; los
más sencillos funcionaban con monoprogramación. Monoprogramación o
monoejecución es el sistema de explotación en el que se ejecuta
solamente un programa cada vez y no comienza la ejecución de otro hasta
terminar con el anterior.
En 1948, con Noam
Chomsky, surge la teoría de las gramáticas generativas
transformacionales, que es la base de los traductores de lenguajes. En
1955 comenzó el desarrollo de los lenguajes de alto nivel, y al mismo
tiempo se empezó a dividir el trabajo entre personas: operadores y
programadores. Las funciones del operador tenían más directamente que
ver con la administración y control de los recursos del Sistema
Operativo y la carga de trabajos, y las de los programadores con la
codificación de los programas.
El monitor es el
programa antepasado del Sistema Operativo. Abarca funciones muy
elementales, como visualizar y modificar los contenidos de la memoria
principal, el lanzamiento automático para la ejecución de un programa,
la introducción de puntos de ruptura en los programas para puesta a
punto, etc. Gracias al monitor apareció el concepto de secuencia
automática de trabajos.
Actualmente,
al estar superado el concepto de monoprogramación, es frecuente que
tengamos que familiarizarnos con los conceptos de multiprogramación,
tiempo compartido, multiproceso y tiempo real.
Segunda Generación (1955-1965):
Multiprocesamiento
: Durante la segunda generación , al menos un proveedor ofrecía un
sistema de multiprocesamiento, que era un sistema de computo que tenía
más de una unidad central de proceso. En realidad el sistema consistía
en dos computadoras completas; las computadora más pequeña tenía un
sistema operativo y controlaba ambas máquinas. La computadora más grande
era esclava de la más pequeña. La computadora pequeña procesaba la
entrada de información y ordenaba e imprimía toda la salida utilizando
todos los discos como entrada de almacenamiento temporal. Un sistema
operativo ubicado en la computadora más grande indicaba a la máquina de
control que necesitaba servicio.
Sistemas en
línea :Los primeros sistemas en líneas presentaban programas de sistema
operativo diseñados especialmente para controlar los recursos de la
computadora. Los programas de aplicación de un sistema en linea expresan
la lógica de aplicación y los llamados mediante programas de sistemas.
El
supervisor de un sistema en línea establece una serie de colas y
programa el servicio. Primero se arma un mensaje de entrada en un buffer
de comunicaciones; puede cambiarse el código de este mensaje y
trasladarse a una cola de entrada en la memoria mediante un programa de
aplicación. El sistema operativo registra este mensaje en la cola de
mensajes a procesarse.
Cuando la unidad
central de proceso esta disponible el supervisor le ordena que atienda
una cola, por ejemplo la que contiene un mensaje de entrada. Un programa
de aplicación llamado mediante el sistema operativo puede verificar la
corrección del mensaje, después de lo cual el mensaje se coloca en una
cola de trabajo.
El nacimiento del tiempo
compartido : Los primeros sistemas de negocios también estaban
utilizando sistemas operativos para sus equipos de segunda generación.
Cuando fue anunciada la tercera generación de computadoras los
fabricantes claramente habían abrazado la idea de un sistema operativo.
La línea 360 de la IBM no podía funcionar sin la ayuda de tal sistema
operativo maneja toda la entrada/salida por medio de interrupciones. De
hecho existen interrupciones especiales que la computadora solo puede
ejecutar cuando está en estado supervisor, bajo el control de los
sistemas operativos.
Esta generación se caracteriza por la utilización de la tecnología que incluye transistores. Estos proporcionan mejores características que los tubos al vacío: son más pequeños, disipan menos calor y son más rápidos.
En
esta época, ya no hay un solo grupo que se dedica a diseñar, construir,
operar y mantener el sistema computacional, sino que la mantención la
realizan otras personas. La programación, en este período se ve apoyada
por la creación de lenguajes ensambladores y lenguajes de alto nivel; como Fortran y Cobol .
Para optimizar el tiempo de utilización del sistema computacional, se adoptó el Procesamiento por Lotes. Este procedimiento se puede resumir en los siguientes pasos:
- Varios trabajos son leídos desde tarjetas perforadas y almacenados en cinta
- El computador ejecuta programas que lee de una cinta y escribe los resultados en otra cinta.
- Los resultados escritos en la cinta son desplegados a través de la impresora.
Como
consecuencia de la utilización de tecnología de mejores
características, el procesamiento por lotes, la utilización de un
operador de sistema y un sistema operativo primitivo se logró minimizar
el tiempo ocioso de los computadores.
Tercera Generación (1965-1980):
Multisistemas :
El estudio del hardware se menciona el desarrollo de los canales de
datos para absorber algo de carga de E/S de la CPU. Sin embargo, todavía
existía un equilibrio entre la UCP y la E/S aún con la ayuda de los
canales en la mayor parte de los sistemas comerciales que tienen mucha
actividad de E/S se puede tener la UCP ociosa más del 50% del tiempo
principalmente debido a la espera de la terminación de operaciones de
entrada/salida.
Los sistemas operativos en
batch de la tercera generación introdujeron el concepto de
multiprogramación, proceso muy similar a las técnicas de sacar y meter
programas desarrollados para el tiempo compartido. En la
multiprogramación hay más de un programa semiactivo en la memoria a la
vez. La multiprogramación intenta ocultar retrasos de E/S cambiando a
UCP a otro programa cuando no puede procesar por más tiempo el que
estaba procesando, debido a un solicitud de E/S.
La
multiprogramación ha ayudado a incrementar la productividad, o sea el
número de trabajos por unidad de tiempo. Sin embargo, puede tomar más
tiempo correr un solo trabajo bajo multiprogramación que bajo un
procesador unitario, a causa de las interrupciones.
No
debe confundirse la multiprogramación con el multiprocesamiento. En un
sistema de multiprogramación, la unidad central de procesamiento ejecuta
solamente un programa a la vez. Varios programas están presentes en la
memoria en un estado semiactivo; su ejecución ha sido suspendida
temporalmente. Algunos sistemas de la tercera generación también
presentan el multiprocesamiento, o sea la presencia de más de una unidad
central de proceso. Estos procesadores están controlados por el sistema
operativo y, por supuesto, son multiprogramados ya que por lo menos
existe el potencial para ejecutar un programa en cada procesador al
mismo tiempo. Estos sistemas multiprocesadores con atractivos en un
ambiente de fuerte actividad computacional o como respaldo. Varios
sistemas de tiempo compartido, por ejemplo, utilizan el
multiprocesamiento.
Sistemas en línea
: Durante la tercera generación, los sistemas operativos vinieron con
más módulos para facilitar el desarrollo de los sistemas en línea,
especialmente para respaldar el procesamiento de terminales y
telecomunicaciones. Los sistemas estaban diseñados para apoyar una
mezcla de procesamiento batch y consultas en línea.
Tiempo compartido:
Durante la tercera generación, el proyecto MAC del MIT desarrolló
también un nuevo sistema de tiempo compartido llamado MULTICS. Este
sistema presenta una importante innovación que influyó en los sistemas
de cómputo posteriores. Un objetivo del MULTICS era proporcionar al
programador la apariencia de una memoria real. La memoria virtual puede
producirse combinando la segmentación y la paginación enfoque que
también facilita el desarrollo de los procedimientos re-entrantes.
Básicamente, un programa y sus datos se dividen en páginas. Solamente se
cargan en un momento dado, las páginas necesarias en el almacenamiento
primario; las otras páginas se mantienen en dispositivos de
almacenamiento secundario.
La tecnología utilizada en este período corresponde a la de circuitos integrados, lo cual permitió construir máquinas más baratas y con mejor rendimiento. La empresa IBM fue la primera en utilizar esta tecnología.
Una de las principales características de los sistemas operativos de hoy, que aparecen en esta generación es la Multiprogramación.
Esta técnica consiste en particionar la memoria de manera de contener
simultáneamente muchos trabajos, lo que permite independencia en las
acciones de la máquina. Por ejemplo, si un trabajo está esperando por
Entrada/Salida, otro trabajo puede estar utilizando la CPU. Con la
utilización de la multiprogramación, se mejora el tiempo de utilización
de la CPU, pero se crean problemas de protección y seguridad, debido al
particionamiento de la memoria.
Otra característica importante de los sistemas operativos de esta generación es la aparición de la técnica de Spooling (Operación
simultánea y en línea de periféricos ). Esta consiste en la capacidad
de leer los trabajos de cinta al disco, haciendo posible que a medida
que hubiera espacio en memoria se podía pasar al siguiente trabajo. De
esta manera las operaciones de periféricos se realizan en paralelo con
la utilización de la CPU.
Durante esta generación aparecen los primeros sistemas de Tiempo compartido,
esto consiste en que se le asigna a cada trabajo un tiempo fijo de
utilización de CPU, este período de tiempo (denominado time slot) es
pequeño, pues el uso de tiempo compartido tiene como objetivo manejar a
distintos usuarios mediante terminales que tengan la ilusión de estar
ocupando la máquina como si fueran únicos. El primer sistema operativo
importante de tiempo compartido es el (CTSS) y fue desarrollado en MIT (Massachusetts Institute of Technology).
Otros de los sistemas que surgió en este periodo es MULTICS, el que sirvió de base para el desarrollo del sistema UNIX.
Cuarta Generación (1980-1990):
Esta generación se caracteriza por la utilización de los microprocesadores
para la construcción de computadores de menor tamaño, haciendo posible
que una sola persona tuviera su propio computador personal. Los
computadores personales con mayores capacidades y que se empezaron a
utilizar en la empresa y en las universidades recibieron el nombre de
estaciones de trabajo.
Durante esta generación
aparecen los sistemas operativos que proporcionan una interfaz más
amigable al usuario, esto se traduce en mejores herramientas de
interacción con el computador, tales como capacidades gráficas, íconos,
sistemas de menús, etc.
Los sistemas
operativos que cobran gran popularidad en este período son MS-DOS de
Microsoft y UNIX. Este último tuvo sus primeros desarrollos en Berkeley y posteriormente en AT&T. DOS (sistema operativo en disco)
Se trata del 1º sistema operativo creado para
ordenadores personales en la década de los 80 dado que los sistemas
anteriores fueron creados para maquinas grandes en entornos de empresa. A
lo largo del tiempo pugnaron tres fabricantes por la hegemonía del
mercado hasta que en la década de los 90 con la aparición de las 1as
plataformas de Windows 3.0 3.1 y 3.11 Microsoft se queda sola por la
retirada de los demás aunque ya IBM lo había dejado mucho tiempo antes.
Se
trata de un sistema operativo grabado sobre disco de modo que se ha de
encontrar permanentemente activo y residente para poder trabajar con esa
maquina.
Esto ahora parece intrascendente ya
que todos los sistemas operativos (Windows, Windows9.x, unix, linux,
etc..) Están ocupando algunos de los discos duros del ordenador pero al
principio los ordenadores no tenían disco duro ya que aun no se habían
inventado y por tanto se encontraba en un diskette que debía estar
permanentemente introducido con el agravante de que solo había una
disquetera.
Entre todas las versiones que
salieron al mercado y omitiendo las primeras muy dependientes de la
rudimentaria tecnología de entonces son las versiones 3.3,4.0 y 6.2 las
que tuvieron un mayor éxito comercial. En la actualidad la versión 7.0
aun siendo la más reciente no es la mas difundida ya que esta muy
arraigada la 6.22. Por otro lado estas versiones han dejado paso a
aquellas otras que dependen de Windows como sistema mayoritariamente
extendido pasando a adoptar la numeración de la versión de Windows.
http://html.rincondelvago.com/sistemas-operativos_36.html
No hay comentarios:
Publicar un comentario