Вы находитесь на странице: 1из 4

1 Introduccin a los Sistemas Operativos o

1.4.

Evolucin histrica de los Sistemas Operativos o o

Para intentar comprender los requisitos bsicos de un SO y el signicado de las caa racter sticas principales de un sistema operativo contemporneo, resulta util considerar a cmo han evolucionado los sistemas operativos a los largo de los aos. o n

1.4.1.

Proceso en serie. Primera generacin (1945-1955) o

En los primeros computadores, de nales de los 40 hasta mediados de los 50, el programa interactuaba directamente con el hardware: no hab sistema operativo. La operacin a o con estas mquinas se efectuaba desde una consola dotada con indicadores luminosos y a conmutadores o a travs de un teclado hexadecimal. Los programas se arrancan cargane do el registro contador de programas con la direccin de la primera instruccin. Si se o o deten el programa por un error, la condicin de error se indicaba mediante los indicaa o dores luminosos. El programador pod examinar los registros relevantes y la memoria a principal para comprobar el resultado de la ejecucin o para determinar la causa del o error. El siguiente paso signicativo de la evolucin en el uso de sistemas informticos vino o a con la llegada de dispositivos de E/S tales como tarjetas perforadas y cintas de papel y con los traductores de lenguajes. Los programas. codicados ahora en un lenguaje de programacin, se traducen a un forato ejecutable mediante un programa como un o compilador o un intrprete. Otro programa, llamado cargador, automatiza el proceso de e cargar en memoria estos programas en cdigo ejecutable. El usuario coloca un programa o y sus datos de entrada en un dispositivo de entrada y el cargador transere la informacin o desde el dispositivo a la memoria. Despus de transferir el control al programa cargado e por medios manuales o automticos, comienza la ejecucin del mismo. El programa en a o ejecucin lee sus datos desde el dispositivo de entrada asignado y puede producir ciertos o resultados en un dispositivo de salida tal como una impresora o la pantalla. Estos primeros sistemas presentaban dos problemas principales: Planicacin: La mayor de las instalaciones empleaban un formulario de reserva o a de tiempo de mquina. Normalmente, un usuario pod reservar bloques de tiempo, a a mltiplos, por ejemplo, de media hora. Si la ejecucin del programa terminaba antes u o del plazo asignado, el tiempo restante se desperdiciaba. Tambin pod suceder que e a el programa no terminara dentro del plazo asignado, con lo que el programadir no pod saber si el programa hab terminado satisfactoriamente o no. a a Tiempo de preparacin: Un programa aun siendo sencillo requer un tiempo de o a preparacin bastante grande ya que en primer lugar se cargaba un compilador o 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 ultimo, o se montaba y cargaba este programa objeto junto con las funciones comunes. Este modo de trabajo pod denominarse proceso en serie porque reeja el hecho de los a que usuarios ten que acceder al computador en serie. an

10

Sistemas Operativos - 0.5.0

1.4 Evolucin histrica de los Sistemas Operativos o o

1.4.2.

Sistemas sencillos de proceso por lotes. Segunda generacin o (1955-1965)

Las primeras mquinas eran muy caras y, por tanto, era importante maximizar la a utilizacin de las mismas. El tiempo desperdiciado en la planicacin y la preparacin o o o era inaceptable. Para mejorar el uso, se desarroll el concepto de sistema operativo por lotes (batch). El o primer sistema operativo por lotes fue desarrollado a mediados de los 50 por la General Motoros para usar en un IBM 701. La idea central que est detrs del esquema sencillo de proceso por lotes es el uso de a a un elemento de software conocido como monitor. Con el uso de esta clase de sistema operativo, los usuarios ya no ten acceso directo a la mquina. En su lugar, el usuario an a deb entregar los trabajos en tarjetas o en cinta al operador del computador, quien a agrupaba secuencialmente los trabajos por lotes y ubicaba los lotes enteros en un dispositivo de entrada para su empleo por parte del monitor. Cada programa se constru a de modo tal que volviera al monitor al terminar el procesamiento y, en ese momento, el monitor comenzaba a cargar automticamente el siguiente programa. a Para obtener provecho del potencial de utilizacin de recursos, un lote de trabajos o debe ejecutarse automticamente sin intervencin humana. Para este n, deben proa o porcionarse algunos medios que instruyan al sistema operativo sobre cmo debe tratar o cada trabajo individual. Estas intrucciones son suministradas generalmente por medio de rdenes del sistema operativo incorporadas al ujo de lotes. Las rdenes del sistema o o operativo son sentencias escritas en un Lenguaje de Control de Trabajos (JCL, Job Control Language). Entre las rdenes t o picas de un JCL se incluyen las marcas de comienzo y nalizacin de un trabajo, las rdenes para cargar y ejecutar programas y las rdenes o o o que anuncian necesidades de recursos tales como el tiempo esperado de ejecucin y los o requisitos de memoria. Estas rdenes se hallan incoporadas al ujo de los trabajos, junto o 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 o de uno en uno.

1.4.3.

Multiprogramacin. Tercera Generacin (1965-1980) o o

