La evolución de los sistemas operativos es paralela a la evolución de las computadoras para las que fueron diseñadas a fin de controlarlas; por lo tanto está dividido en cuatro generaciones:
1. Primera Generación (1940-1955): tubos de vacío y tableros de conmutación
En esta primera generación se dio en una época de tecnología de tubos al vacío (bulbos) y computadoras del tamaño de salones de clase. Cada máquina era única en estructura y propósito. Había poca necesidad de un software estándar de sistema operativo, ya que el uso de cada computadora estaba restringido a unos cuantos profesionales, que trabajaban en aplicaciones matemáticas, científicas o militares, todos estos familiarizados con la idiosincrasia de su hardware.
Un programa típico incluía todas las instrucciones que la computadora necesitaba para llevar a cabo las tareas solicitadas. Daba instrucciones explicitas al lector de tarjetas (cuándo empezar, cómo interpretar los datos sobre tarjetas, cuándo terminar), al CPU (dónde y cuándo almacenar las instrucciones en la memoria, qué calcular, dónde encontrar los datos, dónde enviar la salida.) y al dispositivo de salida (cuándo empezar, cómo imprimir el producto terminado, cómo dar formato a la pagina y cuándo terminar).
En esa época los programadores operaban las máquinas desde la consola principal, todo eso era un proceso en el que ellos debían hacer todo para que puedan eliminar los errores de un programa; el programador detenía el procesador, leía el contenido de cada registro, efectuaba las correcciones en las localizaciones de memoria y reanudaba la operación.
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 re3queria menos pasos y conocimiento de los mecanismos internos de la computadora.
Se desarrollaron compiladores y ensambladores para traducir a código binario los comandos de los lenguajes de alto nivel que se estaban desarrollando.
Los sistemas operativos rudimentarios empezaron a tomar forma con la creación de macros, programas de videoteca, subrutinas, estándares y programas de utilería. Además incluían subrutinas de unidades de dispositivos- programas prescritos que estandarizaban la norma en que se utilizaban los dispositivos de entrada y salida.
Estos primeros programas tenían una desventaja importante, ya que estaban diseñados para utilizar sus recursos de manera conversadora, a costa de la comprensión. Esto significaba que muchas instrucciones utilizaban una lógica complicada, sólo comprensible para el programador original, por lo que era casi imposible que cualquier otra persona eliminara errores o cambiar el programa más tarde.
2. Segunda Generación (1955-1965): transistores y sistemas por lotes
En los años sesenta aparecen los Sistemas Operativos para sistemas compartidos con:
-Multiprogramación: varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rápidamente de un trabajo a otro.
- Multiprocesamiento: varios procesadores se utilizan en un mismo sistema para incrementar el poder de procesamiento.
Posteriormente aparece la independencia de dispositivo:
- El programa del usuario especifica las características de los dispositivos que requieren los archivos.
- El S. O. asigna los dispositivos correspondientes según los requerimientos y las disponibilidades.
Las máquinas se instalaban en cuartos de computadoras especialmente acondicionados con aire, con cuerpo de operadores profesionales para accionarlas. un programador primeramente escribiría el programa en papel ( en FORTRAN o en lenguaje Ensamblador ) y después lo perforaría en tarjetas. Después llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría 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 las personas buscaran rápidamente maneras de reducir el tiempo perdido. La solución que generalmente se adoptaba era el sistema de lote. La idea implícita en este sistema era la de conjuntar un cajón lleno de trabajos en el cuarto de introducción al sistema y después leerlos en una cinta magnética mediante el uso de una computadora ( relativamente ) pequeña y poco costosa, como la IBM 1401.
Después de casi una hora de recolectar un lote de trabajos, la cinta se volvía a enrollar y se llevaba al cuarto de maquinas. Después el operador cargaba un programa especial ( el ancestro del sistema operativo de hoy en día ) , el cual leía el primer trabajo y lo ejecutaba, la salida se escribía en una segunda cinta, en vez de imprimirse. Después de terminar cada trabajo, el sistema operativo leía automáticamente el siguiente trabajo de la cinta, y comenzaba a ejecutarlo.
3. Tercera Generación (1965-1980): circuitos integrados y multiprogramación
Esta generación se identifica con el desarrollo de las computadoras S-360 de IBM.
Eran una serie de máquinas de software compatible, diferían solo en el precio y el rendimiento (memoria, velocidad del procesador, número de dispositivos de E/S permitidos, etc.). El software tenía que funcionar en sistemas con pocos o muchos periféricos, y en entornos comerciales y científicos y ser eficientes para los diferentes usos.
Crear un programa que satisficiera estos requisitos era casi imposible y el resultado fue un sistema operativo enorme, muy complejo que constaba de millones de líneas de lenguaje ensamblador escritos por miles de programadores y contenía miles y miles de errores. Estos problemas dieron origen a nuevas versiones que corregían los errores anteriores.
A pesar de su enorme tamaño y sus errores el OS/360 y los sistemas operativos similares a él construidos 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 la anterior generación. Una de las más relevantes era la multiprogramación.
Otra característica importante de los SO era la de poder leer trabajos de las tarjetas al disco, tan pronto como se llevaban al cuarto de las computadoras. El sistema operativo después de terminar de ejecutar un proceso podía cargar uno nuevo del disco en esa partición que había quedado libre, técnica denominada spooling, también utilizada para la salida.
El desperdicio de tiempo entra la presentación del trabajo y la obtención de las salidas dio como resultado el deseo de tiempo compartido, variante de la multiprogramación, en la que cada usuario tenía una terminal en línea.
Gracias a este progreso tecnológico (miniaturización de transistores, compiladores y sistemas operativos), el ámbito de uso se extendió debido principalmente a dos aspectos: la reducción de tamaño y precio de los ordenadores, que permitió el aumento del número de usuario que los podían comprar; y el aumento de potencia de computación, que permitió que un mismo ordenador pudiera ejecutar varias tareas.
Por lo tanto la generación se resume de la siguiente manera:
- Difusión de la multiprogramación:
o Partición de la memoria en porciones, con trabajos distintos en cada una de ellas.
o Aprovechamiento del tiempo de espera consecuencia de operaciones de e / s, para utilizar la CPU para otros procesos.
- Protección por hardware del contenido de cada partición de memoria.
- Aparición de técnicas de spooling:
o Operación simultánea y en línea de periféricos.
o Almacenamiento de trabajos de entrada y de salida en dispositivos transitorios rápidos (discos), para disminuir el impacto de los periféricos más lentos.
- Son sistemas de modos múltiples, es decir que deben soportar sistemas de propósitos generales; son grandes y complejos pero muy poderosos.
- Interponen una capa de software entre el usuario y el hardware.
- Aparecen los lenguajes de control de trabajos, necesarios para especificar el trabajo y los recursos requeridos.
- Soportan timesharing (tiempo compartido), variante de la multiprogramación con usuarios conectados mediante terminales en línea, permitiendo la operación en modo interactivo o conversacional.
- Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy exigentes, especialmente para usos industriales o militares.
- Se difunden las computadoras de rango medio.
4. Cuarta Generación (1980 – Hasta la fecha): computadores personales
Debido a la evolución en las computadoras y a la disponibilidad de potencia de computo y a la potencia altamente interactiva, ésta era dio inicio a una gran innovación de software para PC, un software amigable con el usuario. Dos sistemas operativos dominaron inicialmente el ámbito de las PC y las estaciones de trabajo: MS-DOS de Microsoft y UNIX. El MS-DOS, dominó en las PC y el UNIX en las estaciones de trabajo y los servidores de red, pero su popularidad se centra sobre maquinas de arquitectura RISC (Reduced Instruction Set Computer) de alto rendimiento.
Otra tendencia que marco esta era fue el auge de las redes de ordenadores por lo tanto se necesitaba de sistemas operativos de red y sistemas operativos distribuidos.
Entonces esta generación tiene las siguientes características:
- Aparición de software amigable con el usuario, destinado a usuarios no profesionales y con una interfase gráfica muy desarrollada.
- Desarrollo de sistemas operativos de red y sistemas operativos distribuidos.
- Sistemas operativos de red:
o Los usuarios están conscientes de la existencia de varias computadoras conectadas.
o Cada máquina ejecuta su propio S. O. local.
o Son similares a los S. O. de un solo procesador pero con el agregado de:
§ Controlador de interfaz de la red y su software de bajo nivel.
§ Software para conexión y acceso a archivos remotos, etc.
- Sistemas operativos distribuidos:
o Aparece ante los usuarios como un S. O. de un solo procesador, aún cuando de soporte a varios procesadores.
o Los usuarios no son conscientes del lugar donde se ejecutan sus programas o donde se encuentran sus archivos, ya que lo debe administrar el S. O. automáticamente.
o Deben permitir que un programa se ejecute mediante varios procesadores a la vez, maximizando el paralelismo.
- Aparición de emuladores de terminal para el acceso a equipos remotos desde computadoras personales (PC).
- Gran énfasis en la seguridad, en especial por el desarrollo de los sistemas de comunicaciones de datos.
- El S. O. crea un ambiente de trabajo según el concepto de máquina virtual, que lo aísla del funcionamiento interno de la máquina.
- Proliferación de sistemas de bases de datos, accesibles mediante redes de comunicación.
0 comentarios:
Publicar un comentario