Sei sulla pagina 1di 16

Universidad Nacional de Ingeniera

Facultad de Ingeniera Industrial y de Sistemas

Curso: SISTEMAS OPERATIVOS (ST-324)


Tema: Interbloqueo de Procesos

Escuela Profesional de Ingeniera de Sistemas


rea Acadmica de Sistemas y Telemtica

Ciclo Acadmico 2014-I

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[1]

Interbloqueo de Procesos
Principios Generales
Interbloqueo.- Bloqueo permanente de un conjunto de procesos que,
o compiten por recursos del sistema o se comunican entre s.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[2]

Interbloqueo de Procesos
Procesos con Interbloqueo

Consideremos que dos proceso,


P y Q, tienen la siguiente forma
general:

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[3]

Interbloqueo de Procesos
Procesos sin Interbloqueo

Ahora consideremos que dos


proceso, P y Q, tienen la
siguiente forma general:

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[4]

Interbloqueo de Procesos
Recursos Reutilizables y Consumibles

Recurso Reutilizable.- Es aquel que solo lo puede utilizar de forma segura un


proceso en cada momento y que no se destruye despus de su uso.
Ejm: Procesadores, Canales de E/S, Memoria Principal y Secundaria, Dispositivos,
estructuras de datos como ficheros, bases de datos y semforos.

Recurso Consumible.- Es aquel que puede crearse (producirse) y destruirse


(consumirse) . Normalmente, no hay lmite en el nmero de recursos
consumibles de un determinado tipo.
Ejm: Las Interrupciones, Las Seales, Los Mensajes y la informacin en buffer de E/S.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[5]

Interbloqueo de Procesos
Condiciones para el Interbloqueo

1. Exclusin Mutua.- Solo un proceso puede utilizar un recurso en cada momento. Ningn
proceso puede acceder a una unidad de un recurso que ha sido asignado a otro
proceso.
2. Retencin y Espera.- Un proceso puede mantener los recursos asignados mientras
espera la asignacin de otros recursos.
3. Sin Expropiacin.- No se puede forzar la expropiacin de un recurso a un proceso que lo
posee.
4. Espera Circular.- Existe una lista cerrada de procesos, de tal manera que cada proceso
posee al menos un recurso necesitado por el siguiente proceso de la lista.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[6]

Interbloqueo de Procesos
Prevencin del Interbloqueo
La estrategia de prevencin consiste en disear un sistema que excluya la
posibilidad de Interbloqueo relacionadas a cada una de las 4 condiciones:
Exclusin Mutua: En general, esta condicin no puede eliminarse. Si el acceso a
un recurso requiere Exclusin Mutua, el SO debe proporcionarlo.
Retencin y Espera: Puede eliminarse estableciendo que un proceso debe
solicitar al mismo tiempo todos sus recursos requeridos, bloquendose hasta
que se le puedan conceder simultneamente todas las peticiones.
Sin Expropiacin: Esta estrategia solo es prctica cuando se aplica a recursos
cuyo estado se puede salvar y restaurar ms tarde, como es el caso de un
procesador.
Espera Circular: Definiendo un orden lineal entre los distintos tipos de recursos.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[7]

Interbloqueo de Procesos
Prediccin del Interbloqueo
Permite las tres condiciones necesarias para el Interbloqueo de procesos, pero se
toman decisiones razonables para asegurar que nunca se alcance el punto de
Interbloqueo. Las tcnicas son:
DENEGACIN DE INICIACIN DEL PROCESO: Solo puede iniciarse un proceso
si se pueden satisfacer las necesidades mximas de todos los procesos
actuales ms las del nuevo proceso. Esta estrategia no es ptima, ya que
asume el peor de los casos: todos los procesos solicitarn sus necesidades
mximas simultneamente.
DENEGACIN DE ASIGNACIN DE RECURSOS: Denominada tambin
Algoritmo del Banquero. Cuando un proceso solicite un conjunto de recursos,
se evala el estado del sistema bajo las condiciones solicitadas. Si el estado es
SEGURO, se concede la peticin. En caso contrario, se bloquea el proceso
hasta que sea seguro conceder la peticin.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[8]

