La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

GESTION DE PROCESOS.

Presentaciones similares


Presentación del tema: "GESTION DE PROCESOS."— Transcripción de la presentación:

1 GESTION DE PROCESOS

2 Que es un Proceso ? Definición Requisitos
Es la ejecución de un programa individual. Requisitos Intercalar la ejecución de procesos para maximizar la utilización del procesador. Priorización de tareas y evitar el interbloqueo. Vigilar la creación, comunicación y cancelación de procesos.

3 Estados de un Proceso Modelo con 2
Expedir Entrar NO Ejecución Ejecución Salir Interrumpir Cola Procesador Expedir Salir Entrar Interrumpir

4 Razones para la Creación o Terminación de un Proceso
Solicitud del padre Terminación del Padre Intervención del operador o del SO Mal uso de los Datos Instrucción Privilegiada Instrucción Invalida Fallo de E/S Tiempo máximo de espera rebasado Error aritmético Error de protección Violación de limites Generado por un Proceso Existente No hay memoria disponible Creado por S.O. Para dar Servicio Tiempo Limite excedido Conexión interactiva Terminación Normal Nuevo trabajo por lotes Terminación Creación

5 Estados de un Proceso Modelo con 5
Admitir Pasar Liberar Nuevo Listo Ejecución Terminado Time out Ocurre Suceso Espera de Suceso Bloqueado

6 Modelos de colas para manejo de procesos bloqueados
Cola de listos Pasar a ejecución Procesador Liberar Entrar Ocurre Suceso Time out Esperar Suceso Cola de bloqueados Ocurre Suceso N Esperar Suceso N Cola de Sucesos N

7 Estados de un Proceso Modelo con 6
Admitir Pasar Liberar Nuevo Listo Ejecución Terminado Time out Activar Ocurre Suceso Espera de Suceso Suspender Bloqueado Suspendido

8 Estados de un Proceso Modelo con 7
Nuevo Admitir Pasar Liberar Listo Ejecución Admitir Terminado Activar Time out Suspender Listo Suspendido Ocurre Suceso Espera de Suceso Ocurre Suceso Bloqueado Suspendido Bloqueado Activar

9 Razones para la Suspensión de un Proceso
Proceso Suspendido Es el que no esta disponible para ejecución. Razones para la Suspensión de un Proceso Solicitud del proceso padre Por tiempo Solicitud del usuario Otra razón de SO Intercambio de memoria

10 Estructuras de Control del S.O.
Imagen del proceso P 1 Memoria Tablas de Memoria Dispositivos Tablas de E/S Archivos Procesos Tablas de Archivos P 2 Proceso 1 Proceso 2 Proceso 3 Proceso n

11 Imagen del Proceso y el BCP
Identificación del proceso Identificador del proceso Identificador del Proceso Padre Identificador del Usuario Información estado del procesador Registros visibles para el usuario Registros de control y de estado Punteros de pila Información de control del proceso Planificación y estado Estructuración de datos Comunicación entre procesos Privilegios de los procesos Gestión de memoria Propiedad de recursos y utilización Datos del Usuario Programa del Usuario Pila del Sistema Bloque de Control de Proceso

12 Control de Procesos Gestión de procesos Creación y terminación Planificación y expedición Cambio de Procesos Sincronización de procesos y comunicación Gestión de bloques de control Gestión de memoria Asignación de espacio de memoria Intercambio Gestión de pagina y segmentos Gestión de entrada y salida Gestión de buffer Asignación de canales de E/S y dispositivos Funciones de soporte Tratamiento de Interrupciones Contabilidad Supervisión Existen dos modos en que un procesador ejecuta las instrucciones. Modo de usuario Modo de control o privilegiado Funciones Básicas del Núcleo del SO

13 API del Sistema Operativo
El Sistema operativo ofrece una serie de servicios a los programas de usuario referentes a la gestión de procesos. Accesibles mediante llamadas al sistema Cada sistema operativo ofrece las que quiere. Crear (IdProceso, Atributos) Crear nuevo proceso con el identificador y los atributos que se pasan como parámetro S.O. obtiene nuevo identificador y PCB Asigna memoria para el nuevo proceso Rellena PCB con atributos proporcionados o predeterminados Enlaza proceso con las estructuras del S.O., insertando el PCB del proceso en la lista de listos.

14 API del Sistema Operativo
Eliminar (IdProceso) SO destruye proceso y lo elimina del sistema Reclama los recursos asignados al proceso Elimina el PCB de la lista en que está y queda libre Un proceso puede eliminarse a sí mismo y a otros Se invoca como parte de la terminación ordenada de un programa Dividir/Unir Método de creación y terminación de procesos. Dividir : Divide una secuencia de instrucciones en dos secuencias ejecutables concurrentemente Se crea nuevo proceso (hijo) al que se le asigna una copia del código ejecutable del padre Devuelve identidad del hijo al padre que lo puede usar para esperar fin del hijo antes de invocar unir. Unir : Reúne las secuencias de código divididas y el padre puede usarlo para sincronizarse con el hijo.

