Marco Teorico
Marco Teorico
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:
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.
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:
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.
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).