En este artículo estudiaremos brevemente qué es Deadlock seguido de Deadlock Ignorance en el sistema operativo.
¿Qué es el punto muerto?
Si cada proceso en el conjunto de procesos está esperando un evento que solo otro proceso en el conjunto puede causar, en realidad se lo denomina Interbloqueo. En otras palabras, un evento que tiene que ocurrir por un proceso con la presencia de otro proceso en el conjunto de procesos, esta situación se conoce como Interbloqueo.
Entendamos la definición ilustrada arriba de interbloqueo con la ayuda de un ejemplo que se muestra en la siguiente sección.
Ejemplo de interbloqueo:
suponga que el proceso A tiene el recurso C y el proceso B tiene el recurso D. Ahora procese la solicitud A del recurso D y el proceso B solicite el recurso C, pero ninguno de los procesos obtendrá estos recursos ya que ambos recursos ya están ocupados con algunos recursos. otro proceso, por lo tanto, ninguno de ellos puede continuar. Esta situación se llama Interbloqueo.
Después de analizar el punto muerto con la ayuda de un ejemplo (que se muestra arriba), veamos las cuatro condiciones necesarias que pueden conducir al punto muerto, que se muestran en la sección ilustrada a continuación.
Condiciones necesarias para Deadlock:
Hay 4 condiciones que conducen a Deadlock . Son los siguientes:
- Condición de exclusión mutua
- Condición de mantener y esperar
- Sin condición de preferencia
- Condición de espera circular
Todas las cuatro condiciones anteriores deben estar presentes para que se produzca un interbloqueo. Si alguna de las condiciones ilustradas anteriormente no se cumple, entonces podemos concluir que no hay interbloqueo en el sistema.
Ignorancia de interbloqueo:
mete la cabeza en la arena y finge que no hay ningún problema en absoluto, este método para resolver cualquier problema se llama algoritmo de avestruz. Este algoritmo de avestruz es la técnica más utilizada para ignorar el interbloqueo y también se utiliza para todos los usos de usuarios finales únicos. Si hay un punto muerto en el sistema, el sistema operativo reiniciará el sistema para que funcione bien. El método para resolver cualquier problema varía según las personas.
Los científicos de todo el mundo creen que el método más eficaz para hacer frente a los interbloqueos es la prevención de interbloqueos. Pero los ingenieros que se ocupan del sistema creen que se debe prestar menos atención a la prevención de puntos muertos, ya que hay muy pocas posibilidades de que se produzca un punto muerto.
Se debe prestar más atención a fallas del sistema, errores del compilador, errores de programación, fallas de hardware que ocurren una vez a la semana en lugar de problemas de punto muerto que ocurren una vez en años. Por lo tanto, la mayoría de los ingenieros no pagan mucho para eliminar el punto muerto.
Muchos sistemas operativos sufren interbloqueos que ni siquiera se detectan y luego se rompen automáticamente. Solo como explicación, sabemos que el número de procesos está determinado por la tabla de procesos. Ahora, como sabemos, solo hay un número finito de ranuras en la tabla de procesos y, por lo tanto, cuando la tabla está llena, la bifurcación falla. Ahora, el enfoque razonable para la nueva bifurcación tiene que esperar y volver a intentarlo cuando la ranura en la tabla de procesos esté vacía.
Además, dicho problema se nota al abrir y cerrar el archivo. El tiempo máximo que se abre el archivo está restringido y se menciona en la tabla i-node y, por lo tanto, se observa un problema similar cuando se llena la tabla. Otro recurso limitado se menciona como espacio de intercambio. De hecho, toda la tabla que almacena datos en el sistema operativo tiene un límite de recursos finito. Puede suceder que una colección de n procesos pueda reclamar cada uno 1/n del total. ¿Deberíamos borrar todos estos y luego cada uno intentar reclamar otro?
Incluyendo UNIX y WINDOWS, todos los sistemas operativos primero ignoran el interbloqueo suponiendo que el usuario está restringido a un proceso. La ignorancia del interbloqueo aparece con frecuencia porque con este método el interbloqueo se elimina de forma gratuita en lugar de gastar mucho en otros métodos de prevención de interbloqueos que también imponen algunas restricciones inconvenientes en el proceso. Por lo tanto, tenemos que decidir entre la corrección y la conveniencia entre los diferentes métodos para resolver el punto muerto.
Publicación traducida automáticamente
Artículo escrito por shivalibhadaniya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA