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 dirección de tiempo de compilación y tiempo de carga 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.
Enlace de dirección de tiempo de carga:
este tipo de enlace de dirección se realizará después de cargar el programa en la memoria. El administrador de memoria operativa realizará el enlace de la dirección de tiempo de carga.
Diferencia entre tiempo de compilación y enlace de dirección de tiempo de carga:
Enlace de dirección de tiempo de compilación | Enlace de dirección de tiempo de carga |
---|---|
El compilador es responsable del enlace de direcciones de tiempo de compilación. | El cargador es responsable del enlace de la dirección del tiempo de carga. |
Genera dirección lógica (dirección virtual). | Genera dirección física. |
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 carga se realiza después de cargar el programa en la memoria. |
Las instrucciones se traducen a dirección absoluta. | La dirección absoluta se convierte en dirección reubicable. |
El código se compila aquí. | Las instrucciones se cargan en la memoria. |
Funciona con dirección lógica. | Funciona con dirección física. |
Es un enlace de dirección estática. | También es un enlace de dirección estática, pero en algunos sistemas operativos admite el enlace de dirección dinámica. |
El compilador interactúa con el administrador de memoria del sistema operativo para realizarlo. | Lo realiza el propio administrador de memoria del sistema operativo. |