Vous êtes sur la page 1sur 7

Universidad de Mariano Glvez

Facultad de Ingeniera
Ingeniera en Sistemas de Informacin
Centro de Chimaltenango
Curso: Sistemas Operativos
Catedrtico: Ing. Wanda Morales

Tarea: Algoritmos para prevencin y evitacin

Nombre: Saul Ramirez Argueta


Carne: 1990-03-2300
Seccin: A
Fecha: 22 Agosto 2015
Algoritmo del banquero
En sistemas operativos es una forma de evitar el interbloqueo, propuesta por
primera vez por Edsger Dijkstra. Es un acercamiento terico para evitar los
interbloqueos en la planificacin de recursos. Requiere conocer con anticipacin
los recursos que sern utilizados por todos los procesos. Esto ltimo generalmente
no puede ser satisfecho en la prctica.

Este algoritmo usualmente es explicado usando la analoga con el funcionamiento


de un banco. Los clientes representan a los procesos, que tienen un crdito lmite,
y el dinero representa a los recursos. El banquero es el sistema operativo.

El banco confa en que no tendr que permitir a todos sus clientes la utilizacin de
todo su crdito a la vez. El banco tambin asume que si un cliente maximiza su
crdito ser capaz de terminar sus negocios y devolver el dinero a la entidad,
permitiendo servir a otros clientes.

El algoritmo mantiene al sistema en un estado seguro. Un sistema se encuentra


en un estado seguro si existe un orden en que pueden concederse las peticiones
de recursos a todos los procesos, previniendo el interbloqueo. El algoritmo del
banquero funciona encontrando estados de este tipo.

Los procesos piden recursos, y son complacidos siempre y cuando el sistema se


mantenga en un estado seguro despus de la concesin. De lo contrario, el
proceso es suspendido hasta que otro proceso libere recursos suficientes.

Vindolo como Sistema Operativo, los clientes seran los procesos, el


dinero a prestar los recursos y el banquero el S.O.

Para este algoritmo es importante considerar los siguientes puntos:

Estado. Es la asignacin actual de los recursos a los procesos.

Matriz demanda (o mximo necesario). Son las exigencias mximas de


recursos para cada proceso.

Matriz asignacin. Son las asignaciones actuales de recursos para cada


proceso.

Vector disponible. Cantidad total de recursos sin asignar a los procesos.


Estado seguro. Es un estado en el que existe al menos un orden en el que
todos los procesos pueden ejecutar hasta el final sin generar interbloqueo.

Cuando un proceso realiza una solicitud de recursos, se supone que se concede,


se actualiza el estado y se toma una decisin. Si se llega a un estado seguro, se
concede la peticin. Si se llega a uno inseguro, se rechaza y el proceso es
bloqueado.
Desventajas:

Se necesita saber desde un principio el mximo de recursos que usar


cada proceso
Este proceso implica un retardo en cada asignacin de recursos, lo que
puede desagradar el sistema si se manejan muchos recursos y/o procesos
Se requiere una garanta de devolucin: c/proceso liberar los recursos
asignados.

Prevencin:
Se trata de eliminar la aparicin de alguna de las cuatro condiciones necesarias
para el interbloqueo.

1. Exclusin mutua. Depende de la naturaleza del recurso, as que esta


condicin no se puede eliminar.

2. Retencin y espera. Hay que garantizar que un proceso no pueda quedar


bloqueado si retiene algn recurso. Cmo conseguirlo?

el proceso tiene que pedir todos sus recursos de una vez, p.ej. antes
de empezar a ejecutarse.
Efecto negativo: muchos recursos retenidos pero no usados, un
proceso slo puede solicitar recursos cuando no tiene ninguno
asignado
Efecto negativo: puede ocurrir que tengamos que liberar un recurso
y volver a pedirlo para poder solicitar otros recursos
En ambos caso puede que un proceso nunca se ejecute (inanicin)

3. No expropiacin. Permitir que el S.O. desasigne recursos a un proceso


bloqueado.

Si un proceso se bloquea por un recurso, los recursos retenidos quedan a


disposicin de los procesos activos
El proceso bloqueado tiene ahora que esperar por todos los recursos
Penaliza a los procesos que necesitan muchos recursos
Es posible seguir este protocolo en recursos cuyo estado se puede guardar
fcilmente y despus restaurarse (registros de CPU, espacio de memoria).
Generalmente no puede aplicarse a recursos tales como impresoras y
unidades de cinta

4. Espera circular. Se puede evitar forzando un orden en la peticin


