6
Década de los 40. La primera generación de computadores (1940-1955) se dio en una época de tecnología de tubos al vacío (bulbos) y de computadores de tamaño de salones de clase. Cada máquina era única en estructura y propósito. No utilizaban software estándar de S.O., su uso estaba restringido a algunos profesionales que estaban familiarizados con el hardware. Los programadores operaban desde consolas con el control total, utilizando tarjetas indicando a cada parte del sistema la función a realizar( cuando empezar a trabajar, cuando almacenar información, cuando utilizar un dispositivo de salida). Para eliminar errores de un programa detenían el procesador, leían el contenido de cada registro, efectuaban las correcciones en las localizaciones de memoria y reanudaban la operación. Para correr programas, se reservaba la máquina el tiempo que se estimaban que tardaría la ejecución del mismo. La máquina se utilizaba de manera deficiente. El CPU trabajaba poco tiempo, sólo procesaba la información y efectuaba cálculos. Con el paso del tiempo, el hardware y el software de cómputo se hicieron más estándares y la ejecución de un programa requería menos pasos y conocimientos de los mecanismos internos del computador. Los sistemas operativos rudimentarios empezaron a tomar forma con la creación de macro, programas de videoteca, subrutinas estándares y programas de utilería Las unidades de dispositivos E/S contenían subrutinas estandarizadas. Su desventaja radicaba en la utilización conservadora de los recursos a costa de la comprensión ( muchas instrucciones utilizaban una lógica complicada, sólo comprensible por el programador original). Década de los 50. Los computadores de segunda generación (1955-1965) se desarrollaron para satisfacer necesidades del mercado de los negocios. Se daba importancia a la efectividad en costos del sistema. Era necesario maximizar la producción para que fuese rentable el sistema. (costo/beneficio). Se inicia el proceso de contratación de operadores de computadores facilitando la operación de cada

Resumen Décadas S.O

Embed Size (px)

DESCRIPTION

El siguiente documento hace un resumen de las décadas de los sistemas operativos de las décadas del 40 al 90, es sus aspectos generales. Documento realizadopor el docente Arvey Barahona Gómez

Citation preview

Page 1: Resumen Décadas S.O

Década de los 40. La primera generación de computadores (1940-1955) se dio en una época de tecnología de tubos al vacío (bulbos) y de computadores de tamaño de salones de clase. Cada máquina era única en estructura y propósito. No utilizaban software estándar de S.O., su uso estaba restringido a algunos profesionales que estaban familiarizados con el hardware.

Los programadores operaban desde consolas con el control total, utilizando tarjetas indicando a cada parte del sistema la función a realizar( cuando empezar a trabajar, cuando almacenar información, cuando utilizar un dispositivo de salida). Para eliminar errores de un programa detenían el procesador, leían el contenido de cada registro, efectuaban las correcciones en las localizaciones de memoria y reanudaban la operación. Para correr programas, se reservaba la máquina el tiempo que se estimaban que tardaría la ejecución del mismo. La máquina se utilizaba de manera deficiente. El CPU trabajaba poco tiempo, sólo procesaba la información y efectuaba cálculos.

Con el paso del tiempo, el hardware y el software de cómputo se hicieron más estándares y la ejecución de un programa requería menos pasos y conocimientos de los mecanismos internos del computador.

Los sistemas operativos rudimentarios empezaron a tomar forma con la creación de macro, programas de videoteca, subrutinas estándares y programas de utilería Las unidades de dispositivos E/S contenían subrutinas estandarizadas. Su desventaja radicaba en la utilización conservadora de los recursos a costa de la comprensión ( muchas instrucciones utilizaban una lógica complicada, sólo comprensible por el programador original).

Década de los 50. Los computadores de segunda generación (1955-1965) se desarrollaron para satisfacer necesidades del mercado de los negocios. Se daba importancia a la efectividad en costos del sistema. Era necesario maximizar la producción para que fuese rentable el sistema. (costo/beneficio). Se inicia el proceso de contratación de operadores de computadores facilitando la operación de cada máquina y la programación de tareas. Aparecen los compiladores en FORTRAN, el cual permitía que varios programas trabajasen mientas estuviese residente en memoria. o bien se realizaban todas las tareas del misto tipo (todas las lecturas de las tarjetas y luego las de cinta)

