?Qué significa entorno de ejecución?
El entorno en tiempo de ejecución es el entorno en el que se ejecuta un programa o aplicación. Es la infraestructura de hardware y software que soporta la ejecución de una determinada base de código en tiempo real.
Dado que gran parte del resultado final viene determinado por el entorno de ejecución, los expertos suelen considerar que el entorno de ejecución es de vital importancia a la hora de averiguar cómo utilizar un programa informático.
En un sentido muy fundamental, los recursos tienen que asignarse correctamente para que un entorno de ejecución tenga éxito.
Hay que establecer las relaciones adecuadas para permitir el procesamiento de programas y multihilos, y el programa tiene que poder acceder correctamente a los recursos que necesita para ejecutarse.
Definición de entorno de tiempo de ejecución
Entornos de tiempo de ejecución y errores de tiempo de ejecución
Una de las mejores formas de entender el entorno de tiempo de ejecución es observar sus limitaciones en forma de los diversos errores de tiempo de ejecución que aparecen.
Cuando los nuevos programadores ejecutan sus ejecutables en diversos entornos de tiempo de ejecución, a menudo verán aparecer un cuadro de diálogo que identifica un error de tiempo de ejecución. Volverán atrás y depurarán, y así aprenderán más sobre cómo es el entorno de tiempo de ejecución y qué puede soportar.
Es útil hablar de ciertos tipos de errores en tiempo de ejecución. Algunos de ellos son independientes del entorno de ejecución: los errores lógicos o los errores fuera de los límites tienen más que ver con la forma en que está escrito el programa.
Por otra parte, un error en tiempo de ejecución relacionado con una instrucción no válida puede deberse a deficiencias en el entorno en tiempo de ejecución: tal vez el programa no tiene el acceso adecuado a una biblioteca o referencia u otro recurso que necesita, y el resultado es un ?fallo? en forma de error en tiempo de ejecución.
Entornos de tiempo de ejecución y el infierno de las DLL
Otro buen ejemplo de cómo funciona esto tiene que ver con ciertos tipos de dependencias clave muy comunes en las dos últimas décadas de la informática.
La expresión ?infierno DLL? surgió del uso de bibliotecas de enlaces de descarga o DLL, que eran recursos para las aplicaciones en tiempo de ejecución.
A medida que los programas se enlazaban a las DLL y compartían estas bibliotecas, se hizo habitual que una o más aplicaciones fallaran por falta de acceso. La red de interdependencia se conoció como ?infierno DLL? porque los programadores se encontraban con ella muy a menudo, y era una parte muy espinosa de la ejecución de los programas.
El infierno DLL fue también una excelente lección sobre dependencias, algo que ha informado a la informática desde entonces.
Entornos cambiantes
Recuerda, en un sentido muy básico, que el entorno de ejecución se compone de recursos como la CPU y el sistema operativo implicado. Teniendo esto en cuenta, el entorno de ejecución actual ha cambiado bastante.
En el mundo de la informática tradicional, un entorno de ejecución se basaba en una configuración de hardware específica. Ahora, con la virtualización, un entorno de ejecución puede ser una máquina virtual en lugar de una máquina física. Los recursos pueden asignarse relativamente sobre la marcha.
Esto marca una diferencia en cómo se construyen los entornos de ejecución, y el uso de la virtualización de contenedores hace que se hable de ?despliegue? en lugar de un RTE de metal desnudo que es bastante sencillo de evaluar, aunque más difícil de cambiar sobre la marcha.