Generación cero Usado en los años 40´s se caracterizaba
porque las computadoras no tenían un sistema operativo aparte de que las instrucciones eran codificadas de manera manual y para el usuario era complejo porque se empleaba lenguaje maquina Primera Generación Los sistemas operativos de los años cincuenta fueron diseñados para que sean más ágiles. Antes de que los sistemas fueran diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando el trabajo estaba en ejecución, este tenía control total de la máquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e iniciaba el trabajo siguiente.
Al inicio de los 50's esto había mejorado
un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina). Se crearon máquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque sólo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podían dar el lujo de tenerlas.
Para poder ejecutar un trabajo
(programa), tenían que escribirlo en papel (lenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores. Cuando la computadora terminara el trabajo, un operador se dirigiría a la impresora y desprendería la salida y la llevaría al cuarto de salida, para que la recogiera el programador. Eran más complejos controlar los componentes.
Cuando se ejecutaba alguna tarea, ésta
tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Segunda Generación Empleado a la mitad de los años 60 La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramación, y los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la máquina. La independencia de dispositivos aparece después. Un usuario que desea escribir datos en una cinta en sistemas de la primera generación tenía que hacer referencia específica a una unidad de cinta particular. En la segunda generación, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. Se desarrolló sistemas compartidos, en la que los usuarios podían acoplarse directamente con el computador a través de terminales. Surgieron sistemas de tiempo real, en que los computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata. En esta generación se desarrollan los sistemas compartidos con multiprogramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad. Tercera Generación Se inicia en 1964, con la introducción de la familia de computadores Sistema/360 de IBM. Los computadores de esta generación fueron diseñados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios. Cuarta Generación Introducido en la mitad de los años 70´s los sistemas de la cuarta generación constituyen el estado actual de la tecnología. Muchos diseñadores y usuarios se sienten aun incómodos, después de sus experiencias con los sistemas operativos de la tercera generación. Los sistemas de seguridad se han mejorado mucho ahora que la información pasa a través de varios tipos vulnerables de líneas de comunicación. La clave de cifrado está recibiendo mucha atención; han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie más que a los receptores adecuados. Los sistemas de bases de datos han adquirido gran importancia. Nuestro mundo es una sociedad orientada hacia la información, y el trabajo de las bases de datos es hacer que esta información sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso. Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo. Quinta Generación Introducido a finales de los 80´s e inicio de los 90´s hasta la actualidad surgió el crecimiento de las redes de computadores con sistemas operativos de red y sistemas operativos distribuidos.
En los sistemas operativos de red cada
computador tiene su propia copia de sistema operativo, los usuarios saben que existen varios computadores, pueden conectarse explícitamente a diferentes máquinas remotas para transferir archivos, hacer búsquedas, etc. En los sistemas operativos de red cada computador tiene su propia copia de sistema operativo, los usuarios saben que existen varios computadores, pueden conectarse explícitamente a diferentes máquinas remotas para transferir archivos, hacer búsquedas, etc.
En los sistemas operativos distribuidos
existe una integración real de los recursos, la red es transparente a los usuarios, es decir, que éstos pueden no darse cuenta de la existencia de varias máquinas conectadas. Sobre este tipo de sistema operativo, una tarea puede ser ejecutada en varios nodos a la vez, pues existen facilidades de migración de procesos. Además este sistema computacional puede crecer fácilmente y latolerancia a fallas se realiza en mejor forma (la tolerancia a fallas está relacionada con la confiabilidad, por ejemplo, si un computador falla puede seguir operando en su reemplazo).
El desarrollo de los sistemas
computacionales de los últimos tiempos ha generado un conjunto de estándares, que han servido de base para futuros desarrollos de fabricantes que trabajan en conjunto. Dentro de los estándares más conocidos se encuentran los siguientes: • Estándares de comunicaciones abierto o Modelo OSI (Open System Interconection), desarrollado por I SO. • Estándares de sistemas operativos abiertos o POSIX (IEEE standar 1003.1) o SVID (System V Interface Definition) • Estándares de interfaces de usuarios abiertos o X Windows desarrollado por MIT • Estándares de aplicaciones de usuarios abiertos o X/Open
OSF (Open Software Foundation)
La mezcla de sistemas continúa durante la tercera y cuarta generación. Ahora pueden tenerse aplicaciones en tiempo compartido, en línea y en batch procesándose simultáneamente en el mismo sistema de cómputo. Además, existen nuevos paquetes para reducir los problemas del desarrollo de sistemas en línea.
El sistema operativo consiste en una
serie de manejadores y cada manejador debe lograr lo siguiente: controlar los recursos; hacer cumplir las políticas en cuanto a qué, quién y cuánto del recurso se asigna; asignar el recurso, y recuperar el recurso.
Las tendencias de futuro prevén el
desarrollo de Sistemas Operativos con potencialidad de: - Explotación del proceso en paralelo y de forma concurrente. - Integración mediante informática corporativa del tratamiento en distintos Sistemas Operativos de micros, minis y mainframes, a través de interfaces gráficas de usuario y la arquitectura cliente-servidor.