15 API del Sistema Operativo
Bloquear (IdProceso) Proceso IdProceso permanece en el sistema -> bloqueado indefinidamente y estado bloqueado Proceso puede suspenderse a sí mismo o a otros dependiendo de su nivel de privilegios. El SO responde poniendo el PCB del proceso en la lista de bloqueados y actualizando el estado Reanudar(IdProceso) Reanuda proceso bloqueado SO pone PCB en listos para ejecución y actualiza estado Retardar(IdProceso, tiempo) Proceso queda bloqueado el tiempo especificado Leer_Atributos(IdProceso, grupoatributos) Consulta a la que el SO responde proporcionando los valores actuales de los atributos del proceso designado. Modificar_Atributos(IdProceso, nuevoatributo) Ejemplo: modificar la prioridad del proceso

16 Gestión de Procesos Concurrencia
Requisitos a la solución del Problema de la Sección Critica. Exclusión Mutua Progreso Espera limitada Métodos implementados para afrontar el problema Soluciones por software Soluciones por hardware Semáforos Monitores Mensajes

17 Gestión de Procesos Concurrencia
Multiprogramación Multiproceso Proceso Distribuido Proceso Cooperativo

18 Gestión de Procesos Sincronización
Solución Por Software Algoritmo de Dekker Algoritmo de Peterson

19 Solución 1 de software Var Turno: 0 .. 1; Inconvenientes :
Proceso 0 -- While Turno != 0 do FIN <sección critica> Turno := 1; Proceso 1 -- While Turno != 1 do FIN <sección critica> Turno :=0; Inconvenientes : El tiempo lo determina el proceso mas lento Si se bloquea un proceso el otro también

20 Solución 2 de software Var Señal[0..1] of booleano; # inicializada en falso Proceso 0 -- While señal[1] do FIN; Señal[0] := verdadero <sección critica> Señal[0] := falso Proceso 1 -- While señal[0] do FIN; Señal[1] := verdadero <sección critica> Señal[1] := falso Inconvenientes: Porque un proceso cambia el estado después que el otro ha Comprobado pero antes de entrar a su sección crítica.

21 Gestión de Procesos Sincronización
Solución por Hardware Deshabilitar la ocurrencia de interrupciones ( Solo aplica a mono procesadores ). En Multiprocesadores se debe usar una instrucción indivisible de maquina TS donde establece en un ciclo de instrucción si la llave esta disponible y si lo esta la coloca como no disponible. Posee problemas de Inanición con muchos procesos por que la competencia por los pocos recursos es aleatoria. Espera Activa de los procesos.

22 Gestión de Procesos Sincronización
Program exclusión_mutua; Const n= .... (*# de procesos*) Var C:entero Procedure P(i:entero); begin repeat repeat FIN until TS ( C ); <sección crítica> C:=0 -- forever end Begin ( *Pma Ppal*) P(1); P(2); P(n) Solución por hardware Test and Set ( Comparar y Fijar) Function TS (var i:entero):booleano Begin if i = 0 then begin i:= 1; TS:=verdadero; end else TS:=falso; End.

23 Gestión de Procesos Sincronización
Semáforos Dos procesos pueden cooperar por medio de simples señales, deforma que pueda obligar a un proceso detenerse en una posición determinada hasta que reciba una señal específica. Es una variable entera no negativa ( s ) utilizada como bandera y que puede ser accesada por medio de dos operaciones : La operación wait decrementa el valor del s. Si el valor se hace negativo el proceso que ejecuta el wait se bloquea La operación signal incrementa el valor de s. Si el valor no es positivo, se desbloquea a un proceso bloqueado por wait. Problema espera activa

24 Solución por medio de Semáforos
Program exclusión_mutua; Const n= .... (*# de procesos*) Var s: semáforo ( :=1) Procedure P(i:entero); begin repeat wait(s); <sección crítica> signal(s) -- forever end Begin ( *Pma Ppal*) C:=0 P(1); P(2); P(n)

25 Solución a Exclusión Mutua por medio de Semáforos
Casos interesantes Lectores y escritores Modelo de acceso a una base de datos compartida por varios procesos: Propuesto por Courtois, 1971. Puede haber varios lectores a la vez. La escritura ha de hacerse exclusivamente (no puede haber otros lectores o escritores simultáneamente). Una posible solución: Primer lector: Wait sobre un semáforo. Siguientes lectores: incrementan un contador. Los lectores van acabando: decrementan el contador. El último, Signal al semáforo. Escritores: Wait sobre el semáforo al comenzar y Signal al terminar. Prioridad implícita de lectores sobre escritores...

26 Monitores Es un módulo de software que sirve para manejar procesos concurrentes y distintas condiciones de sincronización y exclusión mutua. Esta compuesto por : Conjunto de datos Conjunto de procedimientos Variables de Condición. E D A T O S 1 n 1 2 n S

27 Mensajes Es el mecanismo mediante el cual los procesos se sincronizan y se comunican. ( Exclusión mutua e intercambio de información) Primitivas Enviar ( Destino, mensaje ) Recibir ( Origen, mensaje ) Sincronización Bloqueante y No bloqueante Bloqueante-Bloqueante No Bloqueante-Bloqueante No Bloqueante-No Bloqueante Direccionamiento Directo Envío Recibir Explícita Implícita Indirecto ( Buzón ) Colas Primeros en entrar / primeros en salir


Descargar ppt "GESTION DE PROCESOS."

Presentaciones similares


Anuncios Google