Priporočena, 2024

Izbira Urednika

Razlika med povezovalnikom in nakladalcem

Linker in Loader sta koristna programa, ki igra pomembno vlogo pri izvajanju programa. Izvorna koda programa prehaja skozi prevajalnik, monter, povezovalec, nalagalnik v ustreznem vrstnem redu, pred izvedbo. Po eni strani, kjer povezovalec vnese predmetne kode, ki jih generira sestavljalec, in jih združi, da generira izvršljiv modul. Na drugi strani pa nalagalnik naloži ta izvršljivi modul v glavni pomnilnik za izvedbo. Razpravljamo o razliki med Linkerjem in Loaderjem s pomočjo primerjalne tabele.

Primerjalna tabela

Podlaga za primerjavoLinkerNakladalec
OsnovnoUstvari izvršljiv modul izvornega programa.Naloži izvršljiv modul v glavni pomnilnik.
VhodPotreben je kot vhodni predmet objektna koda, ki jo ustvari asembler.Potreben je izvršljiv modul, ki ga generira povezovalec.
FunkcijaZdružuje vse predmetne module izvorne kode za generiranje izvršljivega modula.Naslove naslovi dodeli izvršitvenemu modulu v glavnem pomnilniku za izvedbo.
Vrsta / pristopUrejevalnik povezav, dinamični povezovalec.Absolutna obremenitev, prestavljivo nalaganje in dinamično nalaganje.

Opredelitev povezovalca

Assembler generira objektno kodo izvornega programa in jo preda povezovalcu. Povezovalec vzame to predmetno kodo in generira izvršljivo kodo programa in jo preda Loaderju.

Jezik na visoki ravni, programi imajo vgrajene knjižnice in datoteke z glavo . Izvorni program lahko vsebuje nekatere knjižnične funkcije, katerih definicija je shranjena v vgrajenih knjižnicah. Povezovalec te funkcije poveže z vgrajenimi knjižnicami. V primeru, da vgrajenih knjižnic ni mogoče najti, jih obvešča prevajalniku in prevajalnik nato generira napako.

Včasih se veliki programi delijo na podprograme, ki se imenujejo moduli . Zdaj, ko so ti moduli prevedeni in sestavljeni, se generirajo predmetni moduli izvornega programa. Povezovalec je odgovoren za združevanje / povezovanje vseh objektnih modulov za generiranje posamezne izvršljive datoteke izvornega programa. Imamo dve vrsti povezovalcev.

Urejevalnik povezav : To je povezovalec, ki generira prenosljiv, izvršljiv modul.

Dinamični povezovalec : odloži / odloži povezavo nekaterih zunanjih modulov, dokler se ne ustvari modul za nalaganje / izvršljiv modul. Tu se povezovanje izvaja v času nalaganja ali v času izvajanja.

Opredelitev nakladalnika

Ker mora biti program, ki ga je treba izvesti, trenutno v glavnem pomnilniku računalnika. Naloga nalagalnika, programa v operacijskem sistemu, je, da naloži izvedljivo datoteko / modul programa, ki ga generira povezovalec, v glavni pomnilnik za izvedbo. Dodeli pomnilniški prostor izvršilnemu modulu v glavnem pomnilniku.

Obstajajo tri vrste nakladalnih pristopov:

  • Absolutna obremenitev
  • Premestljivo natovarjanje
  • Dinamično nalaganje v času izvajanja

Absolute loading : Ta pristop naloži izvršljivo datoteko programa v isto glavno pomnilniško mesto vsakič. Vendar ima nekaj slabosti, kot mora biti programer seznanjen s strategijo dodeljevanja za nalaganje modulov v glavni pomnilnik. V primeru, da je treba program spremeniti z vključitvijo in brisanjem v program, je treba spremeniti vse naslove programa.

Premestljivo nalaganje: Pri tem pristopu prevajalnik ali asembler ne ustvarja dejanskega glavnega pomnilnika . Proizvaja relativne naslove.

Dinamično nalaganje v času izvajanja : Pri tem pristopu se absolutni naslov za program ustvari, ko se dejansko izvede ukaz izvršljivega modula. Je zelo prilagodljiv, naložljiv modul / izvršljiv modul je mogoče naložiti v katerokoli področje glavnega pomnilnika . Izvajalni program se lahko prekine vmes in se ga lahko zamenja na disk in nazaj v glavni pomnilnik tokrat na drugem glavnem naslovu pomnilnika.

Ključne razlike med povezovalcem in nakladalcem

  1. Ključna razlika med povezovalcem in nalagalnikom je, da povezovalec generira izvedljivo datoteko programa, medtem ko nalagalnik naloži izvedljivo datoteko, ki jo dobi od povezovalca, v glavni pomnilnik za izvedbo .
  2. Povezovalec vnese objektni modul programa, ki ga generira sestavljalec. Vendar pa nalagalnik vnese izvršljiv modul, ki ga generira povezovalec.
  3. Povezovalec združuje vse predmetne module programa za ustvarjanje izvršljivih modulov, povezuje pa tudi funkcijo knjižnice v predmetnem modulu z vgrajenimi knjižnicami programskega jezika na visoki ravni. Na drugi strani nalagalnik dodeli prostor izvršilnemu modulu v glavnem pomnilniku.
  4. Povezovalec se lahko razvrsti kot urednik povezav, dinamični povezovalec pa se lahko razvrsti kot absolutni nakladalnik, prenosni nakladalnik in dinamični nalagalnik časa izvajanja .

Sklep:

Povezovalec prevzame predmetne module programa iz asemblerja in jih poveže skupaj, da generira izvršljiv modul programa. Izvedljivi modul se naloži z nalagalnikom v glavni pomnilnik za izvedbo.

Top