Este proceso introdujo el control de tarjetas, que definían la naturaleza exacta de cada programa y sus requerimientos. Esto fue uno de los primeros usos de un lenguaje de control de tareas (JCL) . Sin embargo, seguían presentando problemas en el tiempo entre el CPU y los dispositivos E/S. Por ejemplo, una tarea que significaba leer 1600 tarjetas, podía representar 79 segundos en el lector de tarjetas y sólo 5 segundos de uso del CPU para ensamblar (compilar). Esto significaba que el CPU estaba 94% del tiempo libre y solo trabajaba 6% en dichas tareas.

Para mejorar el rendimiento del CPU intervinieron. Primero, la velocidad de los dispositivos E/S (tambores, discos, unidades de cinta) fue más rápida. Segundo, para utilizar más área de almacenamiento disponible en estos dispositivos, los registros se bloqueaban antes de su recuperación o

Page 2: Resumen Décadas S.O

almacenamiento (bloquear significa que varios registros lógicos se agrupan en un registro físico). Tercero, para reducir la diferencia de velocidad entre entras y salidas del CPU, se colocó una interfaz conocida como “ unidad de control” entre ellas para ejecutar la función de almacenamiento temporal en el buffer. Un buffer es un área temporal de almacenamiento que funciona como sigue: conforme un dispositivo de entrada lento lee un registro. la unidad de control coloca cada uno de los caracteres del registro en el buffer. Cuando éste se llena, todos los registros se transmiten rápidamente al CPU. El proceso es justo el opuesto para dispositivos de salida: El CPU coloca en el buffer todo el registro , mismo que pasa por la unidad de control a la velocidad más lenta, requerida por el dispositivo de salida. En algunos casos se utilizaba dos buffers, el cual permitía el doble de velocidad.

Además del uso del buffer, se desarrolló una forma primitiva de efectuar operaciones periféricas simultáneas, realizando operaciones de lectura, impresión y perforación de tarjetas fuera de línea. Hoy día, esta forma de operar se le nombra SPOOL que son las siglas en ingles de operación periférica simultánea de línea (Simultaneous Peripheral Operations On Line). El modo SPOOL funciona de la misma manera que un buffer pero, el dispositivo periférico no está conectado directamente al CPU en tanto que el buffer es parte del hardware de la máquina. Se desarrollan las interrupciones de tiempo para proteger al CPU de ciclos infinitos en programas que por error tenían instrucciones de ejecutar ciclos infinitos y permitir el trabajo compartido. Se asigno una cantidad fija de tiempo de ejecución a cada programa al entrar al sistema , lapso vigilado por el sistema operativo. Durante la segunda generación, los programas seguían siendo operados en modo de lotes seriales – uno por uno. El siguiente paso hacia un mejor uso de los recursos del sistema fue pasar al procesamiento compartido.

Década de los 60. Las computadoras de tercera generación provienen de mediados del decenio de los 60. Fueron diseñadas con CPU más rápidas, pero su velocidad causó problemas cuando interactuaban con dispositivos E/S relativamente lentos. La solución fue la MULTIPROGRAMACIÓN, que introdujo la idea de cargar muchos programas de una vez y compartir la atención de un CPU.Los primeros sistemas de multiprogramación permitían que se diera servicio a cada programa por turno, uno después de otro. El mecanismo más común para implementar la multiprogramación fue introducir el concepto de interrupción ,, que es cuando se notifica al CPU cuáles sucesos necesitan los servicios del los sistemas operativos. Por ejemplo, cuando un programa emite un comando de E/S, genera una interrupción que solicita los servicios del procesador de E/S libera al CPU para que inicie la ejecución de la tarea siguiente. Esto se conoció como multiprogramación pasiva, ya que el sistema operativo no controlaba la interrupción, sino que esperaba a que cada tarea terminara una secuencia de ejecución. Sin embargo, si el programa era muy largo debía terminar por completo para que se iniciara la siguiente tarea. A fin de compensar este defecto, diseñan la multiprogramación activa, que permitía que cada programa nada más usara una tajada preestablecida del tiempo del CPU. Cuando expiraba el plazo, la tarea se interrumpía y se iniciaba otra tarea. La

