Skillnaden mellan Linker och Loader

Författare: Laura McKinney
Skapelsedatum: 3 April 2021
Uppdatera Datum: 5 Maj 2024
Anonim
Filosofi: Arthur Schopenhauer
Video: Filosofi: Arthur Schopenhauer

Innehåll


Linker och Loader är verktygsprogrammen som spelar en viktig roll i genomförandet av ett program. Källkoden för ett program passerar genom kompilator, monterare, länkare, lastare i respektive ordning före körning. Å ena sidan, där linker intar objektkoderna som genereras av monteraren och kombinerar dem för att generera den körbara modulen. Å andra sidan, lastare laddar denna körbara modul till huvudminnet för exekvering. Låt oss diskutera skillnaden mellan Linker och lastare med hjälp av ett jämförelsediagram.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelselinkerLastare
GrundläggandeDet genererar den körbara modulen i ett källprogram.Den laddar den körbara modulen till huvudminnet.
InmatningDen tar som ingång objektkoden som genereras av en monterare.Det tar en körbar modul genererad av en länkare.
FungeraDen kombinerar alla objektmoduler i en källkod för att generera en körbar modul.Den fördelar adresserna till en körbar modul i huvudminnet för exekvering.
Typ / ApproachLinkage Editor, Dynamic linker.Absolut lastning, flyttbar lastning och dynamisk belastning av körtid.


Definition av Linker

Assembleren genererar objektkoden för ett källprogram och överlämnar det till länken. Länken tar denna objektkod och genererar körbar kod för programmet och överlämna det till Loader.

Språket på hög nivå, program har några inbyggda bibliotek och rubrikfiler. Källprogrammet kan innehålla vissa biblioteksfunktioner vars definition lagras i de inbyggda biblioteken. Länken länkar dessa funktioner till de inbyggda biblioteken. Om de inbyggda biblioteken inte hittas informerar det till kompilatorn och kompilatorn genererar sedan felet.

Ibland delas de stora programmen in i de underprogram som kallas moduler. När dessa moduler nu kompileras och monteras genereras objektmodulerna i källprogrammet. Länken har ansvaret för att kombinera / länka alla objektmoduler för att generera en enda körbar fil i källprogrammet. Vi har två typer av länkar.


Linkage Editor: Det är en länk som genererar den flyttbara, körbara modulen.

Dynamisk länkare: Det försvarar / skjuter upp länken för vissa externa moduler tills lastmodulen / den körbara modulen genereras. Här sker länkning under lastning eller körtid.

Definition av Loader

Eftersom programmet som måste köras för närvarande måste ligga i datorns huvudminne. Det är ansvaret för lastare, ett program i ett operativsystem, för att ladda den körbara filen / modulen i ett program, genererat av länken, till huvudminnet för exekvering. Den fördelar minnesutrymmet till den körbara modulen i huvudminnet.

Det finns tre typer av lastningsmetoder:

  • Absolut lastning
  • Flyttbar lastning
  • Dynamisk laddningstid

Absolut lastning: Denna metod laddar den körbara filen för ett program till en samma huvudminnesplats varje gång. Men det har några nackdelar som en programmerare måste vara medveten om tilldelningsstrategin för att ladda modulerna till huvudminnet. I det fall programmet ska modifieras med viss infogning och radering i programmet måste alla programmets adresser ändras.

Flyttbar lastning: I detta tillvägagångssätt gör kompilatorn eller monteraren det inte producera faktiska huvudminneadressen. Det producerar de relativa adresserna.

Dynamisk laddningstid: I det här tillvägagångssättet genereras den absoluta adressen för ett program när en instruktion för en körbar modul verkligen körs. Den är mycket flexibel, den laddningsbara modulen / körbara modulen kan laddas in valfri region i huvudminnet. Exekveringsprogrammet kan avbrytas mellan och kan bytas ut till disken och tillbaka till huvudminnet denna gång på en annan huvudminneadress.

  1. Den viktigaste skillnaden mellan länkare och lastare är att länken genererar exekverbar fil för ett program medan lastaren laddar den körbara filen som erhållits från länken till huvudminne för körning.
  2. Länken intar objektmodul av ett program genererat av monteraren. Lastaren intar emellertid körbar modul genereras av länken.
  3. Länken kombinerar alla objektmoduler i ett program som ska genereras körbara moduler det länkar också till biblioteksfunktion i objektmodulen till inbyggda bibliotek av det höga programmeringsspråket. Å andra sidan, lastare tilldelar utrymme till en körbar modul i huvudminnet.
  4. Länken kan klassificeras som länkredaktör, och dynamisk länk Loader kan klassificeras som absolut lastare, flyttbar lastare och dynamisk körtidslastare.

Slutsats:

Länkaren tar objektmodulerna i ett program från monteraren och länkar dem samman för att generera en körbar modul i ett program. Den körbara modulen laddas sedan av laddaren i huvudminnet för exekvering.