
Tablica usporedbe
Osnova za usporedbu | linker | Utovarivač |
---|---|---|
Osnovni, temeljni | On generira izvršni modul izvornog programa. | Učitava izvršni modul u glavnu memoriju. |
Ulazni | Potreban je kao ulaz, objektni kod generiran od strane asemblera. | Potreban je izvršni modul koji generira linker. |
Funkcija | Kombinira sve objektne module izvornog koda za generiranje izvršnog modula. | Dodjeljuje adrese izvršnom modulu u glavnoj memoriji za izvršenje. |
Vrsta / pristup | Urednik povezivanja, dinamički linker. | Apsolutno opterećenje, premještanje i dinamičko učitavanje. |
Definicija poveznika
Skupljač generira objektni kod izvornog programa i predaje ga linkeru. Linker uzima ovaj objektni kod i generira izvršni kod za program i predaje ga Loaderu.
Jezik na visokoj razini, programi imaju neke ugrađene knjižnice i datoteke zaglavlja . Izvorni program može sadržavati neke knjižnične funkcije čija se definicija pohranjuje u ugrađenim knjižnicama. Linker povezuje ove funkcije s ugrađenim knjižnicama. U slučaju da ugrađene knjižnice nisu pronađene, informira ih prevodilac, a kompajler generira pogrešku.
Ponekad se veliki programi dijele na podprograme koji se nazivaju moduli . Sada kada se ovi moduli kompiliraju i sastavljaju, generiraju se moduli objekta izvornog programa. Linker je odgovoran za kombiniranje / povezivanje svih modula objekta za generiranje jedne izvršne datoteke izvornog programa. Imamo dvije vrste poveznica.
Urednik povezivanja : To je linker koji generira izvršni modul koji se može preseliti.
Dinamički poveznik: Odgađa / odgađa povezivanje nekih vanjskih modula dok se ne generira modul opterećenja / izvršni modul. Ovdje se povezivanje obavlja tijekom vremena učitavanja ili vremena izvođenja.
Definicija utovarivača
Budući da se program koji treba izvršiti trenutno mora nalaziti u glavnoj memoriji računala. Odgovornost je punjača, programa u operativnom sustavu, da učita izvršnu datoteku / modul programa, generiranog od strane povezivača, u glavnu memoriju za izvršenje. Dodjeljuje memorijski prostor izvršnom modulu u glavnoj memoriji.
Postoje tri vrste pristupa učitavanja:
- Apsolutno učitavanje
- Preusmjeravanje opterećenja
- Dinamičko vrijeme učitavanja
Apsolutno učitavanje : Ovaj pristup učitava izvršnu datoteku programa u isto glavno memorijsko mjesto svaki put. Ali ima neke nedostatke kao programer mora biti svjestan strategije dodjele za učitavanje modula u glavnu memoriju. U slučaju da se program modificira s nekim umetanjem i brisanjem u program, tada se sve adrese programa moraju izmijeniti.
Preusmjeravanje opterećenja: U ovom pristupu, prevodilac ili asembler ne proizvodi stvarnu glavnu memorijsku adresu . Ona proizvodi relativne adrese.
Dinamičko učitavanje vremena izvršavanja: U ovom pristupu, apsolutna adresa za program generira se kada se izvršava instrukcija izvršnog modula. Vrlo je fleksibilan, modul koji se može učitati / izvršni modul može se učitati u bilo koju regiju glavne memorije . Izvršni program može biti prekinut između i može se zamijeniti na disk i natrag u glavnu memoriju ovaj put na drugu glavnu memorijsku adresu.
Ključne razlike između povezivača i punjača
- Ključna razlika između povezivača i učitavača je da linker generira izvršnu datoteku programa dok punjač učitava izvršnu datoteku dobivenu od povezivača u glavnu memoriju za izvršenje .
- Linker unosi objektni modul programa generiranog od strane asemblera. Međutim, punjač unosi izvršni modul koji generira linker.
- Linker kombinira sve objektne module programa za generiranje izvršnih modula i povezuje knjižničnu funkciju u objektnom modulu s ugrađenim knjižnicama programskog jezika visoke razine. S druge strane, punjač dodjeljuje prostor izvršnom modulu u glavnoj memoriji.
- Linker se može klasificirati kao urednik povezivanja, a dinamički linker, dok se utovarivač može klasificirati kao apsolutni punjač, prijenosni utovarivač i dinamički utovarivač za vrijeme izvođenja .
Zaključak:
Linker preuzima objektne module programa iz asemblera i povezuje ih zajedno kako bi generirao izvršni modul programa. Izvršni se modul zatim učitava u glavnu memoriju za izvršenje.