Diferència entre enllaçador i carregador

Autora: Laura McKinney
Data De La Creació: 3 Abril 2021
Data D’Actualització: 8 Ser Possible 2024
Anonim
Diferència entre enllaçador i carregador - Tecnologia
Diferència entre enllaçador i carregador - Tecnologia

Content


Linker i Loader són els programes d’utilitat que tenen un paper important en l’execució d’un programa. El codi font d’un programa passa per compilador, muntador, enllaçador, carregador en l’ordre respectiu, abans de l’execució. D’una banda, on el linker agafa els codis d'objectes generats pel muntador i els combina per generar el mòdul executable. D’altra banda, el carregador carrega aquest mòdul executable a la memòria principal per a la seva execució. Analitzem la diferència entre Linker i el carregador amb l'ajut d'un gràfic de comparació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióLinkerCarregador
BàsicGenera el mòdul executable d’un programa font.Carrega el mòdul executable a la memòria principal.
EntradaEs pren com a entrada, el codi d'objecte generat per un muntador.Es necessita un mòdul executable generat per un enllaçador.
FuncióCombina tots els mòduls d'objectes d'un codi font per generar un mòdul executable.Assigna les adreces a un mòdul executable a la memòria principal per a la seva execució.
Tipus / enfocamentEditor d’enllaç, enllaç dinàmic.Càrrega absoluta, càrrega relacionable i càrrega de temps dinàmic dinàmic.


Definició de Linker

L’Assemblador genera el codi d’objecte d’un programa font i el lliura al linker. El linker agafa aquest codi d'objecte i el genera codi executable per al programa i envieu-lo al carregador.

Alguns dels programes tenen un llenguatge d'alt nivell biblioteques integrades i fitxers de capçalera. El programa font pot contenir algunes funcions de la biblioteca la definició de les quals es desa a les biblioteques integrades. El linker enllaça aquestes funcions amb les biblioteques integrades. En cas que no es trobin les biblioteques integrades, aquest informa al compilador i el compilador genera l'error.

De vegades, els grans programes es divideixen en els subprogrames que s’anomenen mòduls. Ara, quan es compilen i munten aquests mòduls, es generen els mòduls objecte del programa font. L’enllaçador té la responsabilitat de combinar / enllaçar tots els mòduls objecte per generar un únic fitxer executable del programa font. Tenim dos tipus d’enllaços.


Editor d'enllaç: És un enllaçador que genera el mòdul executable i fiable.

Enllaç dinàmic: Defereix / ajorna l'enllaç d'alguns mòduls externs fins que es generi el mòdul de càrrega / mòdul executable. Aquí, l’enllaç es fa durant el temps de càrrega o el temps d’execució.

Definició de Loader

Com que el programa que s’ha d’executar actualment ha de residir a la memòria principal de l’ordinador. És responsabilitat del carregador, un programa en un sistema operatiu, per carregar el fitxer / mòdul executable d'un programa, generat pel enllaçador, a la memòria principal per a l'execució. Assigna l'espai de memòria al mòdul executable de la memòria principal.

Hi ha tres tipus d’enfocaments de càrrega:

  • Càrrega absoluta
  • Càrrega relacionable
  • Càrrega dinàmica en temps d'execució

Càrrega absoluta: Aquest enfocament carrega el fitxer executable d’un programa en un mateixa ubicació principal de la memòria cada cop. Però en té algunes desavantatges com un programador, ha d’estar al corrent de l’estratègia d’assignació per carregar els mòduls a la memòria principal. En cas que s'hagi de modificar el programa, incloure una mica d'inserció i eliminació del programa, s'hauran de canviar totes les adreces del programa.

Càrrega relacionada: En aquest plantejament, ho fa el compilador o el muntador no produïu l’adreça de memòria principal real. Produeix les adreces relatives.

Càrrega dinàmica de temps d'execució: En aquest enfocament, es genera l'adreça absoluta d'un programa quan es realitza una instrucció d'un mòdul executable. És molt flexible, el mòdul carregable / el mòdul executable es pot carregar qualsevol regió de memòria principal. El programa d'execució es pot interrompre i es pot canviar al disc i tornar a la memòria principal aquesta vegada a una adreça de memòria principal diferent.

  1. La diferència clau entre l'enllaçador i el carregador és que l'enllaç genera executable mentre que, el carregador carrega el fitxer executable obtingut del linker a memòria principal per a l’execució.
  2. El linker agafa el mòdul d'objectes d’un programa generat pel muntador. Tanmateix, el carregador agafa mòdul executable generat pel linker.
  3. El linker combina tot el mòdul d'objectes d'un programa per generar mòduls executables també enllaça el funció de biblioteca al mòdul d'objectes a biblioteques integrades del llenguatge de programació d’alt nivell. En canvi, carregador destina espai a un executable mòdul en memòria principal.
  4. El linker es pot classificar com a editor d’enllaços, i linker dinàmic mentre que el carregador es pot classificar com a carregador absolut, carregador traslladable i carregador dinàmic de temps d'execució.

Conclusió:

El linker pren els mòduls objecte d'un programa del muntador i els enllaça per generar un mòdul executable d'un programa. El mòdul executable és carregat pel carregador a la memòria principal per a la seva execució.