Está en la página 1de 25

Sistemas Operativos

Curso 2012 Introduccin

Agenda
Introduccin a los sistemas operativos. Evolucin histrica de los sistemas operativos:
Sistemas por lotes. Sistemas por lotes multiprogramados. Sistemas de tiempo compartido. Computadores personales. Sistemas paralelos. Sistemas cluster. Sistemas de tiempo real. Sistemas multimedia. Sistemas de mano.

Sistemas Operativos | Curso 2012 | Introduccin

2/25

Introduccin
Componentes de un sistema de computacin:

Sistemas Operativos | Curso 2012 | Introduccin

3/25

Introduccin
Definicin de sistema operativo
Un sistema operativo es un programa o conjunto de programas que tornan productivo, amigable y eficiente el uso de un computador (hardware) permitiendo ejecutar aplicaciones del usuario.

Metas:
Brindar un ambiente para realizar y ejecutar los programas y aplicaciones de los usuarios. Proveer un entorno sin interferencias a cada usuario. Administrar en forma equitativa los recursos del hardware y software del sistema. Hacer que el uso del sistema tan amigable, intuitivo y expresivo como permita el estado de la tecnologa.

Es el intermediario entre las aplicaciones o usuarios y el hardware.

Sistemas Operativos | Curso 2012 | Introduccin

4/25

Introduccin
Todas las aplicaciones requieren un conjunto de operaciones comunes que son incorporadas al sistema operativo o a su entorno. Las tareas principales de un sistema operativo sern:
Proveer uno o varios entornos y contexto apropiado para la ejecucin de los programas de los usuarios de propsito general, incluyendo exclusivamente el cdigo de la aplicacin. Podr implementar diferentes entornos adecuados para diferentes usos, como interfaces grficas, lnea de comando o shell, o transaccional tipo Web. Deber proveer una o ms interfaces con el usuario, expresivas e intuitivas. Proporcionar a las aplicaciones un conjunto de servicios a travs de una interfaz conocida como system services. Brindar eficiencia y equidad en la administracin de los recursos.

Sistemas Operativos | Curso 2012 | Introduccin

5/25

Introduccin
El sistema operativo es un:
Administrador de recursos:
Administra todos los recursos disponibles. Decide como asignar estos recursos segn los pedidos y asignaciones que tenga.

Programa de control:
Controla la ejecucin de los programas para la prevencin de errores y mal uso del sistema.

Frecuentemente, la porcin residente del propio sistema operativo se denomina ncleo del sistema (kernel).

Sistemas Operativos | Curso 2012 | Introduccin

6/25