Page 3: Resumen Décadas S.O

tarea interrumpida debía esperar su turno para continuar la ejecución. La idea de dividir el tiempo se hizo común en muchos sistemas de tiempo compartido.

La clasificación de los trabajos en grupos y la carga selectiva de los mismos por prioridad o requerimientos de memoria permitieron hacer uso eficiente del recurso de memoria principal. Además de planificar los trabajos, de manejar las interrupciones, y asignar memoria, los sistemas operativos tenían que resolver conflictos cuando dos tareas solicitaban un dispositivo al mismo tiempo.

Los sistemas operativos de las máquinas tercera generación consistían en muchos módulos entre los cuales podía seleccionar el usuario, por lo que todo el sistema operativo se personalizaba para adecuarse a necesidades particulares. Los módulos de mayor uso se hacían residentes en el núcleo y los menos utilizados residían en un almacenamiento secundario y eran llamados sólo cuando hacían falta.

Década de los 70´s. A fines de los 70 los computadores tenían CPU más rápidas, lo que aumentó la disparidad entre su velocidad de procesamiento y el tiempo de acceso más lento de las E/S. El esquema de multiprogramación estaba limitado por la capacidad física de la memoria principal, que era costoso y limitado.

Una solución fue el desarrollo de la memoria virtual, que aprovechó el hecho de que el CPU sólo podía procesar una instrucción a la vez. Con ella, no era necesario que todo el programa residiera en la memoria antes de iniciar la ejecución. Un sistema con memoria virtual dividiría los programas en segmentos, los mantendría en almacenamiento secundario y traería cada segmento a la memoria conforme fuese necesario.

También se existía software de administración de base de datos, el cual permitía organizar los datos de una manera integral, minimizaba la redundancia y simplificaba la actualización e el acceso a los datos. Se obligó el crecimiento de terminales y un software de comunicación de datos

Se inicia la estandarización del software y los programas con palabras típicas del ingles y estructura modular permitiendo el mantenimiento del mismo en forma fácil y rápida.

Década del 80. El desarrollo en este decenio mejoró de una manera dramática la relación costo/rendimiento de los componentes de los computadores. El hardware era más flexible, con funciones lógicas incorporadas en tarjetas de fácil reemplazo. También era menos costosa, por lo que más funciones del sistema operativo se hicieron parte del hardware. Esto dio lugar a un nuevo concepto el firmware, término utilizado para indicar que un programa está contenido de manera permanente en ROM. El software del sistema desempeñaba muchas funciones de programación. EL programador no dependía tanto del hardware.

Page 4: Resumen Décadas S.O

La industria se pasó al multiprocesamiento, en el cual existía más de un procesador, diseñándose lenguajes más elaborados para coordinar las actividades de los diversos procesadores que daban servicio a la tarea.

La evolución de los computadores personales y de las comunicaciones de alta velocidad originó el cambio al procesamiento distribuido y los sistemas en red. Exigiendo un nuevo hardware y un sistema operativo capaz de administrar varios conjuntos de subsistemas. Los sistemas operativos en permitían trabajar en una máquina con tareas y programas de otra (acceso remoto). La desventaja de un sistema operativo de este tipo era la necesidad de algoritmos más complicados de programación de procesadores. Además, los retardos de comunicación dentro de la red significaban que algunas veces los algoritmos de programación tenían que operar con información incompleta o desactualizada.

Década del 90. A mediados de los 90 la demanda generalizada de capacidades de Internet originó la proliferación de capacidades de red. Hoy, la accesibilidad a web y el intercambio de correo electrónico son características comunes en casi todo sistema operativo. Sin embargo, el crecimiento de la red también ha creado mayor demanda de seguridad, a fin de proteger el hardware y el software.

Igualmente, proliferaron las aplicaciones de multimedios que demandan potencia, flexibilidad y compatibilidad de dispositivos adicionales para la mayor parte de los sistemas operativos. Este requiere que SO controle dispositivos hardware especializados y una gran capacidad de almacenamiento