Nøkkelforskjell – Linker vs Loader
Et dataprogram brukes til å gi instruksjoner til datamaskinen. Den er skrevet med et spesifikt programmeringsspråk. Programmeringsspråk som C, Java er programmeringsspråk på høyt nivå, og de er forståelige av mennesker, men ikke av datamaskinen. Derfor konverteres et høynivåprogram til maskinspråk ved hjelp av en språkoversetter. Et program skrevet med et høyt nivå språk er en kildekode. Etter konverteringen kalles den oversatte koden objektkoden. Linkeren og lasteren er to programmer som brukes til programkjøring. Denne artikkelen diskuterer forskjellen mellom Linker og Loader. Linker er programvaren som kobler objektkoden med tilleggsfiler som header-filer og oppretter en kjørbar fil med.exe-utvidelsen. Lasteren er systemprogramvaren som laster den kjørbare filen generert av linkeren til hovedminnet. Det er hovedforskjellen mellom Linker og Loader.
Hva er Linker?
Et dataprogram er et sett med instruksjoner som gis til en datamaskin for å utføre en bestemt oppgave. Et dataprogram kan skrives ved hjelp av et programmeringsspråk. De fleste programmeringsspråk er programmering på høyt nivå. De er lett forståelige og lesbare av programmereren. Disse språkene følger en syntaks som ligner på det engelske språket. Noen eksempler på høynivåspråk er Java, C og Python. Et program skrevet ved hjelp av et programmeringsspråk på høyt nivå er kjent som kildekoden, kildefilen eller kildeprogrammet. Utvidelsen av kildekoden avhenger av språket den ble utviklet med. Hvis kildekoden er skrevet i C++, er filtypen.cpp. Hvis kildekoden er skrevet i Python, er utvidelsen.py.
Selv kildekoden er forståelig av programmereren; det er ikke forståelig av datamaskinen. Derfor bør kildekoden konverteres til maskinforståelig format ved hjelp av en språkoversetter. Det kan være en kompilator eller en tolk. Den oversatte koden er kjent som objektkoden. Objektkoden er på maskinspråk. Den består av nuller og en gang. Datamaskinen kan direkte forstå objektkoden. Den har filtypen.obj. Hvis det er en kildekode som Test.c, går den gjennom kompilatoren og konvertert kode blir Test.obj.
Linker er programvaren som kobler objektkoden med tilleggsfiler som header-filer og lager en kjørbar fil med.exe-utvidelsen. Programmet kan ha brukt innebygde funksjoner. Funksjonaliteten for de innebygde funksjonene er i overskriftsfilene. I følge eksemplet som er forklart ovenfor, objektkoden som er Test.obj legges til med nødvendige header-filer ved hjelp av Linker. Den oppretter en ny fil kjent k alt Test.exe. Det er en kjørbar fil. Derfor er den kjørbar av datamaskinen.
Hva er Loader?
Et program som skal kjøres må plasseres i minnet. Linkeren kobler objektkoden og overskriftsfilene og sender ut den kjørbare filen. Lasteren er systemprogramvaren som laster den kjørbare filen generert av linkeren til hovedminnet. Den tildeler minneplassen til den kjørbare modulen i hovedminnet. Derfor er en laster en del av operativsystemet som er ansvarlig for å laste programmer og biblioteker.
Figur 01: Rekkefølgen som kildekoden lastes inn i minnet
Å laste et program innebærer flere trinn. Det innebærer å lese innholdet i den kjørbare filen som inneholder programinstruksjonen i minnet og også å utføre de nødvendige forberedelsesoppgavene for å kjøre den kjørbare filen. Når lasting er fullført, starter operativsystemet programmet ved å sende kontrollen til den innlastede programkoden. Spesielle datasystemer som Embedded-systemer har generelt ikke lastere. Koden kjøres direkte av ROM-en.
Hva er forholdet mellom Linker og Loader?
Utgangen fra Linkeren går til Loader
Hva er forskjellen mellom Linker og Loader?
Linker vs Loader |
|
Linker er programvaren som kobler objektkoden med tilleggsfiler som header-filer og lager en kjørbar fil med.exe-utvidelsen. | Lasteren er systemprogramvaren som laster den kjørbare filen generert av linkeren til hovedminnet. |
Inndata | |
Linkeren tar utdataene fra språkoversetteren, som er objektkoden. | Lasteren tar utdataene fra linkeren, som er den kjørbare filen. |
Functionality | |
Linkeren kobler objektkoden og headerfilene og sender ut den kjørbare filen. | Lasteren laster den kjørbare filen hentet fra linkeren til hovedminnet. |
Sammendrag – Linker vs Loader
Linker og Loader er to programvarekomponenter relatert til programkjøring. Denne artikkelen diskuterte forskjellen mellom Linker og Loader. Linker er programvaren som kobler objektkoden med tilleggsfiler som header-filer og oppretter en kjørbar fil med.exe-utvidelsen. Lasteren er systemprogramvaren som laster den kjørbare filen generert av linkeren til hovedminnet. Det er forskjellen mellom Linker og Loader.