Perspectiva histrica: Sistemas batch ('70)


En las primeras pocas los sistemas eran grandes y costosos. Constaban de un entrada de trabajos o cola y una salida impresa. Prcticamente no haba interaccin alguna con el usuario. La funcin principal era la del cargador (loader) de programas y soporte de entrada/salida (E/S) a dispositivos. El sistema soportaba un nico trabajo a la vez.

Sistemas Operativos | Curso 2012 | Introduccin

7/25

Perspectiva histrica: Sistemas batch ('70)


Lectora de Entrada -> Proceso -> Salida y resultado Las tareas relacionadas, se agrupaban en conjuntos de trabajos o lotes (batches) para su procesamiento ms eficiente. Con el advenimiento de los discos se comenz a realizar el spool de los dispositivos haciendo ms rpidas las operaciones e introduciendo por primera vez el solapamiento o concurrencia de operaciones. El recurso ms caro de la poca era el procesador (CPU), que tena un bajo porcentaje de utilizacin.

Sistemas Operativos | Curso 2012 | Introduccin

8/25

Perspectiva histrica: Batch multiprogramado ('80)


Fue una mejora a los sistemas batch en los comienzos de la dcada del 80 El disponer de un Pool de Jobs en memoria secundaria y la implementacin de tcnicas de multiprogramacin permiti desarrollar tcnicas de planificacin de despacho de job scheduling as como de multiprogramacin. El sistema deba seleccionar un subconjunto de trabajos o lotes (jobs) que estaban en memoria secundaria para cargar en memoria principal. El sistema operativo seleccionaba un trabajo para ejecutar. Cuando el trabajo seleccionado deba esperar por alguna tarea (p. ej.: ejecucin de una E/S), el sistema elega otro para utilizar el procesador.

Sistemas Operativos | Curso 2012 | Introduccin

9/25

Perspectiva histrica: Batch multiprogramado ('80)


Todo esto implic el desarrollo de tcnicas incipientes para el manejo de la memoria, ya que haba que compartirla entre todos los trabajos. La multiprogramacin incrementa la utilizacin del recurso procesador.

Sistemas Operativos | Curso 2012 | Introduccin

10/25

Perspectiva histrica: Sistemas de tiempo compartido ('80)


Los sistemas batch multiprogramados no tenan interaccin con el usuario adems de un tiempo de retorno (turnaround time) extenso. El debug de un programa segua siendo tortuoso (dump de la memoria). Sistemas de tiempo compartido, ejecutan programas en forma concurrente con una elevada tasa de despacho de procesador (context switch) de forma tal de permitir que usuarios interacten directamente con el sistema como si fueran su nico usuario. Se debe combinar multiprogramacin con tcnicas de planificacin de CPU (scheduling) para proveer a cada usuario con una porcin adecuada del sistema. Los sistemas de tiempo compartido (time sharing systems) son una extensin lgica de los sistemas multiprogramados.

Sistemas Operativos | Curso 2012 | Introduccin

11/25

Perspectiva histrica: Sistemas de tiempo compartido ('80)


Los usuarios utilizaban terminales para implementar la interaccin y eran atendidos por un interprete de comandos (multiusuarios). La calidad de la interaccin era un resultado de la transmisin carcter a carcter o en modo bloque. Todos los usuarios crean tener el computador a su disposicin. Si bien un procesador ejecuta un nico proceso por vez, el despacho del mismo 30 40 veces por segundo entre diferentes tareas, le brinda a los usuarios la sensacin de que est para su uso exclusivo. Este intercambio es tan frecuente que el usuario puede interactuar con el trabajo suyo con total comodidad. La necesidad de acceder y actualizar datos en forma concurrente, cre la necesidad de evolucionar el sistema de archivos a uno multiusuario, incorporando tcnicas de proteccin y serializacin del acceso.

Sistemas Operativos | Curso 2012 | Introduccin

12/25

Perspectiva histrica: Sistemas de tiempo compartido ('80)


Tambin apareci el problema de que los usuarios podran ver la memoria de los procesos de otros usuarios En estas condiciones, los procesos deben contar con la memoria y procesador necesarias para su ejecucin eficiente dando forma a los requerimientos de los sistemas operativos de hoy da. Comenz a aparecer la idea de la memoria virtual
Los procesos ven un espacio de memoria virtual que el sistema operativo se encarga de mapear a la memoria fsica

La expresin de gran porte de estos sistemas Mainframes incluy monitores de teleproceso e interaccin con los usuarios mediante terminales que operaban en modo de transmisin por bloque.

Sistemas Operativos | Curso 2012 | Introduccin

13/25

Perspectiva histrica: Computadoras personales ('80)


Con costos de hardware decrecientes fue posible el diseo y uso de computadores personales. El sistema era diseando en base a que sera dedicado a un nico usuario. Con en un principio modestos recursos de procesador, el nfasis y desarrollo estuvo por mejorar la interfase con el usuario. Para ello el sistema operativo debi maximizar la habilidad de interaccin con el usuario en vez de uso de CPU, etc.. La interfase de comandos habitual y diseada para tcnicos fue sustituida por la interfaz de ventanas que hoy conocemos.

Sistemas Operativos | Curso 2012 | Introduccin

14/25

Perspectiva histrica: Computadoras personales ('80)


Se introdujeron nuevos dispositivos que mejoran la interaccin con el usuario (audio, ratn, video, micrfono, cmara, disquete, etc.). Finalmente, los PC invadieron el ambiente empresarial al ser dispuestos en red. Para ello, utilizando sistemas homogneos y servidores con habilidades especficas de impresin, base de datos, sistema de archivo, seguridad, correo, etc. Esta es la disposicin reciente dnde las aplicaciones se implementan en modalidad cliente-servidor.

Sistemas Operativos | Curso 2012 | Introduccin

15/25

Perspectiva histrica: Sistemas paralelos ('90)


Desde comienzos de los 90, acompaando el desarrollo del hardware Sistemas donde se dispone de ms de un procesador permiten la ejecucin simultnea y sincronizada de ms de un proceso. Se clasifican en:
Sistemas altamente integrados (tightly coupled). Son sistemas en donde los canales de interconexin son de alta velocidad (bus comn o memoria compartida). Sistemas poco integrados (closely coupled). Sistemas en donde los canales de interconexin son de baja velocidad relativa. Sistemas en red.

Sistemas Operativos | Curso 2012 | Introduccin

16/25

Perspectiva histrica: Sistemas paralelos ('90)


Taxonoma de Flynn (1972):
Caracteriz las arquitecturas de computadores y sobre que datos se estn aplicando: SISD (Single Instruction, Single Data): Una arquitectura secuencial donde no existe paralelismo. (Sistemas monoprocesadores). SIMD (Single Instruction, Multiple Data): Sistemas que ejecutan la misma instruccin sobre un conjunto distinto de datos (Sistemas vectoriales). MISD (Multiple Instruction, Single Data): Utilizado para paralelismo redundante. MIMD (Multiple Instruction, Multiple Data): Sistemas con procesadores autnomos que ejecutan en forma simultanea diferentes instrucciones sobre diferentes datos.

Sistemas Operativos | Curso 2012 | Introduccin

17/25

Perspectiva histrica: Sistemas paralelos ('90)


Dentro de los sistemas MIMD se suelen hacer dos divisiones:
Sistemas de memoria compartida: Son sistemas donde los procesadores coexisten en un nico nodo o en un sistema altamente integrado. Escalan poco debido a que el acceso a memoria desde los procesadores se convierte en un cuello de botella. Sistemas de memoria distribuida: Son sistemas donde los nodos son independientes que se interconectan a travs de una red de alta velocidad. Escalan a miles de procesadores.

Sistemas Operativos | Curso 2012 | Introduccin

18/25

Perspectiva histrica: Sistemas paralelos ('90)

Sistemas Operativos | Curso 2012 | Introduccin

19/25

Perspectiva histrica: Sistemas paralelos ('90)

Sistemas Operativos | Curso 2012 | Introduccin

20/25

Perspectiva histrica: Sistemas multiprocesadores ('90)


Sistemas asimtricos:
Al surgir los sistemas multiprocesadores los ncleos de los sistemas operativos se modificaron para soportar este tipo de sistema. La forma ms sencilla fue asignar la ejecucin de cdigo del ncleo a un nico procesador. De esta forma, los sistemas operativos no tenan que lidiar con la programacin concurrente, ya que su cdigo estaba restringido a ejecutarse en un nico procesador. Posteriormente, se empez a asignar ciertas tareas a otros procesadores, generando una jerarqua entre ellos.

Sistemas Operativos | Curso 2012 | Introduccin

21/25

Perspectiva histrica: Sistemas multiprocesadores ('90)


Sistemas simtricos:
Al avanzar el diseo de los sistemas operativos se desarrollaron sistemas en donde el cdigo del ncleo se dispone en la memoria comn y puede ser ejecutado por cualquier procesador. Se pierde la jerarqua de los sistemas asimtricos y todos los procesadores pasan a ser simtricos. Pas a ser una necesidad crtica que el ncleo sea reentrante. Los proveedores debieron redisear totalmente sus sistemas operacionales. El cdigo del sistema operativo, al igual que el ancho de banda de la memoria, se transforman en recursos crticos, que determinan la escalabilidad del sistema.

Dentro de los sistemas multiprocesadores se los caracteriza en dos tipos:


Sistemas UMA (Uniform Memory Access):
Acceso uniforme a la memoria. Cada procesador accede a cualquier lugar de memoria con el mismo costo en cuanto al tiempo.

Sistemas NUMA (Non-Uniform Memory Access):


Acceso no uniforme a la memoria. Los procesadores tienen conjuntos de memoria a la cual acceden ms rpido que el resto.

Sistemas Operativos | Curso 2012 | Introduccin

22/25

Perspectiva histrica: Sistemas cluster ('00)


Son sistemas donde participan varios nodos. Se enfocan en brindar alta disponibilidad y balance de carga. Los nodos estn interconectados por varios canales para verificar (monitorear) el estado de cada uno. Los cluster de alta disponibilidad se pueden estructurar en simtricos o asimtricos:
Simtricos: Todos los nodos ejecutan tareas y asumen las de otros ante fallas (activo-activo). Asimtricos: Existen nodos primarios donde se ejecutan las tareas y nodos secundarios que estn a la espera de una falla para asumir el rol de primario (activo-pasivo).

Sistemas Operativos | Curso 2012 | Introduccin

23/25

Perspectiva histrica: Sistemas de tiempo real ('00)


En sistemas de este tipo estricto, todo resultado debe producirse en un cierto tiempo, o de lo contrario el sistema falla. En la prctica, sistema de tiempo compartido con prioridades dinmicas y despacho preemptivo en general pueden ser utilizados en estas condiciones ya que adems se pueden utilizar como de propsito general. Dos tipos
Hard
Todas las demoras del sistema deben estar acotadas En general no se usa almacenamiento secundario en disco Sistemas especializados

Soft
Sistemas de propsito general con procesos de tiempo real con mayor prioridad No son tan estrictos como los otros pero pueden combinar otros procesos de menor prioridad

Sistemas Operativos | Curso 2012 | Introduccin

24/25

Perspectiva histrica
Sistemas multimedia
Sistemas especializados en la incorporacin de datos multimedia (audio y video). Estos tipos de datos deben reproducirse bajos ciertas restricciones de tiempo a los usuarios.

Sistemas de mano
Sistemas PDA (Personal Digital Assistant) como Palms, Pocket-PC Smart phones Estos utilizan sistemas operativos embebidos que tienen grandes limitaciones de recursos y altos requerimientos de prestaciones. Actualmente se parecen cada vez ms a computadores personales

Sistemas Operativos | Curso 2012 | Introduccin

25/25

También podría gustarte