Está en la página 1de 24

ESCUELA DE INGENIERA DE SISTEMAS Y COMPUTACIN

Administracin de procesos
Sesin 5

Juan Rafael Galn Santisteban USAT2013

CONTENIDO
BLOQUEOS MUTUOS CONDICIONES PARA EL BLOQUEO MUTUO

ESTRATEGIAS PARA ENFRENTAR LOS BLOQUEOS


CMO RECUPERARSE DE UN BLOQUEO PREVENIR UN BLOQUEO

Sistemas Operativos Administracin de procesos

5.2

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS
En el Diseo del Sistema Operativo de deben tener en cuenta que: Un sistema se compone de un conjunto finito de recursos (unidades de cinta, impresoras, CPU, etc..)

Procesos compiten por los recursos


Si el sistema tiene por dos CPU, se dice que tiene dos ejemplares

Todos los S.O deben otorgar a un proceso (en forma temporal) acceso exclusivo a ciertos recursos.

Sistemas Operativos Administracin de procesos

5.3

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS
Entorno multiprogramacin Varios procesos pueden competir por un nmero finito de recursos Proceso solicita un recurso No est disponible Espera Puede que no cambie de estado, debido a que los recursos solicitados estn en manos de otros procesos que tambin estn en espera. Interbloqueo Problema similar Inanicin, aplazamiento indefinido o bloqueo indefinido

Sistemas Operativos Administracin de procesos

5.4

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Ejemplo


Suponga que dos procesos digitalizado en un CD. quieren quemar un documento
Proceso A solicita autorizacin para usar el escner y se le concede.

Proceso B solicita primero el quemador de CD y tambin se le concede.


Ahora A, pide el quemador de CD, pero se le niega porque B no lo ha liberado B solicita el escner, pero sin liberar el quemador de CD. PROCESOS A Y B ESTN BLOQUEADOS

Sistemas Operativos Administracin de procesos

5.5

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Secuencia de uso de recursos


Solicitud Uso Liberacin Llamadas al Sistema

El recurso no est disponible cuando se solicita


El proceso solicitante debe esperar En algunos S.O el proceso se bloquea automticamente y despierta cuando dicho recurso est disponible La solicitud falla y el proceso debe esperar para pedir el recurso.

Sistemas Operativos Administracin de procesos

5.6

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Condiciones para el bloqueo mutuo


1. Exclusin Mutua Slo un proceso podr usar el recurso 2. Retener y esperar Los procesos que tienen recursos previamente otorgados pueden solicitar otros recursos. 3. No apropiacin

Un recurso no puede ser arrebatado a otro proceso

Sistemas Operativos Administracin de procesos

5.7

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Condiciones para el bloqueo mutuo


Espera circular Debe existir un conjunto {P0,P1..,Pn} de procesos en espera tal que P0 est esperando un recurso que fu adquirido por P1, P1 est esperando un recurso que fu adquirido por P2,.., Pn-1 est esperando un proceso que fu adquirido por Pn y Pn est esperando un recurso que fu adquirido por P0

Sistemas Operativos Administracin de procesos

5.8

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Modelacin de Bloqueos


Grafos de Asignacin de Recursos

Nodos Procesos y Recursos Arcos De un proceso a un recurso Solicitud De un recurso a un proceso Asignacin Ciclos Indica la existencia de un bloqueo

Sistemas Operativos Administracin de procesos

5.9

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Modelacin de Bloqueos


Ejemplo Procesos A, B, C Asignaciones Recursos R, S, T Solicitudes

R asignado a A
S asignado a B T asignado a C

A solicita a S
B solicita a T C solicita a R

Pregunta. Est bloqueado este sistema y, en tal caso, cules son los procesos bloqueados?.

Sistemas Operativos Administracin de procesos

5.10

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Estrategias para enfrentar los Bloqueos


Ignorar todo el problema: Quiz si nos olvidamos de l, l se olvidar de nosotros (Algoritmo del Avestruz) Detectar y recuperarse del bloqueo: Dejar que se presenten bloqueos mutuos, detectarlos y tomar medidas. Prevenir el bloqueo: Anular una de las cuatro condiciones necesarias para que haya un bloqueo mutuo Evitar el bloqueo : Asignacin cuidadosa de recursos

Sistemas Operativos Administracin de procesos

5.11

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Algoritmo para detectar un Bloqueo


Algoritmo aplicable a cada nodo N de la grfica:
1. Se considera a N como nodo inicial. 2. Se inicializan: La estructura de datos Lcomo una lista vaca. Todos los arcos como no marcados. 3. Se aade el nodo activo al final de L y se verifica si el nodo aparece en L dos veces: Si aparece dos veces existe un ciclo y el algoritmo termina. 4. Desde el nodo dado se verifica si existen arcos que salgan de dicho nodo y no estn marcados: En caso afirmativo se va al paso 5. En caso negativo se va al paso 6.

