De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

La ejecución en la ingeniería informática y de software es el proceso mediante el cual una computadora o máquina virtual lee y actúa según las instrucciones de un programa informático . Cada instrucción de un programa es una descripción de una acción particular que debe llevarse a cabo para resolver un problema específico. A medida que la máquina ejecutora sigue las instrucciones, se producen efectos específicos de acuerdo con la semántica de esas instrucciones.

Los programas para una computadora pueden ejecutarse en un proceso por lotes sin interacción humana o un usuario puede escribir comandos en una sesión interactiva de un intérprete . En este caso, los "comandos" son simplemente instrucciones de programa, cuya ejecución está encadenada.

El término ejecutar se utiliza casi como sinónimo. Un significado relacionado tanto de "ejecutar" y "ejecutar" se refiere a la acción específica de un usuario que inicia (o el lanzamiento o la invocación ) un programa, como en "Por favor, ejecute la aplicación."

Contexto de ejecución [ editar ]

El contexto en el que tiene lugar la ejecución es crucial. Muy pocos programas se ejecutan en una máquina desnuda . Los programas suelen contener supuestos implícitos y explícitos sobre los recursos disponibles en el momento de la ejecución. La mayoría de los programas se ejecutan con el apoyo de un sistema operativo y bibliotecas de tiempo de ejecución específicas del idioma de origen que brindan servicios cruciales que no proporciona directamente la computadora. Este entorno de apoyo, por ejemplo, generalmente desacopla un programa de la manipulación directa de los periféricos de la computadora, proporcionando en su lugar servicios más generales y abstractos.

Proceso [ editar ]

Antes de la ejecución, primero se debe escribir un programa. Esto generalmente se hace en código fuente , que luego se compila en el momento de la compilación (y se vincula estáticamente en el momento del enlace ) a un ejecutable. Luego, este ejecutable es invocado, la mayoría de las veces por un sistema operativo, que carga el programa en la memoria ( tiempo de carga ), posiblemente realiza un enlace dinámico y luego comienza la ejecución moviendo el control al punto de entrada del programa; todos estos pasos dependen de la interfaz binaria de la aplicación del sistema operativo. En este punto comienza la ejecución y el programa entra en tiempo de ejecución . Luego, el programa se ejecuta hasta que finaliza, ya sea normalterminación o un accidente .

Intérprete [ editar ]

Un sistema que ejecuta un programa se denomina intérprete del programa. Hablando libremente, un intérprete realmente hace lo que el programa dice que haga. Esto contrasta con un traductor de idiomas que convierte un programa de un idioma a otro. Los traductores de idiomas más comunes son compiladores . Los traductores suelen convertir su fuente de un lenguaje legible por humanos de alto nivel a un lenguaje de nivel inferior (a veces tan bajo como el código de máquina nativo ) que es más simple y rápido para el procesador.para ejecutar directamente. La idea es que la proporción entre ejecuciones y traducciones de un programa sea grande; es decir, un programa solo necesita compilarse una vez y puede ejecutarse tantas veces como desee. Esto puede proporcionar un gran beneficio para la traducción en comparación con la interpretación directa del idioma de origen. Una compensación es que el tiempo de desarrollo aumenta debido a la compilación. En algunos casos, solo se deben volver a compilar los archivos modificados. Luego, el ejecutable debe volver a vincularse. Para algunos cambios, el ejecutable debe reconstruirse desde cero. A medida que las computadoras y los compiladores se vuelven más rápidos, este hecho se convierte en un obstáculo menor. Además, la velocidad del producto final suele ser más importante para el usuario que el tiempo de desarrollo.

Los traductores suelen producir un resultado abstracto que no está completamente listo para ejecutarse. Con frecuencia, el sistema operativo convertirá el código objeto del traductor en la forma ejecutable final justo antes de que comience la ejecución del programa.

Ver también [ editar ]

  • Ejecutable
  • Sistema de tiempo de ejecución
  • Fase del programa en tiempo de ejecución
  • Contador de programa