Evolución del Sistema Operativo

EVOLUCIÓN DEL SISTEMA OPERATIVO


Los sistemas operativos han venido evolucionando a través de los años, ya que se han apegado íntimamente a la arquitectura de las computadoras en las cuales se ejecutan.

La primera computadora digital real fue diseñada por el matemático inglés Charles Babbage. Aunque Babbage gastó la mayor parte de su vida y de su fortuna intentando construir su ¨maquina analítica¨, nunca la hizo funcionar adecuadamente porque era un diseño puramente mecánico y la tecnología de su época no podía producir las ruedas, el engranaje, levas y otras partes mecánicas con la alta precisión que él necesitaba. Sin tener que decirlo, la máquina analítica no tuvo un sistema operativo. 




PRIMERA GENERACIÓN  (1945-1955) SISTEMAS EN SERIE

Después de los infructuosos esfuerzos de Babbage, se progresó poco en la construcción de computadoras digitales hasta la Segunda Guerra Mundial. Alrededor de la mitad de la década de los cuarenta, Howard Aiken en Hardvard, Jon Von Neumann en el Instituto de Estudios Avanzados en Princeton, J. Presper Eckert y William Mauchley en la Universidad de Pennsylvania y Konrad Zuse en Alemania, entre otros, lograron construir máquinas de cálculo mediante bulbos. Estás máquinas eras enormes y llenaban cuartos completos con decenas de miles de bulbos, eran mucho más lentas que la computadora casera más económica en la actualidad.



Al inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las tarjetas perforadas. Ahora era posible escribir tarjetas y leerlos, en vez de utilizar tableros enchufables; de lo contrario el procedimiento era el mismo. Y que en esta etapa los sistemas operativos no existían como tal. 











Vídeo



SEGUNDA GENERACIÓN (1955-1965) SISTEMAS POR LOTES

La introducción del transistor a mediados de la década de 1950 cambió la imagen radicalmente. Las computadoras se volvieron lo suficientemente confiables, en un principio hubo una clara separación entre los diseñadores, armadores, operadores, programadores y personal de mantenimiento. 

Estás máquinas se instalaban en cuartos de computadores especialmente acondicionados con aire, con cuerpo de operadores profesionales para accionarlas. Un programador primeramente escribí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 le entregaría a uno de los operadores en 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 el 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 máquinas. 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, el sistema operativo leía automáticamente el siguiente trabajo de la cinta, y comenzaba a ejecutarlo. 





             SECUENCIA:
a                     a) Los programadores traen tarjetas a la 1401.
b                     b) La 1401 lee lotes de trabajos y los graba en cinta.
c                     c) El operador lleva la cinta de entrada a la 7094.
d                     d) La 7094 realiza la computación.
                       e) El operador lleva la cinta de salida a la 1401.
f.                   f) La 1401 imprime la salida.



TERCERA GENERACIÓN (1965- 1980) MULTIPROGRAMACIÓN

Al inicio de la década de 1960 muchos fabricantes de computadoras tenían dos líneas de trabajo distintas y totalmente incompatibles. Por un lado existían las computadoras científicas de grande escala orientadas a las palabras, como la 7094, que se utilizaba para realizar cálculos numéricos de ciencias de ingeniería. Por el otro lado estaban las computadoras comerciales orientadas a los caracteres, como 1401, que se utilizaban para el ordenamiento de cintas e impresión por parte de bancos y compañías de seguros.

El desarrollo y mantenimiento de dos líneas de productos diferentes era una proposición costosa para los fabricantes. Además, muchos nuevos compradores de computadoras necesitaban una máquina pequeña, pero después se expandían y querían una máquina de mayor tamaño que ejecutara todos programas antiguos, pero con mayor velocidad.

IMB intento resolver estos dos problemas de un solo golpe introduciendo en el mercado el Sistema/360. El 360 era una serie de máquinas compatibles con el software que variaban del tamaño de la 1401 a uno mucho más poderosa que la 7094, el 360 estaba diseñado para realizar cálculos tanto científicos como comerciales. Por lo tanto una sola familia de máquinas podía satisfacer las necesidades de todos los clientes.

