¿Qué es un final anormal?
Un final anormal es una finalización abrupta e inesperada de un programa o aplicación de computadora en funcionamiento. Su nombre se deriva originalmente del antiguo sistema operativo IBM 360, que observó terminaciones tales como errores ABEND. Un final anormal de un programa puede ocurrir por muchas razones diferentes, pero las razones más comunes involucran problemas con la memoria del sistema o problemas dentro del código del software. Cuando se produce este tipo de terminación, el programa se cierra solo y el sistema operativo interviene para mitigar el daño al vaciar la memoria del programa y actuar como si el programa se hubiera cerrado con éxito en situaciones típicas.
Los problemas dentro de la memoria del sistema en una computadora pueden desencadenar un final anormal de uno o más programas en el sistema. Cuando la computadora permite que se produzca una pérdida de memoria, cuando permite que un programa escriba en la memoria que no le ha sido asignada por el sistema operativo, puede sobrescribir accidentalmente porciones de memoria que pertenecían a otro programa. Una vez que el programa "invadido" intenta reclamar la información almacenada en las secciones invadidas de la memoria, ya no encontrará los datos correctos y anticipados. Esta discrepancia a menudo resulta en un bloqueo completo de la aplicación, ya que no puede ejecutarse utilizando la información sobrescrita guardada por el programa invasor.
Los problemas con el código de software a veces pueden desencadenar un final anormal de un programa. Si el software tiene errores o no contiene suficiente código de manejo de errores, las entradas incorrectas por parte del usuario final pueden resultar en una terminación anormal del software. Por ejemplo, un programa que le pide al usuario final que ingrese su número de teléfono generalmente se codificará de manera que cualquier respuesta no numérica que no contenga 10 dígitos sea inmediatamente "atrapada" como un error potencial y devuelta al usuario final como Un mal resultado. El software inmaduro o incompleto que no incluye este código de manejo de errores puede bloquearse al recibir una entrada incorrecta; el programa no podrá hacer frente si el usuario final decide ingresar "abcdefg" como su supuesto número de teléfono.
Una vez que ocurre un final anormal, el sistema operativo generalmente alerta al usuario de la computadora que se ha producido la finalización de un programa. Después de hacer esto, el trabajo del sistema operativo es recuperarse del bloqueo sin afectar negativamente a ninguno de los otros programas en el sistema. Para hacer esto, generalmente libera la memoria que asignó al programa, exactamente como lo haría si el programa hubiera finalizado con éxito. La información sobre la finalización anormal del programa a menudo se guarda en los registros de fallas del sistema operativo, lo que permite al usuario final revisar la información de fallas para buscar una posible causa raíz del conflicto.