Para tratar de comprender los
requisitos de un Sistema Operativo y el significado de las principales
caracteristicas de un Sistema Operativo contemporaneo, es util considerar como
han ido evolucionando estos con el tiempo.
Existen diferentes enfoques o versiones de como han ido evolucionando los
Sistemas Operativos La primera de estas versiones podria ser esta:
En los 40's, se introducen los
programas bit a bit, por medio de interruptores mecanicos y despues se
introdujo el lenguaje maquina que trabajaba por tarjetas perforadas.
Con las primeras computadoras, desde
finales de los años 40 hasta la mitad de los años 50, el programador
interactuaba de manera directa con el hardware de la computadora, no existia
realmente un Sistema Operativo; las primeras computadoras utilizaban bulbos, la
entrada de datos y los programas se realizaban a traves del lenguaje maquina
(bits) o a traves de interruptores.
Durante los años 50's y 60's.- A principio de los 50's, la compania General's
Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir
las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo
eran programadores, disenadores, capturistas, etc.), se encarguen de modificar
sus programas. Establecian o apartaban tiempo, metian o introducian sus
programas, corregian y depuraban sus programas en su tiempo. A esto se le
llamaba trabajo en serie. Todo esto se traducia en perdida de tiempo y tiempos
de programas excesivos.
En los años 60's y 70's se genera el circuito integrado, se organizan los
trabajos y se generan los procesos Batch (por lotes), lo cual consiste en
determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En
esta epoca surgen las unidades de cinta y el cargador de programas, el cual se
considera como el primer tipo de Sistema Operativo.
En los 80's, inicio el auge de la INTERNET en los Estados Unidos de America. A
finales de los años 80's comienza el gran auge y evolucion de los Sistemas
Operativos. Se descubre el concepto de multiprogramacion que consiste en tener
cargados en memoria a varios trabajos al mismo tiempo, tema principal de los
Sistemas Operativos actuales.
Los 90's y el futuro, entramos a la era
de la computacion distribuida y del multiprocesamiento a traves de multiples
redes de computadoras, aprovechando el ciclo del procesador.
Se tendra una configuracion dinamica con un reconocimiento inmediato de
dispositivos y software que se anada o elimine de las redes a traves de
procesos de registro y localizadores.
La conectividad se facilita gracias a estandares y protocolos de sistemas
abiertos por organizaciones como la Organizacion Internacional de normas,
fundacion de software abierto, todo estara mas controlado por los protocolos de
comunicacion OSI y por la red de servicios digital ISDN.
Se ha desarrollado otra version, la cual se ha hecho en base a etapas o
generaciones:
1a. Etapa
(1945-1955): Bulbos y conexiones.
Despues de los infructuosos esfuerzos de Babbage, hubo poco progreso en la
construccion de las computadoras digitales, hasta la Segunda Guerra Mundial. A
mitad de la decada de los 40's, Howard Aiken (Harvard), John Von Newman
(Instituto de Estudios Avanzados, Princeton), J. Prespe R. Eckert y Williams
Mauchley (Universidad de Pennsylvania), asi como Conrad Zuse (Alemania), entre
otros lograron construir maquinas de calculo mediante bulbos. Estas maquinas
eran enormes y llenaban cuartos completos con decenas de miles de bulbos, pero
eran mucho mas lentas que la computadora casera mas economica en nuestros dias.
Toda la programacion se llevaba a cabo
en lenguaje de maquina absoluto y con frecuencia se utilizaban conexiones para
controlar las funciones basicas de la maquina. Los lenguajes de programacion
eran desconocidos (incluso el lenguaje ensamblador). No se oia de los Sistemas
Operativos el modo usual de operacion consistia en que el programador reservaba
cierto periodo en una hoja de reservacion pegada a la pared, iba al cuarto de
la maquina, insertaba su conexion a la computadora y pasaba unas horas
esperando que ninguno de los 20,000 o mas bulbos se quemara durante la
ejecucion. La inmensa mayoria de los problemas eran calculos numericos
directos, por ejemplo, el calculo de valores para tablas de senos y cosenos.
A principio de la decada de los 50's la
rutina mejoro un poco con la introduccion de las tarjetas perforadas. Fue
entonces posible escribir los programas y leerlas en vez de insertar conexiones,
por lo demas el proceso era el mismo.
2a. Etapa.
(1955-1965): Transistores y Sistemas de Procesamiento por lotes.
La introduccion del transistor a mediados de los años 50's modifico en
forma radical el panorama. Las computadoras se volvieron confiables de forma
que podian fabricarse y venderse a clientes, con la esperanza de que ellas
continuaran funcionando lo suficiente como para realizar un trabajo en forma.
Dado el alto costo del equipo, no debe
sorprender el hecho de que las personas buscaron en forma por demas rapidas
vias para reducir el tiempo invertido. La solucion que, por lo general se
adopto, fue la del sistema de procesamiento por lotes.
3ra Etapa
(1965-1980): Circuitos integrados y multiprogramación.
La 360 de IBM fue la primera linea
principal de computadoras que utilizo los circuitos integrados, lo que
proporciono una gran ventaja en el precio y desempeno con respecto a las
maquinas de la segunda generacion, construidas a partir de transistores
individuales. Se trabajo con un sistema operativo enorme y extraordinariamente
complejo. A pesar de su enorme tamano y sus problemas el sistema operativo de
la linea IBM 360 y los sistemas operativos similares de esta generacion
producidos por otros fabricantes de computadoras realmente pudieron satisfacer,
en forma razonable a la mayoria de sus clientes. Tambien popularizaron varias
tecnicas fundamentales, ausentes de los sistemas operativos de la segunda
generacion, de las cuales la mas importante era la de multiprogramacion.
Otra caracteristica era la capacidad de leer trabajos de las tarjetas al disco,
tan pronto como llegara al cuarto de computo. Asi, siempre que concluyera un
trabajo el sistema operativo podia cargar un nuevo trabajo del disco en la
particion que quedara desocupada y ejecutarlo.
4ta Etapa
(1980-Actualidad): Computadoras personales.
Un interesante desarrollo que comenzo a
llevarse a cabo a mediados de la decada de los ochenta ha sido el crecimiento
de las redes de computadoras personales, con sistemas operativos de red y
sistemas operativos distribuidos.
En los sistemas operativos de red, los
usuarios estan conscientes de la existencia de varias computadoras y pueden
conectarse con maquinas remotas y copiar archivos de una maquina a otra. Cada
maquina ejecuta su propio sistema operativo local y tiene su propio usuario.
Por el contrario, un sistema operativo
distribuido es aquel que aparece ante sus usuarios como un sistema tradicional
de un solo procesador, aun cuando esta compuesto por varios procesadores. En un
sistema distribuido verdadero, los usuarios no deben ser conscientes del lugar
donde su programa se ejecute o de lugar donde se encuentren sus archivos; eso
debe ser manejado en forma automatica y eficaz por el sistema operativo.