La intención era que todo software, como el sistema operativo, tenía que funcionar en todos los modelos. Tenía que correr en sistemas pequeños, y en sistemas muy grandes. Tenía que funcionar adecuadamente en sistemas con algunos periféricos y en sistemas con muchos periféricos.

No había manera de que IMB escribiera una pieza de software que cumpliera todos esos requisitos conflictivos. El resultado fue un sistema operativo enorme y extraordinariamente complejo. Constaba de millones de líneas de lenguaje ensamblador escritas por miles de programadores, y contenía miles y miles de errores ocultos.

Otra característica de importancia en los sistemas operativos de la tercera generación era la capacidad de leer trabajos de tarjetas contenidas en el disco tan pronto como se llevaban al cuarto de computación. Siempre que se terminaba un trabajo., el sistema operativo podía cargar uno nuevo del disco en la partición no vacía y ejecutarlo, esta técnica se denomina manejo por cola de impresión. El tiempo entre la entrega de un trabajo y la devolución de la salida comprendía a menudo varias horas.

El deseo de obtener un tiempo de respuesta corto marco el camino para el tiempo compartido, variante de la multiprogramación, pero continuaban trabajando los lotes en la cual cada usuario tiene una terminal en línea. En un sistema de tiempo compartido si hay 20 usuarios dentro del sistema y 17 de ellos están pensando o platicando o bien tomando un café, la CPU puede distribuirse en turno para los tres trabajos que necesitan servicio.

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) COMPUTADORAS PERSONALES

Con la creación de los circuitos integrados LSI (integración a grande escala), chips que contiene miles de transistores en un centímetro cuadrado de silicón, la era de computadora personal vio sus inicios.

Dos sistemas operativos han dominado la escena de la computadora personal, MS-DOS, escrito por Microsoft, Inc., para la IBM PC y otras computadoras que utilizan la CPU Intel 8088 y sus sucesores y UNIX, que domina en las computadoras personales mayores que hacen uso de CPU Motorola 68000.
Aunque la versión inicial de MS-DOS era relativamente primitiva, versiones subsiguientes han incluido más y más características de UNIX, lo que no es totalmente sorprendente dado que Microsoft es un proveedor importante de UNIX, que usa el nombre comercial de XENIX.

Un avance importante que empezó a tomar su sitio a mediados de la década de 1980 es el desarrollo de redes de computadoras personales que corren sistemas operativos en red y sistemas operativos distribuidos.  En un sistema operativo en red, los usuarios tienen conocimiento de la existencia de múltiples computadoras y pueden ingresar en máquinas remotas y reproducir archivos de una máquina a la otra.  Cada máquina ejecuta su sistema operativo local y tiene un usuario propio (o usuarios).

Un sistema distribuido, es aquel que se presenta ante sus usuarios como un sistema uniprocesador tradicional, aunque en realidad este compuesto de múltiples procesadores.  En un sistema distribuido real, los usuarios no tienen conocimiento de donde se están ejecutando sus programas o de donde están ubicados sus archivos, todo esto se debe manejar en forma automática y eficiente por medio del sistema operativo.

Los sistemas operativos en red no son fundamentalmente diferentes de los sistemas operativos uniprocesadores.  Sin duda necesitan un controlador de interfaz en red y algún software de bajo nivel para impulsarlo, así como programas para lograr un ingreso remoto al sistema y un acceso remoto del archivo. Los sistemas operativos distribuidos reales requieren más que simplemente agregar un poco de código a un sistema operativo uniprocesador, ya que los sistemas operativos distribuidos y centralizados difieren de manera decisiva.

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.






Vídeo



QUINTA GENERACIÓN (1990-ACTUALIDAD) 

Desde aproximadamente mediados de los '80 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 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 abiertoo Modelo OSI (Open System Interconection), desarrollado por I SO.• Estándares de sistemas operativos abiertoso POSIX (IEEE standar 1003.1)o SVID (System V Interfase Definition)• Estándares de interfaces de usuarios abiertoso X Windows desarrollado por MIT• Estándares de aplicaciones de usuarios abiertoso X/OpenOSF (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.




Comentarios

Entradas más populares de este blog

Partes básicas de una computadora

Dispositivos de Entrada-Salida-Almacenamiento y Procesamiento

Hardware y Software