*1940 Generación cero:
La generación cero abarca la
década de los años cuarenta y se caracteriza porque no existían los
sistemas operativos, el usuario debía codificar manualmente en lenguaje máquina
las instrucciones que le permitían usarlos recursos de la computadora y
controlar así la ejecución de sus programas.
*1950 Primera generación:
La primera generación abarca los años cincuenta. Surge el
concepto de sistema operativo cuando los laboratorios de investigación de
la General Motors desarrollaron el primer sistema operativo para su computadora
IBM 701. En 1955 General Motors y North American Aviation desarrollan el
sistema operativo para la computadora IBM 704, básicamente lo único
que hacía era comenzar la ejecución de un programa cuando terminaba
el anterior; para 1957 ya se habían desarrollado, de manera particular,
distintos sistemas operativos para ese modelo de computadora.
Los primeros sistemas
operativos tenían como objetivo eliminar el tiempo perdido entre el término de
un proceso y el inicio de otro, esto se logró desarrollando un sistema
operativo que realizara procesos por lotes, en donde los programas se ejecutaban
uno después del otro hasta analizar el lote completo, o si antes se producía un
error, el programa en ejecución tenía control total de la máquina.
*1960 Segunda generación:
La segunda generación abarca la primera mitad de los años
sesenta. El elevado costo de operación de las computadoras de esos tiempos
obligó a buscar formas de optimizar el tiempo de ejecución de los programas, mejorando
el rendimiento de las computadoras y aumentando el número de procesos en
ejecución por unidad de tiempo. Aparecen conceptos como multiprogramación y
multiprocesamiento.
Cuando un programa se ejecutaba y producía una operación de
e/s, el programa se detenía hasta que esta operación culminara, estos tiempos
de espera originaban tiempos muertos de uso del procesador; sin embargo, con la
multiprogramación varios programas podían residir a la vez en memoria y el
procesador podía conmutar entre ellos, de esta forma, al compartir el
procesador (tiempo de procesamiento) y los demás recursos hardware, se pueden
ejecutar varios procesos a la vez. El multiprocesamiento significó que se
utilizaban varios procesadores en una misma computadora.
Durante esta generación aparecen también los primeros
sistemas de tiempo real dedicados al control de procesos industriales y monitoreo
de miles de puntos con fines militares, la prioridad en estos sistemas era obtener
una velocidad de respuesta en tiempo real. Por ejemplo, el incremento de la
temperatura en un reactor nuclear debía comunicarse rápidamente para tomar las
acciones necesarias y evitar una catástrofe nuclear. También surge Master
Control Program (MCP) y SABRE de IBM de Burroughs diseñado para su
computadoraB5000. MCP fue desarrollado con lenguaje de alto nivel e incorporó
muchas de las características de los sistemas actuales: multiprogramación,
multiproceso, memoria virtual y capacidad de depurar el código fuente. Mientras
que SABRE era un sistema de tiempo compartido con terminales remotas que podía
interactuar directamente con el usuario.
El primer sistema de tiempo compartido de propósito general
fue el Compatible Time-Sharing System (CTSS), desarrollado para la IBM
709/7090, sus características más relevantes fueron: Empleo de numerosas
terminales, cada terminal parecía tener disponible todos los recursos hardware
y software de la computadora, alta velocidad de procesamiento y disponía de
varios compiladores, utilidades y aplicaciones.
*1970 Tercera generación:.
La tercera generación abarca
hasta mediados de los años setenta. Comienza con la familia de computadoras IBM/360
y el sistema operativo OS/360 que incorporaba una mayor gama de utilidades que
facilitaban el uso dela computadora y se podían adquirir actualizaciones para
el mismo SO.
En esta generación surgen grandes
y costosos sistemas operativos. Los sistemas operativos aumentan sus
prestaciones y gestionan eficientemente los recursos del ordenador y el usuario
experimenta mayor facilidad para su manejo. IBM separa los costos de hardware y
software, por lo que el sistema operativo se puede adquirir en independencia
del hardware.
*1980 Cuarta generación:
La cuarta generación comprende
hasta mediados de los años ochenta. Los sistemas operativos aumentan sus
prestaciones y gestionan eficientemente los recursos del ordenador. Es en esta
época donde el usuario experimenta una mayor facilidad para su manejo. Surgen
sistemas operativos tales como: Honeywell, VMS yVM/370 de IBM y el Scope de
Control Data, todos ellos disponían de multiprogramación, tiempo compartido, memorial
virtual, procesos secuenciales que operan por medio de semáforos, sistema
jerárquico de archivos ye/s independiente del dispositivo.
En esta generación surge el
sistema operativo UNIX, desarrollado en lenguaje de alto nivel (lenguaje C) que
le otorga una alta portabilidad, desde grandes computadoras hasta computadoras
personales. En los años 80 se desarrolla una gran cantidad de sistemas
operativos para computadoras personales (de 8 y 16 bits) entre los que
destacan: MS-DOS, Xenix, Apple-DOS y CP/M.
Los sistemas operativos
incorporan programas de comunicaciones y evolucionan hasta adaptarse para
gestionar redes de computadoras. Sun desarrolla el sistema de archivos
distribuidos NFS (Network File System) que ofrecía un espacio único de nombres
de archivos para los nodos de una red.
*1990 Quinta generación:
La quinta generación abarca de
los años noventa a la fecha. Cobran importancia los entornos gráficos o
GUI’s(Interfaces Gráficas de Usuario - Graphical User Interface) colocándose
como las más populares la de Windows, Linux y Mac, desplazando a los sistemas
operativos con interfaz en modo consola originados en la segunda generación.
En esta generación se explota al
máximo el concepto de multitareas para mantener trabajando al procesador con
más de un proceso a la vez, es decir, el procesador puede correr parte de un proceso A y mientras se realizan operaciones
de e/s de este proceso, el procesador puede ejecutar un proceso
B. También se desarrollan sistemas operativos que permiten realizar
procesamientos en paralelo, permitiendo la comunicación y sincronización de
procesos extremadamente rápidos.