Requisito previo: métodos de vinculación de direcciones
La vinculación de direcciones es la asociación de instrucciones y datos del programa a la ubicación de memoria física real. Hay varios tipos de enlaces de direcciones en el sistema operativo.
Hay 3 tipos de enlace de dirección:
- Enlace de dirección de tiempo de compilación
- Enlace de dirección de tiempo de carga
- Enlace de dirección de tiempo de ejecución
Aquí, comparamos el enlace de direcciones de tiempo de compilación y tiempo de ejecución de la siguiente manera.
Enlace de dirección de tiempo de compilación:
si el compilador es responsable de realizar el enlace de dirección, entonces se llama enlace de dirección de tiempo de compilación. Este tipo de vinculación de direcciones se realizará antes de cargar el programa en la memoria. El compilador necesario para interactuar con el administrador de memoria del sistema operativo para realizar el enlace de direcciones en tiempo de compilación.
Tiempo de ejecución o vinculación dinámica de direcciones:
la vinculación de direcciones se pospondrá incluso después de cargar el programa en la memoria. El programa seguirá cambiando las ubicaciones en la memoria hasta el momento de la ejecución del programa. Este tipo de vinculación de direcciones lo realizará el procesador en el momento de la ejecución del programa.
Diferencia entre el enlace de direcciones de tiempo de compilación y tiempo de ejecución:
Enlace de dirección de tiempo de compilación | Enlace de dirección de tiempo de ejecución |
---|---|
El compilador es responsable del enlace de direcciones de tiempo de compilación. | El enlace de la dirección del tiempo de ejecución lo realiza el procesador. |
Genera dirección lógica (dirección virtual). | Genera dirección absoluta dinámica. |
El enlace de direcciones de tiempo de compilación se realiza antes de cargar el programa en la memoria. | El enlace de direcciones de tiempo de ejecución se realiza en el momento de la ejecución del programa. |
Las instrucciones se traducen a dirección absoluta. | Ayuda en la ejecución. |
El código se compila aquí. | Desde la memoria, las instrucciones son ejecutadas por la CPU. |
Funciona con dirección lógica. | Funciona con dirección absoluta dinámica. |
Es un enlace de dirección estática. | Es un enlace de dirección dinámica. |
El compilador interactúa con el administrador de memoria del sistema operativo para realizarlo. | Lo hace el procesador en el momento de la ejecución del programa. |