Download SISTEMAS OPERATIVOS
Document related concepts
Transcript
SISTEMAS OPERATIVOS Generalidades. Introducción a los procesos Temas 1. 2. 3. 4. 5. 6. Conceptos fundamentales. Procesos. Administración de memoria. Entrada salida. Abrazo fatal. Sistemas de archivos. Bibliografía básica: Tanenbaum, A. S. Sistemas Operativos Modernos. Ed. Prentice-Hall Hispanoamericana, 1996. Peterson, J.L. y Silberchats, Sistemas Operativos. Conceptos Fundamentales, Ed. Addison-Wesley, 1994. Evaluaciones importantes • Pruebas Parciales (2) • Evaluaciones en Clases Prácticas Derecho a examen: • 1 PP aprobada. • 50% + 1 de las evaluaciones frecuentes. Contenido • Introducción • Funciones principales de los sistemas operativos • La multiprogramación • Procesos. Tabla de procesos. • Modelo de procesos. Estados de los procesos. • Programación concurrente. Grafos de precedencia. • Condiciones de concurrencia. Especificaciones. Bibliografía: Tanenbaum, A. S. Sistemas Operativos Modernos. Ed. Prentice-Hall Hispanoamericana, 1996, pp. 1-37. Descripción interna del Sistema Operativo Una definición de Sistema Operativo Conjunto de programas implementados, tanto en software como en firmware, que hacen disponible el hardware de la manera más adecuada al usuario y aumentan su rendimiento total y su disponibilidad. Firmware: bloque de instrucciones de programa para propósitos específicos, grabado en una memoria no volátil que establece la lógica de más bajo nivel. Sistema de cómputo Se divide en dos partes: Hardware (Hw): Aseguramiento técnico Software (Sw): Aseguramiento de programas. El software hace útil al hardware. Software Prog. Sistema Sist Operación Sw de Aplicación Comp, Edit, etc Capa del SO en el Sistema de cómputo Word Juegos SIGENU ... Int. de … CompiladoresEditores comandos Sistema Operativo Programas de aplicación Programas de sistema Lenguaje de máquina Microprogramación Dispositivos físicos Hardware Funciones Principales de un SO Máquina ampliada o virtual: Dar facilidades a los usuarios (programadores), aislándolo de la complejidad del hardware. Administración de recursos: Asignar, en forma ordenada y controlada, los distintos recursos de que dispone el sistema de cómputo entre varios programas que compiten por ellos. El SO como Máquina Extendida Usuario programas del sistema Aplicación llamadas al sistema Sistema Operativo Hardware Técnica de multiprogramación (3ra generación de SO) Intento de aumentar la utilización del CPU por la vía de mantener varios trabajos en memoria a la vez y cuando el que está activo va a provocar una espera se le quita el CPU y se le asigna a otro que está listo para ejecutar. Trabajo 2 Trabajo 1 SO particiones de memoria Proceso Es un programa en ejecución que incluye el código ejecutable, sus datos, su pila, el contador de programa, los valores almacenados en los registros y todo lo que refleja su estado en un instante. Permite continuar su procesamiento si en algún momento se le retira el control de la CPU Tabla de Procesos: información relativa a un proceso Tabla de procesos Apuntador Estado PID PCB (Proceso 1) Contador del programa PCB (Proceso 2) PCB (Proceso 3) Registros ... PCB (Proceso n) Límites de memoria Lista de archivos abiertos ... Cambios de estados e/ procesos Sistema Operativo Proceso P0 En ejecución Proceso P1 Int. o llamada al sistema Guardar estado en PCB0 ... Inactivo Cargar estado de PCB1 Inactivo Int. o llamada al sistema En ejecución Guardar estado en PCB1 ... Cargar estado de PCB0 En ejecución Int. o llamada al sistema Inactivo Estados del proceso En ejecución: El proceso está en posesión del CPU en ese instante. Bloqueado: El proceso está esperando hasta que ocurra un evento externo (por ejemplo, una E/S). Listo: El proceso está en condiciones de ejecutar, pero está detenido temporalmente para permitir a otro proceso la ejecución. Transición entre estados de un proceso terminado nuevo 2 salida admitido listo 3 terminación de un evento en ejecución 1 en espera de 4 un evento bloqueado (en espera) Concurrencia Ejecución paralela de instrucciones o procesos. Ejemplo: S1: a = x + y; S2: b = z + 1; S3: c = a - b; S4: w = c + 1; Se pueden ejecutar concurrentemente No se pueden ejecutar concurrentemente Grafo de precedencia Grafo orientado y sin ciclos donde: a)los nodos corresponden a instrucciones b) un arco desde un nodo Si a un nodo Sj significa que la instrucción Sj sólo puede ejecutarse después que se realice la Si. S1: a = x + y; S1 S2 S2: b = z + 1; S3: c = a - b; S3 S4: w = c + 1; S4 Condiciones de concurrencia Dadas las siguientes definiciones: •Conjunto de lectura para Si: R(Si) = {a1, a2, …, an} Donde a1, a2, …, an son variables cuyos valores se referencian en la instrucción Si •Conjunto de escritura para Si: W(Si) = {b1, b2, …, bm} Donde b1, b2, …, bm son variables que cambian de valor al ejecutar la instrucción Si Para que dos instrucciones sucesivas Sa y Sb puedan ser ejecutadas concurrentemente: R(Sa) Ո W(Sb) = {} R(Sb) Ո W(Sa) = {} W(Sa) Ո W(Sb) = {} Ejemplo S1: a = x + y; S2: b = z + 1; S3: c = a - b; S4: w = c + 1; R(S1) Ո W(S2)={ } R(S2) Ո W(S1)={ } W(S1) Ո W(S2) = { } R(S3) Ո W(S2)={b} R(S4) Ո W(S3)={c} No se cumplen las condiciones de concurrencia Instrucciones para especificar en un programa la ejecución concurrente de instrucciones • Una construcción estructurada para especificar concurrencia es la PARBEGIN / PAREND • Su forma es: PARBEGIN S1; … Sn; PAREND; • Todas la instrucciones encerradas entre PARBEGIN y PAREND se ejecutarán concurrentemente EJEMPLO S1 S2 S3 S4 S5 S1; parbegin S2; S3; parend; S4; S5; La ejecución, por defecto, es secuencial. S1 S1 parbegin { S3 S2 parbegin S2; S3; parend S5; S4 } { S5 S6 S8 S4; parbegin S6; S7; parend S7 } parend S8; Hay 2 hilos de ejecución. Hilo: subproceso o proceso ligero y puede ejecutarse en paralelo con otro. Estudio independiente • Estudio de otros aspectos del tema 1: generaciones de los sistemas operativos, servicios del sistema operativo, estructura de los sistemas operativos, jerarquía entre procesos, problema del productorconsumidor. • Páginas indicadas del libro. • Preparación de ejercicios de las 2 actividades siguientes.