Sistemas Operativos Administracin de procesos

5.12

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Algoritmo para detectar un Bloqueo


Continuacin Algoritmo 5. Se elige al azar un arco de salida no marcado y se le marca: Luego se sigue este arco hasta el nuevo nodo activo y se regresa al paso 3. 6. Se ha llegado a un punto donde no se puede continuar: Se regresa al nodo anterior, es decir al que estaba activo antes del actual. Se seala de nuevo como nodo activo. Se va al paso 3. Si este nodo era el nodo inicial, la grfica no contiene ciclos y el algoritmo termina.

Sistemas Operativos Administracin de procesos

5.13

Juan Rafael Galn Santisteban USAT2013

Ejemplo: Sistema con 7 (siete) procesos (A a G) y 6 (seis) recursos (R a W):


La posesin de los recursos es la siguiente: El proceso A posee a R y desea a S. El proceso B no posee recurso alguno y desea a T. El proceso C no posee recurso alguno y desea a S. El proceso D posee a U y desea a S y a T. El proceso E posee a T y desea a V. El proceso F posee a W y desea a S.

BLOQUEOS MUTUOS Algoritmo para detectar un Bloqueo

El proceso G posee a V y desea a U.


Pregunta : Est bloqueado este sistema y, en tal caso, cules son los procesos bloqueados?.

Sistemas Operativos Administracin de procesos

5.14

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Cmo recuperarse de un Bloqueo


Estrategias -- Apropiacin de Recursos Arrebatar de manera temporal un recurso a su actual poseedor y drselo a otro proceso.

Manualmente
La seleccin del proceso a suspender depende de qu procesos tienen recursos que pueden quitarse con facilidad

Sistemas Operativos Administracin de procesos

5.15

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Cmo recuperarse de un Bloqueo


Estrategias Eliminacin de recursos Escoger como vctima un proceso que no se encuentre en el ciclo, a fin de liberar recursos.

Eliminar sucesivamente los procesos bloqueados


Liberar todos los procesos y recursos

Sistemas Operativos Administracin de procesos

5.16

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Prevenir el Bloqueo


Disear un sistema donde quede excluida la posibilidad de bloqueo
Anular una de las cuatro condiciones necesarias para que haya un bloqueo mutuo Exclusin Mutua Jams asignar un recurso en forma exclusiva a un solo proceso. Inconveniente El S.O debe soportar la exclusin mutua. Ejemplo: Escribir en un archivo.

Sistemas Operativos Administracin de procesos

5.17

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Prevenir el Bloqueo


Retener y esperar
Hacer que los procesos soliciten todos sus recursos antes de comenzar a ejecutarse Inconveniente Muchos procesos no saben, antes de iniciar su ejecucin, cuntos recursos van a necesitar. No har uso ptimo de los recursos

Exigir a un proceso que solicita un recurso que primero libere en forma temporal todos los que tiene.

Sistemas Operativos Administracin de procesos

5.18

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Prevenir el Bloqueo


No apropiacin
Si a un proceso se le niega el uso de un recurso liberar todos los recursos

Espera circular
Todo proceso tiene derecho a utilizar un recurso en todo momento. Si necesita un segundo recurso, deber liberar el primero

Sistemas Operativos Administracin de procesos

5.19

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Prevenir el Bloqueo


Espera circular
Asignar prioridades a los recursos Ejemplo. 1. Impresora 2. Escner 3. Graficador 4. Unidad de cinta 5. Unidad de CD Imposible llegar a un ordenamiento que satisfaga a todos

Sistemas Operativos Administracin de procesos

5.20

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Tcnicas para Evitar Bloqueos


Bloqueo Mutuo Cuando un proceso pide recursos, en algn momento pedir mas.

El sistema debe tener la capacidad de distinguir si se puede otorgar sin peligro un recurso o no, y solo efectuar la asignacin si no hay peligro.

Sistemas Operativos Administracin de procesos

5.21

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Tcnicas para Evitar Bloqueos


Obligar a cada proceso a definir el nmero mximo de recursos que podra necesitar Revisar dinmicamente el estado de asignacin de recursos Nmero de recursos disponibles y asignados Demandas mximas de los procesos

Sistemas Operativos Administracin de procesos

5.22

Juan Rafael Galn Santisteban USAT2013

BLOQUEOS MUTUOS Tcnicas para Evitar Bloqueos


Estados Seguros e inseguros El sistema puede asignar recursos a cada proceso Secuencia segura Bloqueo mutuo Estado inseguro Algoritmo del Banquero Dijkstra Cuando un proceso nuevo entra en el sistema, debe declarar el nmero mximo de recursos que podra necesitar

Sistemas Operativos Administracin de procesos

5.23

Juan Rafael Galn Santisteban USAT2013

Preguntas???

GRACIAS
Sistemas Operativos Administracin de procesos 5.24 Juan Rafael Galn Santisteban USAT2013

También podría gustarte