Incluso con las mejoras anteriores, el proceso por lotes dedica los recursos del sistema informtico a una unica tarea a la vez. a En el curso de su ejecucicn, la mayor de los programas oscilan entre fases intensivas o a de clculo y fases intensivas de operaciones de E/S. Esto queda indicado en la gura 1.1 a donde los periodos de clculo intensivo se indican mediante cuadros sombreados y las a operaciones de E/S mediante zonas en blanco. 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 o concluya la instruccin de E/S antes de continuar. o Esta ineciencia no es necesaria. Se sabe que hay memoria suciente para almacenar

http://alqua.org/libredoc/SSOO

11

1 Introduccin a los Sistemas Operativos o


Programa 1
                                                     

Programa 2
                 

P1 inactivo P1 inactivo P1 inactivo P2 inactivo P2 inactivo P2 inactivo

(a) Ejecucin secuencial


" # " # " " # # " # " # ! ! ! ! ! !          

Tiempo

Programa 1
" #

P1

P2

P1

P2

P1

(b) Ejecucin multiprogramada

Figura 1.1: Ejecucin secuencial vs multiprogramacin o o

en memoria el sistema operativo (monitor residente) y un programa usuario. Supongamos que hay espacio suciente para almacenar el sistema operativo y dos programas de usuario. Ahora, cuando un trabajo necesite esperar por una operacin de E/S, el o procesador puede cambiar a otro trabajo que est listo para ser ejecutado. Si ampliae mos 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 o central de los sistemas operativos modernos. Como sugiere la gura 1.1 se pueden lograr ganancias signicativas de rendimiento intercalando la ejecucin de los programas, o, multiprigramando, que es como se le deo nomina a este modo de operacin. Con un solo procesador no es posible la ejecucin o o paralela de programas, y como mximo, slo un programa puede tener el control del a o procesador en un instante determinado. El ejemplo presentado en la gura 1.1 (b) consigue un 100 % de utilizacin del procesador slo con dos programas activos. Aunque o o conveniente para ilustrar la idea bsica en la multiprogramacin, no se deben esperar a o resultados tan espectaculares en programas reales, ya que las distribuciones de las fases de computacin y E/S tienden a ser ms variables. Para aumentar la utilizacin de o a o recursos, los sistemas de multiprogramacin reales permiten generalmente que ms de o a dos programas compitan por los recursos del sistema al mismo tiempo. El nmero de u programas en competencia activa por los recursos de un sistema informtico se denomina a grado de multiprogramacin. En principio, mayores grados de multiprogramacin deben o o dar lugar a una mayor utilizacin de recursos. o La multiprogramacin ha sido tradicionalmente empleada para aumentar la utilizacin o o de los recursos de un sistema informtico y para soportar mltiples usuarios simultneaa u a mente activos.

12

"

"

   

Programa 2

P2

Tiempo

Sistemas Operativos - 0.5.0

1.4 Evolucin histrica de los Sistemas Operativos o o

1.4.4.

Computadoras personales. Cuarta Generacin (1980-1990) o

Con el desarrollo de la tecnolog LCI (Large Scale Integration) de construccin de a o circuitos, que permit fabricar chips con miles de transistores en un cent a metro cuadrado de silicio, se inicio la era de la computadora personal. En trminos de arquitectura, las e computadoras personales no eran muy distintas de las minicomputadoras del tipo PDP11, pero en trminos de precio s eran bastante distintas. Las computadoras personales e ms poderosas reciben el nombre genrico de estaciones de trabajo, pero en realidad slo a e o son computadoras personales grandes. La amplia disponibilidad de poder de cmputo condujo, junto con un nivel grco o a bastante adecuado, al crecimiento de la industria de produccin de software para las o computadoras personales. Gran parte de este software ten adems, la ventaja de prea, a sentar una gran amiganilidad con el usuario. Dos sistemas operativos han dominado la escena de las computadoras personales y las estaciones de trabajo: MS-DOS de Microsoft y UNIX de AT&T. MS-DOS tuvo un amplio uso en el IBM PC y otras mquinas que incorporaban el microprocesador 8088 de Intel a o alguno de sus sucesores. UNIX, su contendiente principal, domin las computadoras o que no utilizaban microprocesadores de Intel, as como las estaciones de trabajo, en particular las que poseen chips RISC de altas prestaciones. Un interesante desarrollo que comenz a llevarse a cabo a mediados de la dcada o e de los 80 ha sido el crecimiento de las redes de computadoras personales con sistemas operativos en red y sistemas operativos distribuidos. En un sistema operativo en red, los usuarios son conscientes de la existencia de varias computadoras y pueden conectarse con mquinas remotas. Cada mquina ejecuta su propio sistema operativo local y tiene a a su propio usuario. Un sistema operativo distribuido, por el contrario, presenta al usuario un conjunto de computadores independientes como si se tratara de un solo sistema. En un sistema operativo distribuido los usuarios no deben ser conscientes del lugar donde su programa va a ejecutarse o la ubicacin de los archivos a los que desea acceder, esas o cuestiones deben ser manejadas automticamente y de forma eciente por el sistema a operativo.

http://alqua.org/libredoc/SSOO

13

Вам также может понравиться