Algoritmo del avestruz
# Algoritmo del avestruz

El algoritmo del avestruz es un concepto informático para denominar el procedimiento de algunos sistemas operativos. Esta teoría, acuñada por Andrew S. Tanenbaum, señala que dichos sistemas, en lugar de enfrentar el problema de los bloqueos mutuos (deadlock en inglés), asumen que estos nunca ocurrirán.

## Origen del concepto

La denominación de este concepto es tomada de la economía conductual y refiere al supuesto comportamiento de las avestruces. De acuerdo con el mito popular, estas aves esconden la cabeza bajo el suelo en presencia de un peligro. De igual manera, la idea de Tanenbaum describe la estrategia utilizada en el tratamiento de interbloqueos en la programación concurrente, en la cual se ignoran los problemas potenciales con base en el hecho de que pueden ser extremadamente raros; si, al estudiar la probabilidad de bloqueos en el sistema, se llega a la conclusión de que ésta es muy baja, posiblemente los programadores decidirán no invertir mayores recursos en implementar técnicas de detección y corrección de bloqueos.

## Respuestas a los bloqueos mutuos

Frente a esta estrategia surgen diversas formas de respuesta. En matemática, por lo general, se la considera inaceptable por lo que los interbloqueos se deben prevenir a toda costa; la ingeniería en sistemas, por otro lado, estudia la frecuencia con la que aparecerá el problema, la frecuencia en la que fallará el sistema por otras razones y la magnitud del interbloqueo. Si estos ocurren, por ejemplo, con un promedio de uno cada cinco años, pero los fallos del sistema debido al hardware, errores del compilador y errores en el sistema operativo ocurren uno por semana, no se buscará reducir considerablemente el rendimiento por la conveniencia de eliminarlos.

