Razlika između povezivača i utovarivača
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.
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | linker | Utovarivač |
---|---|---|
Osnovni, temeljni | To generira izvršni modul izvornog programa. | Učitava izvršni modul u glavnu memoriju. |
Ulazni | Kao ulaz uzima, objektni kôd generiran od strane alata za sastavljanje. | Potreban je izvršni modul generiran veznikom. |
Funkcija | Kombinira sve objektne module izvornog koda radi generiranja izvršnog modula. | On raspoređuje adrese izvršnom modulu u glavnoj memoriji za izvršenje. |
Vrsta / pristup | Uređ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.
- 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.
- Linker uzima ono objektni modul programa generiranog alata za sastavljanje. Međutim, utovarivač prihvaća izvršni modul generira veznik.
- 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.
- 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.