de los recursos.
Cada recurso tiene asignado un nmero de orden
Los recursos se deben pedir en orden ascendente
Aconsejable: el orden de peticin de los recursos se establezca
segn el orden de uso normal de los recursos de un sistema
Efectos negativo
Se limita la libertad de escritura de cdigo
Se puede inducir a una mala utilizacin de los recursos

Evitacin:
Se trata de conceder los recursos slo cuando no representen un riesgo futuro de
interbloqueo. Lo procesos han de declarar por anticipado la cantidad mxima de
recursos que van a utilizar a lo largo de su vida

1. Estado seguro: un estado en el cual no hay riesgo inminente de


interbloqueo. Un estado es seguro si en l podemos encontrar una
secuencia segura con todos los procesos del sistema {P1, P2, ...,PN} es
una secuencia segura si los recursos que Pi puede pedir en el peor caso se
pueden atender con lo que hay disponible ms los recursos posedos por
todos los procesos. Slo concedemos recursos si el estado resultante tras
la peticin es seguro

2. Negacin de la exclusividad: Slo se aplica a recursos compartidos, es


muy difcil poder aplicarlo a todos los recursos, dado que hay recursos que
son inherentemente de uso no compartido. Uso de spoolers: dar un API
concurrente (compartido) a los procesos para accesar recursos. La
estrategia bsica es que un servicio del sistema (daemon) proporciona un
API, y ese servicio es el nico que accesa el recurso compartido, exclusivo.
Ej: una impresa es un recurso exclusivo e inapropiativo, pero con el uso de
un spooler se convierte en un recurso compartido. Test & Get: un API
especial que permite revisar primero si el recurso est disponible, y pedirlo,
o retornar un cdigo de error que indica que no est disponible. Requiere
que los procesos hagan uso de este API.

3. Negacin de la contencin:
Estrategia 1: El proceso pide al sistema TODOS los recursos a necesitar
antes de iniciar su proceso (todo o nada). No siempre se sabe cuntos
recursos se utilizarn.

Estrategia 2: Tambin puede establecerse que un procesos puede pedir


recursos cuando no tiene recursos asignados No siempre se conoce la
cantidad de recursos que se necesitar, por lo que lo que el operador
debe configurar, por prueba y error, lograr que los procesos funcionen
adecuadamente.

Obliga a optimizar los programas por medio de divisin. El programador de


modularizar extremadamente bien los procesos para utilizar los recursos
por fases, de forma que para cada fase, se piden los recursos y se liberan,
antes de la siguiente fase La utilizacin de recursos resulta muy pobre
puede resultar una postergacin indefinida de un proceso que requiera
muchos recursos

4. Negacin de la inapropiatividad: Si un proceso que tiene recursos


asignados, pide un nuevo recurso que no est disponible, deber liberar los
recursos asignados y pedirlos posteriormente. Slo se aplica a recursos
apropiativos y recursos que se pueden almacenar su estado para
reasignarlo, o que puedan hacerles rollback, puede llevar a que la ejecucin
de un proceso se prolongue indefinidamente, debido a que nadie puede
garantizar que termine en un tiempo determinado.Pobre utilizacin del
tiempo de procesamiento

Negacin de la espera circular: Se impone un orden a los recursos Cada


proceso slo puede pedir los recursos en orden ascendente (o
descendente)

Tiempo\requerimientosP1 P2 P3
t1 R1 (ok)
t2 R2 (ok)
t3 R3 (ok)
t4 R2 (*)
t5 R3 (*)
t6 R1 (*)

P1 => P2 => P3 => P1


P1 P2 P3
Tiempo\requerimientos
t1 R1 (ok)
t2 R2 (ok)
t3 R1 (*)
t4 R2 (*)
t5 R3 (ok)
..
ti FINALIZA
ti DESPIERTA
Tj FINALIZA DESPIERTA
Tj+1 R3 (ok)
Tn FINALIZA
DEMOSTRACIN:
P0 => P1 => P2 => => Pn => P0

Para que haya una dependencia de Pi A Pj, significa que Pi tiene asignados
recursos <= k, y est pidiendo un Rk+1, el cual est asignado a Pj, lo que significa
que Pj tiene asignados recursos >= k+1, por lo tanto Pn => P0
En general las tcnicas de prevencin, aunque logran su objetivo de eliminar los
interbloqueos, provocan una pobre utilizacin de los recursos, incluyendo el
procesador. Tambin el algunos casos, provocan postergacin indefinida.

Vous aimerez peut-être aussi