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)
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
Publicar un comentario