You are on page 1of 5

EVOLUCIN HISTRICA DE LOS SISTEMAS OPERATIVOS

Para intentar comprender los requisitos bsicos de un SO y el significado de las caractersticas principales de un sistema operativo contemporneo, resulta til considerar cmo han evolucionado los sistemas operativos a los largo de los aos.

PROCESO EN SERIE. PRIMERA GENERACIN (1945-1955)

En los primeros computadores, de finales de los 40 hasta mediados de los 50, el programa interactuaba directamente con el hardware: no haba sistema operativo. La operacin con estas mquinas se efectuaba desde una consola dotada con indicadores luminosos y conmutadores o a travs de un teclado hexadecimal. Los programas se arrancan cargando el registro contador de programas con la direccin de la primera instruccin. Si se detena el programa por un error, la condicin de error se indicaba mediante los indicadores luminosos. El programador poda examinar los registros relevantes y la memoria principal para comprobar el resultado de la ejecucin o para determinar la causa del error. El siguiente paso significativo de la evolucin en el uso de sistemas informticos vino con la llegada de dispositivos de E/S tales como tarjetas perforadas y cintas de papel y con los traductores de lenguajes. Los programas. Codificados ahora en un lenguaje de programacin, se traducen a un formato ejecutable mediante un programa como un compilador o un intrprete. Otro programa, llamado cargador, automatiza el proceso de cargar en memoria estos programas en cdigo ejecutable. El usuario coloca un programa y sus datos de entrada en un dispositivo de entrada y el cargador transfiere la informacin desde el dispositivo a la memoria. Despus de transferir el control al programa cargado por medios manuales o automticos, comienza la ejecucin del mismo. El programa en ejecucin lee sus datos desde el dispositivo de entrada asignado y puede producir ciertos resultados en un dispositivo de salida tal como una impresora o la pantalla. Estos primeros sistemas presentaban dos problemas principales:

Planificacin: La mayora de las instalaciones empleaban un formulario de reserva de

tiempo de maquina. Normalmente, un usuario poda reservar bloques de tiempo, mltiplos, por ejemplo, de media hora. Si la ejecucin del programa terminaba antes del plazo asignado, el tiempo restante se desperdiciaba. Tambin poda suceder que el programa no terminara dentro del plazo asignado, con lo que el programador no poda saber si el programa haba terminado satisfactoriamente o no. Tiempo de preparacin: Un programa aun siendo sencillo requera un tiempo de preparacin bastante grande ya que en primer lugar se cargaba un compilador y un programa en lenguaje de alto nivel (programa fuente) en la memoria. A continuacin, se salvaba el programa ya compilado (programa objeto) y, por ltimo, se montaba y cargaba este programa objeto junto con las funciones comunes. Este modo de trabajo poda denominarse proceso en serie porque refleja el hecho de los que usuarios tenan que acceder al computador en serie.

SISTEMAS DE PROCESO POR LOTES. SEGUNDA GENERACIN (1955-1965)

Las primeras maquinas eran muy caras y, por tanto, era importante maximizar la utilizacin de las mismas. El tiempo desperdiciado en la planificacin y la preparacin era inaceptable. Para mejorar el uso, se desarroll el concepto de sistema operativo por lotes (batch). El primer sistema operativo por lotes fue desarrollado a mediados de los 50 por el General Motors para usar en un IBM 701. La idea central que est detrs del esquema sencillo de proceso por lotes es el uso de un elemento de software conocido como monitor. Con el uso de esta clase de sistema operativo, los usuarios ya no tenan acceso directo a la mquina. En su lugar, el usuario

