Forskjellen mellom Linker og Loader

Forfatter: Laura McKinney
Opprettelsesdato: 3 April 2021
Oppdater Dato: 6 Kan 2024
Anonim
The benefits of a bilingual brain - Mia Nacamulli
Video: The benefits of a bilingual brain - Mia Nacamulli

Innhold


Linker og Loader er verktøyene som spiller en viktig rolle i utførelsen av et program. Kildekoden til et program går gjennom kompilator, assembler, linker, laster i respektive rekkefølge før utførelse. På den ene siden hvor linker inntar objektkodene generert av samleren og kombinerer dem for å generere den kjørbare modulen. På den andre hender loader laster denne kjørbare modulen til hovedminnet for utførelse. La oss diskutere forskjellen mellom Linker og laster ved hjelp av et sammenligningskart.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligninglinkerloader
grunn~~POS=TRUNCDen genererer den kjørbare modulen til et kildeprogram.Den laster den kjørbare modulen til hovedminnet.
InputDen tar som inndata objektkoden generert av en samler.Det tar en kjørbar modul generert av en lenker.
FunksjonDen kombinerer alle objektmodulene i en kildekode for å generere en kjørbar modul.Den tildeler adressene til en kjørbar modul i hovedminnet for utførelse.
Type / ApproachLinkage Editor, Dynamic linker.Absolutt lasting, flyttbar lasting og dynamisk innkjøringstid.


Definisjon av Linker

Assembleren genererer objektkoden til et kildeprogram og overleverer den til linkeren. Linkeren tar denne objektkoden og genererer kjørbar kode for programmet, og overlever det til Loader.

Språket på høyt nivå, programmer har noen innebygde biblioteker og topptekstfiler. Kildeprogrammet kan inneholde noen bibliotekfunksjoner hvis definisjon er lagret i de innebygde bibliotekene. Linkeren kobler disse funksjonene til de innebygde bibliotekene. I tilfelle de innebygde bibliotekene ikke blir funnet, informerer det til kompilatoren, og kompilatoren genererer da feilen.

Noen ganger er de store programmene delt inn i underprogrammene som kalles moduler. Når disse modulene blir satt sammen og samlet, genereres objektmodulene til kildeprogrammet. Linkeren har ansvaret for å kombinere / koble alle objektmodulene for å generere en enkelt kjørbar fil i kildeprogrammet. Vi har to typer lenker.


Linkage Editor: Det er en linker som genererer den flyttbare, kjørbare modulen.

Dynamisk linker: Den forsvarer / utsetter koblingen til noen eksterne moduler til lastmodulen / kjørbare modulen genereres. Her utføres kobling i lastetid eller kjøretid.

Definisjon av Loader

Som programmet som må utføres for øyeblikket må ligge i datamaskinens hovedminne. Det er ansvaret for loader, et program i et operativsystem, for å laste den kjørbare filen / modulen til et program, generert av linkeren, til hovedminnet for utførelse. Den tildeler minneplassen til den kjørbare modulen i hovedminnet.

Det er tre typer lastemetoder:

  • Absolutt lasting
  • Flyttbar lasting
  • Dynamisk innkjøringstid

Absolutt lasting: Denne tilnærmingen laster den kjørbare filen til et program inn i en samme hovedminneplassering hver gang. Men det har noen ulemper som en programmerer må være klar over oppgavestrategien for å laste modulene til hovedminnet. I tilfelle programmet skal modifiseres med noen innsetting og sletting i programmet, må alle adressene til programmet endres.

Flyttbar lasting: I denne tilnærmingen gjør kompilatoren eller samleren det ikke produser faktisk hovedminneadresse. Det produserer de relative adressene.

Dynamisk innkjøringstid: I denne tilnærmingen blir den absolutte adressen for et program generert når en instruksjon fra en kjørbar modul faktisk kjøres. Den er veldig fleksibel, den lastbare modulen / kjørbare modulen kan lastes inn hvilken som helst region i hovedminnet. Utføringsprogrammet kan avbrytes i mellom og kan byttes ut til disken og tilbake til hovedminnet denne gangen på en annen hovedminneadresse.

  1. Den viktigste forskjellen mellom linker og laster er at linkeren genererer kjørbar fil av et program, mens lasteren laster den kjørbare filen hentet fra linkeren til hovedminne for utførelse.
  2. Linkeren introduserer objektmodul av et program generert av samleren. Lasteren inntar imidlertid kjørbar modul generert av linkeren.
  3. Linkeren kombinerer all objektmodul til et program som skal genereres kjørbare moduler den kobler også til bibliotekfunksjon i objektmodulen til innebygde biblioteker av programmeringsspråket på høyt nivå. På den annen side, laster tildeler plass til en kjørbar modul i hovedminnet.
  4. Linkeren kan klassifiseres som koblingsredaktør, og dynamisk linker mens lasteren kan klassifiseres som absolutt laster, flyttbar laster og dynamisk kjøretidslaster.

Konklusjon:

Linkeren tar objektmodulene til et program fra samleren og kobler dem sammen for å generere en kjørbar modul av et program. Den kjørbare modulen lastes deretter av lasteren inn i hovedminnet for utførelse.