Diferencia entre enlazador y cargador

Índice
  1. Diferencia clave - Enlazador vs Cargador
  2. ¿Qué es Linker?
  3. ¿Qué es el cargador?
  4. ¿Cuál es la relación entre el enlazador y el cargador?
  5. ¿Cuál es la diferencia entre el enlazador y el cargador?
    1. Enlazador vs Cargador
  6. Resumen - Enlazador vs Cargador

Diferencia clave - 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 son comprensibles para los humanos pero no para 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 denomina código 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 Linker y Loader.. Linker es el software que vincula el código 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 Linker y Loader.

¿Qué es Linker?

Un programa de computadora es un conjunto de instrucciones dadas a una computadora para realizar una determinada tarea. Un programa de computadora se puede escribir usando un lenguaje de programación. La mayoría de los lenguajes de programación son programación de alto nivel. Son fácilmente comprensibles y legibles por el programador. Esos idiomas siguen una sintaxis similar al idioma inglés. Algunos ejemplos de lenguajes de alto nivel son Java, C y Python. Un programa escrito usando 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 lenguaje con el que fue desarrollado. Si el código fuente está escrito en C++, la extensión del archivo es .cpp. Si el código fuente está escrito en Python, la extensión es .py.

Te puede interesar   Diferencia entre iguales y hashCode en Java

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

Linker es el software que vincula el código 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 integradas se encuentran en los archivos de encabezado. De acuerdo con el ejemplo explicado anteriormente, el código de objeto que es Test.obj se agrega con los archivos de encabezado necesarios utilizando el Linker. Crea un nuevo archivo conocido llamado Test.exe. Es un archivo ejecutable. Por lo tanto, es ejecutable por la computadora.

¿Qué es el cargador?

Un programa que debe ejecutarse debe colocarse en la memoria. El enlazador vincula el código objeto y los archivos de encabezado y genera 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 una parte del sistema operativo que se encarga de cargar programas y bibliotecas.

Figura 01: Orden en que se carga el Código Fuente en la Memoria

La carga de 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 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 del programa cargado. Los sistemas informáticos especiales, como los sistemas integrados, generalmente no tienen cargadores. El código se ejecuta directamente por la ROM.

Te puede interesar   Diferencia entre int y long

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

  • La salida del Linker va al Loader.

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

Enlazador vs Cargador

Linker es el software que vincula el código 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 objeto. El cargador toma la salida del enlazador, que es el archivo ejecutable.
Funcionalidad
El enlazador vincula el código objeto y los archivos de encabezado y genera el archivo ejecutable. El cargador carga el archivo ejecutable obtenido del enlazador a la memoria principal.

Resumen - Enlazador vs Cargador

Linker y Loader son dos componentes de software relacionados con la ejecución del programa. Este artículo discutió la diferencia entre el Linker y el Loader. Linker es el software que vincula el código 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 Linker y Loader.

Referencia:

1.'Loader (informática)', Wikipedia, Fundación Wikimedia, 28 de febrero de 2018. Disponible aquí

Si quieres conocer otros artículos parecidos a Diferencia entre enlazador y cargador puedes visitar la categoría Programación.

Elis

Elisa Montero es licenciada en Ciencias Biología, tiene un máster en Microbiología Molecular y Aplicada y un doctorado en Microbiología Aplicada. Sus intereses de investigación incluyen los biofertilizantes, las interacciones planta-microbio, la microbiología molecular, los hongos del suelo y la ecología fúngica.

Entradas Relacionadas

Subir

Si continúas navegando por esta web, entendemos que aceptas las cookies que usamos para mejorar nuestros servicios. Más información