Bloqueo Mutuo
Bloqueo mutuo
Hay unasituación que es totalmente indeseada en la ejecución de varios procesos: y es bloqueo mutuo. En general, esta situación ocurre cuando hay varios procesos que tienen recursos A y piden nuevos recursosB. Y otros que tienen B y piden A. En esta situación se genera una traba de la que no pueden salir por cuenta propia.
Para que ocurra un bloqueo mutuo los procesos involucrados deben ejecutar susección crítica de manera exclusiva (mutua exclusión), cada uno está ocupando algunos recursos y solicita más y no son capaces de expropiarse la ejecución entre sí (procesos no apropiativos). Por último,el sistema debe estar en un estado de espera circular (el proceso1 tiene recurso1 y pide r2. El p2 tiene r2 y pide r3. El pN tiene rN y pide el r1.
Hay algunos algoritmos para detectar o evitarbloqueos mutuos, como el algoritmo de grafo de asignación de recursos, también tenemos el algoritmo del banquero.
Si el sistema no evita los bloqueos mutuos se debe hacer algo si ocurren. Unaalternativa es destruir los procesos uno por uno y comprobar en cada paso si el sistema aún está bloqueado. Otra opción menos drástica es expropiar.
Aplazamiento indefinido:
Consiste en el hecho de que uno ovarios procesos nunca reciban el suficiente tiempo de ejecución para terminar su tarea. Por ejemplo, que un proceso ocupe un recurso y lo marque como 'ocupado' y que termine sin marcarlo como'desocupado'. Si algún otro proceso pide ese recurso, lo verá 'ocupado' y esperará indefinidamente a que se 'desocupe'.
El problema de los filosofos comensales:
Cinco filósofos se sientan alrededor de una...
Regístrate para leer el documento completo.