Algoritmo del avestruz

en informática, estrategia de no hacer caso a los problemas potenciales porque sean muy raros

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,[1]​ señala que dichos sistemas, en lugar de enfrentar el problema de los bloqueos mutuos (deadlock en inglés),[2]​ asumen que estos nunca ocurrirán.[3]

Origen del concepto editar

La denominación de este concepto es tomada de la economía conductual y refiere al supuesto comportamiento[4]​ 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 editar

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.

Referencias editar

  1. Tanenbaum, Andrew S. (2009). Sistemas operativos modernos (3ª edición). Pearson Prentice Hall. ISBN 978-607-442-046-3. 
  2. Silberschatz, Abraham (2006). Operating System Principles (en inglés) (7a edición). Wiley-India. p. 237. ISBN 9788126509621. Consultado el 29 de enero de 2012. 
  3. Stuart, Brian L. (2008). Principles of operating systems (en inglés) (1a edición). Cengage Learning. p. 446. Consultado el 28 de enero de 2012. 
  4. Kruszelnicki, Karl S. (2 de noviembre de 2006). «Ostrich head in sand». ABC Science (en inglés). Consultado el 3 de enero de 2015. 

Bibliografía editar