Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Marco Teorico

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

MARCO TEORICO

Los bloqueos pueden ser resueltos por el sistema operativo aunque en ocasiones pueden
parar la mquina. Un conjunto de procesos se bloquea si cada proceso del conjunto
espera un evento que solo puede ser provocado por otro proceso del mismo conjunto.
Puesto que todos los procesos estn esperando ninguno de ellos realizar el evento que
pueda despertar a los dems y todos los procesos esperaran por siempre.
Cuando los recursos son compartidos entre usuarios:
Pueden producirse interbloqueos en los cuales los procesos de algunos usuarios nunca
podrn llegar a su trmino. Se debe considerar la prevencin, evitacin, deteccin y
recuperacin del interbloqueo y la postergacin indefinida, que se da cuando un proceso,
aunque no est interbloqueado, puede estar esperando por un evento que probablemente
nunca ocurrir.
En algunos casos:

El precio de liberar interbloqueos en un sistema es demasiado alto.

El precio de liberar interbloqueos en un sistema es demasiado alto. Permitir el


interbloqueo podra resultar catastrfico.

Los sistemas de cmputos tienen muchos recursos que solo pueden ser utilizados
por un proceso a la vez: Ej.: impresoras, unidades de cinta, espacio de la tabla de
nodos-i.

Los S. O. tienen la capacidad de otorgar temporalmente a un proceso el acceso


exclusivo a ciertos recursos.

Frecuentemente un proceso necesita el acceso exclusivo no solo a un recurso, sino a


varios.
Ej. de bloqueo:
Dos procesos desean imprimir grandes archivos en cinta.

El proceso a solicita la impresora, que se le concede.

El proceso b solicita la unidad de cinta, que se le concede.

El proceso a solicita la unidad de cinta, pero se deniega la solicitud hasta que b


la libera.

El proceso b solicita la impresora y se produce el bloqueo (deadlock).

En este caso ambos procesos se quedan en un ciclo infinito debido a que cada uno de los
procesos se queda esperando a que el dispositivo que necesita este libre. Cuando
ocurren este tipo de bloqueos la nica solucin es sacrificar uno de los dos procesos.
Los recursos pueden ser de dos tipos:

Apropiables.
Este tipo de recurso, es aquel que si no est siendo utilizado por un proceso, el sistema
operativo en caso de que otro proceso lo necesite se lo asigna a este proceso. Un
ejemplo de este recurso es la memoria.
No apropiables.
Este tipo de recurso, es aquel es si un proceso lo est necesitando, en este caso no se
libera a menos que el proceso lo libere. Un ejemplo de este es la impresora.
Un proceso que desea utilizar un recurso sigue una serie de pasos, los cuales son los
siguientes:
Solicitar el recurso.
Aqu el sistema operativo busca el recurso y checa si est listo, si es as el recurso es
asignado al proceso, pero si no est listo el proceso tendr que esperar.
Utilizar el recurso.
Aqu el sistema operativo checa si el recurso asignado est siendo ocupado si no
es as, el sistema operativo se lo quita y libera el recurso.
Liberar el recurso.
Aqu el sistema operativo no puede checar o liberar el recurso, lo que hace es avisar al
usuario para que no use tanto el recurso.
Para que se presente un bloqueo se deben realizar las siguientes condiciones.
Condicin de exclusin mutua.
Cada recurso esta signado a un nico proceso o est disponible.
Condicin de posesin y espera.
Los procesos que tienen en un momento dado recursos asignados con anterioridad
pueden solicitar nuevos recursos.
Condicin de no apropiacin.

Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El
proceso que los posee debe liberarlos en forma explcita.
Condicin de espera circular.
Debe existir una cadena circular de 2 o ms procesos, cada uno de los cuales espera un
recurso posedo por el siguiente elemento de la cadena.
Modelacin de Bloqueos
La modelacin de bloqueos se puede mostrar mediante grficas dirigidas:

Las grficas tienen dos tipos de nodos:

Procesos (aparecen como crculos).

Recursos (aparecen como cuadrados).

Un arco de un nodo de recurso a uno de proceso indica que el recurso fue


solicitado con anterioridad, fue otorgado y es posedo en ese momento por dicho
proceso.

Un arco de un proceso a un recurso indica que el proceso est bloqueado, en


espera de ese recurso.

Un ciclo en la grfica indica la existencia de un bloqueo relacionado con los


procesos y recursos en el ciclo

Un bloqueo se puede definir formalmente como sigue:

Un conjunto de procesos se bloquea si cada proceso del conjunto espera un evento que
solo puede ser provocado por otro proceso del conjunto:
Ya que todos los procesos estn esperando:

Ninguno realizar un evento que pueda despertar a los dems miembros del
conjunto.

Todos los procesos esperarn por siempre.


o

Generalmente el evento que espera cada proceso es la liberacin de cierto


recurso que posee por el momento otro miembro del conjunto:

Cada miembro del conjunto de procesos bloqueados espera un recurso posedo


por un proceso bloqueado.

Ninguno de los procesos bloqueados puede continuar su ejecucin,


ni liberar recursos, ni puede ser despertado.

Las condiciones necesarias para el bloqueo son:

Los procesos reclaman control exclusivo de los recursos que piden (condicin de
exclusin mutua).

Los procesos mantienen los recursos que ya les han sido asignados mientras
esperan por recursos adicionales (condicin de espera por).

Los recursos no pueden ser extrados de los procesos que los tienen hasta su
completa utilizacin (condicin de no apropiatividad).

Existe una cadena circular de procesos en la que cada uno mantiene a uno o ms
recursos que son requeridos por el siguiente proceso de la cadena (condicin de
espera circular).

También podría gustarte