BLOQUEO
Fecha: 24/02/2020
Pedro Rojas
INDICE
Bloqueo
Caracterización
Ejemplo
Estado seguro
Referencias
BLOQUEO
En un entorno de multiproogramación, varios procesos <Manuel, Diana, Chávez,
Micha> pueden competir por un número finito de recursos. Un proceso solicita
recursos y, si estos no están disponibles en ese momento, el proceso debe
esperar.
Es posible que ese proceso nunca cambie de ese estado < ¿cuál estructura
posee esa información? >, porque los recursos que ha solicitado estén ocupados
por otros procesos que a su vez están esperando otros recursos. Una situación
como esa se conoce como Interbloqueo.
Existe un ejemplo viejísimo sobre lo que se le menciona en el párrafo anterior:
"Dos trenes full equipados (Leiry y Roximar) se aproximan a la vez a un cruce,
ambos deben detenerse y ninguno arrancará hasta que el otro haya salido"
Caracterización de los interbloqueos.
Deben darse las siguientes condiciones para que ocurra bloqueo.
Exclusión mutua
Al menos un recurso debe estar en modo no compartido.
Retención y espera
Un proceso retiene al menos un recurso y espera por otros,
retenidos por otros procesos.
Sin desalojo
Los recursos no pueden ser desalojados, es liberado voluntariamente.
Espera circular
A partir del conjunto {P 0, P 1, P 2, P 3, P n }, entonces P 0 espera por P 1, P n
espera por P n+1.
¿Cómo evitar los bloqueos?
Asignar los recursos de una vez según la actividad a desarrollar.
Ejemplo:
Si un proceso necesita leer un archivo de un DVD, copiarlo en un archivo en
disco, luego hacer una operación con el mismo y después enviarlo a la
impresora, no tiene sentido asignarle todos los recursos de una vez, porque
inicialmente no usará la impresora.
La solución es:
En una primera fase se le asigna el DVD con el Archivo en Disco. Al
terminar libera los recursos y espera su próximo turno. Mientras hacía lo
anterior, otro proceso podría usar la impresora.
En una segunda fase, se le asigna el disco y la impresora para que
termine el trabajo.
Estado Seguro:
Un estado es seguro si el sistema puede asignar recursos a cada proceso hasta
su máximo en determinado orden, sin que esto produzca interbloqueo. Un
sistema está seguro si la secuencia de procesos {P0, P1, P2, P3, Pn } puede
generar el caso que al terminar un Pi provoca que el siguiente pi, de acuerdo al
orden de atención, puedan terminar también. En la guía siguiente vea el algoritmo
de asignación cuidadosa de recursos.
REFERENCIAS
Boscán Nestor. 1990. Notas de Sistemas Operativos. UNISYS
Tenenbaum, Andrew. 2003. Sistemas Operativos Modernos. Prentice Hall
Carretero, Jesús. García, Félix. Anasagasti, Pedro. Pérez, Fernando. 2007.
Sistemas Operativos, una visión aplicada.McGraw-Hill
Casillas, Arantza. Iglesias, Luis. 2007. Sistemas Operativos, ejercicios resueltos.
Prentice Hall
Stallings, William. 2007. Sistemas Operativos, aspectos internos y principios de
diseño. Prentice Hall
Dhamdhere, D. 2008. Sistemas Operativos, un enfoque basado en conceptos.
McGraw-Hill
Silberschatz. Galvin. Gagne. 2006. Fundamentos de Sistemas Operativos.
McGraw-Hill