Razlika između povezivača i utovarivača

Autor: Laura McKinney
Datum Stvaranja: 3 Travanj 2021
Datum Ažuriranja: 7 Svibanj 2024
Anonim
Why im Inserting Top Loaders in My Baseball Cards Now
Video: Why im Inserting Top Loaders in My Baseball Cards Now

Sadržaj


Linker i Loader su uslužni programi koji igraju glavnu ulogu u izvođenju programa. Izvorni kod programa prije izvršenja prolazi kroz kompajler, alata za sklapanje, povezivač, utovarivač u odgovarajućem redoslijedu. S jedne strane, gdje je linker unosi objektne kodove generirane od strane alata za spajanje i kombiniraju ih za generiranje izvršnog modula. S druge strane utovarivač učitava ovaj izvršni modul u glavnu memoriju za izvršavanje. Razgovarajmo o razlici između Linker-a i utovarivača pomoću usporednog grafikona.

  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedbulinkerUtovarivač
Osnovni, temeljniTo generira izvršni modul izvornog programa.Učitava izvršni modul u glavnu memoriju.
UlazniKao ulaz uzima, objektni kôd generiran od strane alata za sastavljanje.Potreban je izvršni modul generiran veznikom.
FunkcijaKombinira sve objektne module izvornog koda radi generiranja izvršnog modula.On raspoređuje adrese izvršnom modulu u glavnoj memoriji za izvršenje.
Vrsta / pristupUređivač veza, dinamički veznik.Apsolutno učitavanje, izmjenjivo učitavanje i dinamičko punjenje.


Definicija Linker-a

Assembler generira objektni kod izvornog programa i predaje ga povezivaču. Povezivač uzima ovaj objektni kod i generira izvršni kod za program i predajte ga Utovarivaču.

Jezik na visokoj razini, programi ga imaju ugrađene knjižnice i datoteke zaglavlja, Izvorni program može sadržavati neke funkcije knjižnice čija se definicija pohranjuje u ugrađene knjižnice. Linker povezuje ove funkcije s ugrađenim knjižnicama. U slučaju da se ne pronađu ugrađene biblioteke, on obaviještava prevoditelja, a prevoditelj tada stvara grešku.

Ponekad se veliki programi dijele na podprograme koji se nazivaju moduli, Sada kada se ti moduli sastavljaju i sastavljaju, nastaju objektni moduli izvornog programa. Linker je odgovoran za kombiniranje / povezivanje svih objektnih modula za generiranje jedne izvršne datoteke izvornog programa. Imamo dvije vrste veznika.

Urednik veze: To je povezivač koji generira izmjenjivi izvršni modul.


Dinamički povezivač: Odlaže / odgađa povezivanje nekih vanjskih modula dok se ne generira opterećenje / izvršni modul. Ovdje se povezivanje vrši za vrijeme učitavanja ili vremena rada.

Definicija utovarivača

Kako se program koji se trenutno mora izvršiti mora nalaziti u glavnoj memoriji računala. To je odgovornost utovarivač, program u operacijskom sustavu za učitavanje izvršne datoteke / modula programa, generiranog od veznika, u glavnu memoriju za izvršenje. Ona raspoređuje memorijski prostor izvršnom modulu u glavnoj memoriji.

Postoje tri vrste utovara:

  • Apsolutno opterećenje
  • Umetanje koje se može pomaknuti
  • Dinamično učitavanje vremena izvođenja

Apsolutno opterećenje: Ovaj pristup učitava izvršnu datoteku programa u isto mjesto glavne memorije svaki put. Ali ima ih nekih nedostaci poput programera, mora biti svjestan strategije dodjeljivanja učitavanja modula u glavnu memoriju. U slučaju da program treba izmijeniti koji uključuje neko umetanje i brisanje u programu, tada sve adrese programa moraju biti izmijenjene.

Umetanje na jedno mjesto: U ovom pristupu radi prevodilac ili sastavljač ne proizvodi stvarnu glavnu memorijsku adresu, Izrađuje relativne adrese.

Dinamičko učitavanje radnog vremena: U ovom je pristupu apsolutna adresa za program generirana kada se zapravo izvrši instrukcija izvršnog modula. Vrlo je fleksibilan, u njega se može učitati modul za učitavanje / izvršni modul bilo koja regija glavne memorije, Program izvršavanja može se prekinuti između i može se ovaj put zamijeniti na disku i vratiti se u glavnu memoriju na drugu glavnu memorijsku adresu.

  1. Ključna razlika između povezivača i utovarivača je ta što veznik generira izvršna datoteka programa dok, utovarivač učitava izvršnu datoteku dobivenu iz veznika u glavna memorija za izvršenje.
  2. Linker uzima ono objektni modul programa generiranog alata za sastavljanje. Međutim, utovarivač prihvaća izvršni modul generira veznik.
  3. Linker kombinira sav objektni modul programa za generiranje izvršni moduli također povezuje knjižnična funkcija u objektnom modulu do ugrađene knjižnice programskog jezika visoke razine. S druge strane, utovarivač raspoređuje prostor izvršnom dokumentu modul u glavnoj memoriji.
  4. Linker se može klasificirati kao urednik veze, i dinamički povezivač dok se utovarivač može klasificirati kao apsolutni utovarivač, premjestivi utovarivač i dinamički utovarivač.

Zaključak:

Linker uzima objektne module programa iz alata i povezuje ih kako bi stvorio izvršni modul programa. Izvršivi modul zatim se učitava ulagač u glavnu memoriju za izvršenje.