Diferencia entre enlazador y cargador

Diferencia entre enlazador y cargador

Diferencia de claves: enlazador VS Cargador
 

Se utiliza un programa de computadora para dar instrucciones a la computadora. Está escrito utilizando un lenguaje de programación específico. Los lenguajes de programación como C, Java son lenguajes de programación de alto nivel y los humanos son comprensibles, pero no por la computadora. Por lo tanto, un programa de alto nivel se convierte en lenguaje de máquina utilizando un traductor de idiomas. Un programa escrito usando un lenguaje de alto nivel es un código fuente. Después de la conversión, el código traducido se llama código de objeto. El enlazador y el cargador son dos programas de software que se utilizan para la ejecución del programa.  Este artículo analiza la diferencia entre enlazador y cargador. Linker es el software que vincula el código de objeto con archivos adicionales como archivos de encabezado y crea un archivo ejecutable con .extensión exe. El cargador es el software del sistema que carga el archivo ejecutable generado por el enlazador a la memoria principal. Eso es el diferencia clave entre enlazador y cargador.

CONTENIDO

1. Descripción general y diferencia de claves
2. Que es enlazador
3. Que es cargador
4. Relación entre enlazador y cargador
5. Comparación de lado a lado - Enlacador vs cargador en forma tabular
6. Resumen

Que es enlazador?

Un programa de computadora es un conjunto de instrucciones dadas a una computadora para realizar una determinada tarea. Se puede escribir un programa de computadora utilizando un lenguaje de programación. La mayoría de los lenguajes de programación son programas de alto nivel. El programador son fácilmente comprensibles y legibles. Esos idiomas siguen una sintaxis similar al idioma inglés. Algunos ejemplos de idiomas de alto nivel son Java, C y Python. Un programa escrito utilizando un lenguaje de programación de alto nivel se conoce como código fuente, archivo fuente o programa fuente. La extensión del código fuente depende del idioma con el que se desarrolló. Si el código fuente está escrito en C ++, entonces la extensión del archivo es .CPP. Si el código fuente está escrito en Python, la extensión es .py.

Incluso el código fuente es comprensible por el programador; no es comprensible por la computadora. Por lo tanto, el código fuente debe convertirse en formato de máquina comprensible utilizando un traductor de idiomas. Puede ser un compilador o un intérprete. El código traducido se conoce como el código de objeto. El código de objeto está en lenguaje de máquina. Consiste en ceros y una vez. La computadora puede comprender directamente el código de objeto. Tiene la extensión .obj. Si hay un código fuente como prueba.c, pasa por el compilador y el código convertido se convierte en prueba.obj.

Linker es el software que vincula el código de objeto con archivos adicionales como archivos de encabezado y crea un archivo ejecutable con .extensión exe. El programa podría haber utilizado funciones integradas. Las funcionalidades para esas funciones incorporadas están en los archivos de encabezado. De acuerdo con el ejemplo explicado anteriormente, el código de objeto que se prueba.OBJ se agrega con los archivos de encabezado necesarios utilizando el enlazador. Crea un nuevo archivo conocido llamado Test.exe. Es un archivo ejecutable. Por lo tanto, la computadora es ejecutable.

Que es cargador?

Un programa que debe ejecutarse debe colocarse en la memoria. El enlazador vincula el código de objeto y los archivos de encabezado y emite el archivo ejecutable. El cargador es el software del sistema que carga el archivo ejecutable generado por el enlazador a la memoria principal. Asigna el espacio de memoria al módulo ejecutable en la memoria principal. Por lo tanto, un cargador es parte del sistema operativo que es responsable de cargar programas y bibliotecas.

Figura 01: orden en el que se carga el código fuente a la memoria

Cargar un programa implica varios pasos. Implica leer el contenido del archivo ejecutable que contiene la instrucción del programa en la memoria y también para llevar a cabo las tareas de preparación necesarias para ejecutar el archivo ejecutable. Una vez que se completa la carga, el sistema operativo inicia el programa pasando el control al código de programa cargado. Los sistemas informáticos especiales como los sistemas integrados generalmente no tienen cargadores. El código se ejecuta directamente por la ROM.

¿Cuál es la relación entre enlazador y cargador??

  • La salida del enlazador va al cargador.

¿Cuál es la diferencia entre enlazador y cargador??

Enlazador vs cargador

Linker es el software que vincula el código de objeto con archivos adicionales como archivos de encabezado y crea un archivo ejecutable con .extensión exe. El cargador es el software del sistema que carga el archivo ejecutable generado por el enlazador a la memoria principal.
 Aporte
El enlazador toma la salida del traductor de idiomas, que es el código de objeto. El cargador toma la salida del enlazador, que es el archivo ejecutable.
Funcionalidad
El enlazador vincula el código de objeto y los archivos del encabezado y emite el archivo ejecutable. El cargador carga el archivo ejecutable obtenido desde el enlazador a la memoria principal.

Resumen - Enlazador vs Cargador

Enlazador y cargador son dos componentes de software relacionados con la ejecución del programa. Este artículo discutió la diferencia entre el enlazador y el cargador. Linker es el software que vincula el código de objeto con archivos adicionales como archivos de encabezado y crea un archivo ejecutable con .extensión exe. El cargador es el software del sistema que carga el archivo ejecutable generado por el enlazador a la memoria principal. Esa es la diferencia entre enlazador y cargador.

Referencia:

1.'Loader (Computing)', Wikipedia, Wikimedia Foundation, 28 de febrero. 2018. Disponible aquí