deba entregar los trabajos en tarjetas o en cinta al operador del computador, quien agrupaba secuencialmente los trabajos por lotes y ubicaba los lotes dispositivo de entrada para su empleo por parte del monitor. Cada programa se construa de modo tal que volviera al monitor al terminar el procesamiento y, en ese momento, el monitor comenzaba a cargar automticamente el siguiente programa. Para obtener provecho del potencial de utilizacin de recursos, un lote de trabajos debe ejecutarse automticamente sin intervencin humana. Para este fin, deben proporcionarse algunos medios que instruyan al sistema operativo sobre cmo debe tratar cada trabajo individual. Estas instrucciones son suministradas enteros en un

generalmente por medio de rdenes del sistema operativo incorporadas al flujo de lotes. Las rdenes del sistema operativo son sentencias escritas en un Lenguaje de Control de Trabajos (JCL, Job Control Language). Entre las ordenes tpicas de un JCL se incluyen las marcas de comienzo y finalizacin de un trabajo, las rdenes para cargar y ejecutar programas y las rdenes que anuncian necesidades de recursos tales como el tiempo esperado de ejecucin y los requisitos de memoria. Estas rdenes se hallan incorporadas al flujo de los trabajos, junto a los programas y a los datos del usuario. Una parte residente en memoria del SO por lotes, a veces llamado monitor de lotes, lee,

interpreta y ejecuta estas rdenes. En respuesta a ellas, los trabajos del lote se ejecutan de uno en uno. Sistemas operativos desarrollados GM OS: Desarrollado por General Motors para el IBM 701. Input Output System: Desarrollado por General Motors y la Fuerza Area de los Estados Unidos para el IBM 704. FORTRAN Monitor system: Desarrollado por la aviacin norteamericana para el IBM 709. SAGE (Semi-Automatic Ground Environment): Primer sistema de control en tiempo real, desarrollado para el IBM AN/FSQ7. SOS: Desarrollado por el IBM SHARE Users Group para el IBM 709.

MULTIPROGRAMACIN. TERCERA GENERACIN (1965-1980) Incluso con las mejoras anteriores, el proceso por lotes dedica los recursos del sistema informtico a una nica tarea a la vez. En el curso de su ejecucin, la mayora de los programas oscilan entre fases intensivas de clculo y fases intensivas de operaciones de E/S. El problema es que los dispositivos de E/S son muy lentos comparados con el procesador. El procesador gasta parte del tiempo ejecutando hasta que encuentra una instruccin de E/S. Entonces debe esperar a que concluya la instruccin de E/S antes de continuar. Esta ineficiencia no es necesaria. Se sabe que hay memoria suficiente para almacenar en memoria el sistema operativo (monitor residente) y un programa usuario. Supongamos que hay espacio suficiente para almacenar el sistema operativo y dos programas de usuario. Ahora, cuando un trabajo necesite esperar por una operacin de E/S, el procesador puede cambiar a otro trabajo que est listo para ser ejecutado. Si ampliamos la memoria para almacenar varios programas, podremos conmutar entre todos de forma que el procesador permanezca ocupado el mayor tiempo posible, evitando as el desperdicio de tiempo que suponen las esperas hasta que se completen las operaciones de E/S. Este concepto es conocido como multiprogramacin o multitarea y es el punto central de los sistemas operativos modernos. Con un solo procesador no es posible la ejecucin paralela de programas, y como mximo, slo un programa puede tener el control del procesador en un instante determinado. Para aumentar la utilizacin de recursos, los sistemas de multiprogramacin reales permiten generalmente que ms de dos programas compitan por los recursos del sistema al mismo tiempo. El nmero de programas en competencia activa por los recursos de un sistema informtico se denomina grado de multiprogramacin. En principio, mayores grados de multiprogramacin deben dar lugar a una mayor utilizacin de recursos. La multiprogramacin ha sido tradicionalmente empleada para aumentar la utilizacin de los recursos de un sistema informtico y para soportar mltiples usuarios simultneamente activos.

Sistemas operativos desarrollados Atlas Supervisor OS/360 Unix MULTICS (Multiplexed Information and Computing Service) MVS (Multiple Virtual Storage) CP/M (Control Program/Monitor)

You might also like