Interbloqueo de Procesos
Prediccin del Interbloqueo DENEGACIN DE INICAICN DEL PROCESO
Considere un sistema con n procesos y m tipos diferentes de recursos.
Definimos los siguientes vectores y matrices:

(Necesidad)

Requisitos mximos de cada proceso con respecto a cada


recurso. El proceso lo debe declarar con antelacin.

(Asignacin)

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[9]

Interbloqueo de Procesos
Prediccin del Interbloqueo DENEGACIN DE INICAICN DEL PROCESO
Se cumplen las siguientes relaciones:

Todos los recursos estn disponibles o asignados

Ningn proceso puede necesitar ms de la


cantidad total de recursos existentes en el sistema
Ningn proceso tiene asignado ms recursos de
cualquier tipo que sus necesidades originales de
ese recurso.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[10]

Interbloqueo de Procesos
Prediccin del Interbloqueo DENEGACIN DE INICAICN DEL PROCESO
Se puede establecer una Poltica de Prediccin de Interbloqueo que rechace
iniciar un nuevo proceso si sus requisitos de recursos pusiesen conducir a un
Interbloqueo.

Se inicia un nuevo proceso Pn+1 solo si:

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[11]

Interbloqueo de Procesos
Deteccin del Interbloqueo
Un Algoritmo usual para la deteccin de Interbloqueo es el siguiente.
Definimos:

Se define una matriz S, tal que Sij representa la cantidad de recursos


de tipo j solicitados por el proceso i.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[12]

Interbloqueo de Procesos
Deteccin del Interbloqueo - Algoritmo
El Algoritmo acta marcando los procesos que no estn en un Interbloqueo.
Inicialmente todos los procesos estn sin marcar. A continuacin, se lleva a cabo
los siguientes pasos:
1. Se marca cada proceso que tenga una fila de la matriz de Asignacin
completamente a cero.
2. Se inicia un vector temporal T asignndole el vector Disponibles (Availables).
3. Se busca un ndice i tal que el proceso i no est marcado actualmente y la fila
i-sima de S sea menor o igual que T. Es decir, Sik <= Tk, para 1 <= k <= m. Si no
se encuentra ninguna fila, el algoritmo termina.
4. Si se encuentra una fila que lo cumpla, se marca el proceso i y se suma la fila
correspondiente de la matriz de asignacin a T. Es decir, se ejecuta: Tk=Tk+Aik,
para 1 <= k <= m. A continuacin, se vuelve al tercer paso.

Existe un Interbloqueo si y slo si hay procesos sin marcar al final del


Algoritmo. Cada proceso sin marcar est en un Interbloqueo.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[13]

Interbloqueo de Procesos
Recuperacin luego del Interbloqueo
1. Abortar todos los procesos en Interbloqueo
2. Retroceder cada proceso en Interbloqueo a algn punto de control
(checkpoint) previamente definido, y rearrancar todos los procesos.
3. Abortar sucesivamente los procesos en el Interbloqueo hasta que este
deje de existir.
4. Expropiar sucesivamente los recursos hasta que el Interbloqueo deje
de existir.

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[14]

Interbloqueo de Procesos
Estrategias Integradas para evitar el Interbloqueo
Usar estrategias diferentes en distintas situaciones. Sugiere la siguiente
tcnica:
Agrupar recursos en clases.
Utilizar estrategia de orden lineal (usada para prevenir espera circular)
Dentro de cada clase de recursos, usar el algoritmo ms apropiado para
la clase (prevencin, prediccin o deteccin).

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[15]

Universidad Nacional de Ingeniera

Facultad de Ingeniera Industrial y de Sistemas

Curso: SISTEMAS OPERATIVOS (ST-324)


Tema: Interbloqueo de Procesos

Escuela Profesional de Ingeniera de Sistemas


rea Acadmica de Sistemas y Telemtica

Ciclo Acadmico 2014-I

Sistemas Operativos | ST-324 V


- Mg. Carlos Calero -

[16]

Potrebbero piacerti anche