Forskellen mellem Linker og Loader

Nøgleforskel - Linker vs Loader
 

Et computerprogram bruges til at give instruktioner til computeren. Det er skrevet ved hjælp af et specifikt programmeringssprog. Programmeringssprog som C, Java er programmeringssprog på højt niveau, og de er forståelige af mennesker, men ikke af computeren. Derfor konverteres et højt niveau til maskinsprog ved hjælp af en sprogoversætter. Et program skrevet på et højt niveau sprog er en kildekode. Efter konverteringen kaldes den oversatte kode objektkoden. Linkeren og loader er to softwareprogrammer, der bruges til programudførelse. Denne artikel diskuterer forskellen mellem Linker og Loader. Linker er den software, der forbinder objektkoden med yderligere filer såsom headerfiler og opretter en eksekverbar fil med .exe-udvidelse. Loader er systemsoftwaren, der indlæser den eksekverbare fil, der er genereret af linkeren til hovedhukommelsen. Det er den vigtigste forskel mellem Linker og Loader.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er Linker
3. Hvad er Loader
4. Forholdet mellem Linker og Loader
5. Sammenligning side ved side - Linker vs Loader i tabelform
6. Resume

Hvad er Linker?

Et computerprogram er et sæt instruktioner, der gives til en computer til at udføre en bestemt opgave. Et computerprogram kan skrives ved hjælp af et programmeringssprog. De fleste programmeringssprog er programmering på højt niveau. De er let forståelige og læsbare af programmereren. Disse sprog følger en syntaks, der ligner det engelske sprog. Nogle eksempler på sprog på højt niveau er Java, C og Python. Et program skrevet med et programmeringssprog på højt niveau er kendt som kildekoden, kildefilen eller kildeprogrammet. Udvidelsen af ​​kildekoden afhænger af det sprog, den blev udviklet med. Hvis kildekoden er skrevet i C ++, er filtypenavnet .cpp. Hvis kildekoden er skrevet i Python, er udvidelsen .py.

Selv kildekoden er forståelig af programmereren; det er ikke forståeligt af computeren. Derfor skal kildekoden konverteres til maskinforståeligt format ved hjælp af en sprogoversætter. Det kan være en compiler eller en tolk. Den oversatte kode kaldes objektkoden. Objektkoden er på maskinsprog. Det består af nuller og en gang. Computeren kan direkte forstå objektkoden. Det har udvidelsen .obj. Hvis der er en kildekode som Test.c, går den gennem kompilatoren, og den konverterede kode bliver Test.obj.

Linker er den software, der forbinder objektkoden med yderligere filer såsom headerfiler og opretter en eksekverbar fil med .exe-udvidelse. Programmet har muligvis brugt indbyggede funktioner. Funktionaliteterne for disse indbyggede funktioner findes i overskriftsfilerne. I henhold til det ovenfor forklarede eksempel tilføjes den objektkode, der er Test.obj, med nødvendige headerfiler ved hjælp af Linker. Det opretter en ny fil, der kaldes Test.exe. Det er en eksekverbar fil. Derfor kan den køres af computeren.

Hvad er Loader?

Et program, der skal udføres, skal placeres i hukommelsen. Linkeren forbinder objektkoden og headerfilerne og udsender den eksekverbare fil. Loader er systemsoftwaren, der indlæser den eksekverbare fil, der er genereret af linkeren til hovedhukommelsen. Det tildeler hukommelsesområdet til det eksekverbare modul i hovedhukommelsen. Derfor er en loader en del af operativsystemet, der er ansvarlig for indlæsning af programmer og biblioteker.

Figur 01: Rækkefølge, hvor kildekoden indlæses i hukommelsen

Indlæsning af et program indebærer flere trin. Det involverer læsning af indholdet i den eksekverbare fil, der indeholder programinstruktionen, i hukommelsen og også at udføre de nødvendige forberedelsesopgaver til at køre den eksekverbare fil. Når indlæsningen er afsluttet, starter operativsystemet programmet ved at overføre kontrol til den indlæste programkode. Specielle computersystemer, som f.eks. Indlejrede systemer, har generelt ikke læsere. Koden udføres direkte af ROM'en.

Hvad er forholdet mellem Linker og Loader?

  • Outputet fra Linker går til Loader.

Hvad er forskellen mellem Linker og Loader?

Linker vs Loader

Linker er den software, der forbinder objektkoden med yderligere filer såsom headerfiler og opretter en eksekverbar fil med .exe-udvidelse. Loader er systemsoftwaren, der indlæser den eksekverbare fil, der er genereret af linkeren til hovedhukommelsen.
 Input
Linkeren tager output fra sprogoversætter, som er objektkoden. Loader tager output fra linkeren, som er den eksekverbare fil.
Funktionalitet
Linkeren forbinder objektkoden og headerfilerne og udsender den eksekverbare fil. Loader indlæser den eksekverbare fil, der er opnået fra linkeren til hovedhukommelsen.

Resumé - Linker vs Loader

Linker og Loader er to softwarekomponenter relateret til programudførelse. Denne artikel diskuterede forskellen mellem Linker og Loader. Linker er den software, der forbinder objektkoden med yderligere filer såsom headerfiler og opretter en eksekverbar fil med .exe-udvidelse. Loader er systemsoftwaren, der indlæser den eksekverbare fil, der er genereret af linkeren til hovedhukommelsen. Det er forskellen mellem Linker og Loader.

Reference:

1.'Loader (computing) ', Wikipedia, Wikimedia Foundation, 28. februar 2018. Findes her