La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

GESTION DE PROCESOS. Que es un Proceso ? Definición –Es la ejecución de un programa individual. Requisitos –Intercalar la ejecución de procesos para maximizar.

Presentaciones similares


Presentación del tema: "GESTION DE PROCESOS. Que es un Proceso ? Definición –Es la ejecución de un programa individual. Requisitos –Intercalar la ejecución de procesos para maximizar."— Transcripción de la presentación:

1 GESTION DE PROCESOS

2 Que es un Proceso ? Definición –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 NO Ejecución EntrarSalir Interrumpir Procesador Entrar ExpedirSalir Interrumpir Cola

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 limitesGenerado por un Proceso Existente No hay memoria disponibleCreado por S.O. Para dar Servicio Tiempo Limite excedidoConexión interactiva Terminación NormalNuevo trabajo por lotes TerminaciónCreación

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

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

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

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

9 Proceso Suspendido 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 Es el que no esta disponible para ejecución.

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

11 Imagen del Proceso y el BCP Datos del Usuario Programa del Usuario Pila del Sistema Bloque de Control de Proceso 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

12 Control de Procesos Existen dos modos en que un procesador ejecuta las instrucciones. –Modo de usuario –Modo de control o privilegiado 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 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 Proceso 0 -- While Turno != 0 do FIN Turno := 1; -- Proceso 1 -- While Turno != 1 do FIN Turno :=0; -- Var Turno: 0.. 1; Inconvenientes : El tiempo lo determina el proceso mas lento Si se bloquea un proceso el otro también

20 Solución 2 de software Proceso 0 -- While señal[1] do FIN; Señal[0] := verdadero Señal[0] := falso -- Proceso 1 -- While señal[0] do FIN; Señal[1] := verdadero Señal[1] := falso -- Var Señal[0..1] of booleano; # inicializada en 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 Function TS (var i:entero):booleano Begin if i = 0 then begin i:= 1; TS:=verdadero; end elseTS:=falso; End. Program exclusión_mutua; Const n=.... (*# de procesos*) Var C:entero Procedure P(i:entero); begin repeat repeat FIN until TS ( C ); C:=0 -- forever end Begin ( *Pma Ppal*) C:=0 begin P(1); P(2); -- P(n) end Solución por hardware Test and Set ( Comparar y Fijar)

23 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 Gestión de Procesos Sincronización

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); signal(s) -- forever end Begin ( *Pma Ppal*) C:=0 begin P(1); P(2); -- P(n) end

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, –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. DATOSDATOS E 1 n 12n 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. Que es un Proceso ? Definición –Es la ejecución de un programa individual. Requisitos –Intercalar la ejecución de procesos para maximizar."

Presentaciones similares


Anuncios Google