Dallimi kryesor – Lidhuesi vs Ngarkuesi
Një program kompjuterik përdoret për t'i dhënë udhëzime kompjuterit. Është shkruar duke përdorur një gjuhë programimi specifike. Gjuhët e programimit si C, Java janë gjuhë programimi të nivelit të lartë dhe ato janë të kuptueshme nga njerëzit, por jo nga kompjuteri. Prandaj, një program i nivelit të lartë konvertohet në gjuhën e makinës duke përdorur një përkthyes të gjuhës. Një program i shkruar duke përdorur një gjuhë të nivelit të lartë është një kod burim. Pas konvertimit, kodi i përkthyer quhet kodi i objektit. Lidhësi dhe ngarkuesi janë dy programe softuerike që përdoren për ekzekutimin e programit. Ky artikull diskuton ndryshimin midis Linker dhe Loader. Linker është softueri që lidh kodin e objektit me skedarë shtesë si skedarët e kokës dhe krijon një skedar të ekzekutueshëm me shtrirje.exe. Ngarkuesi është softueri i sistemit që ngarkon skedarin e ekzekutueshëm të krijuar nga lidhësi në memorien kryesore. Ky është ndryshimi kryesor midis Linker dhe Loader.
Çfarë është Linker?
Një program kompjuterik është një grup udhëzimesh që i jepen një kompjuteri për të kryer një detyrë të caktuar. Një program kompjuterik mund të shkruhet duke përdorur një gjuhë programimi. Shumica e gjuhëve të programimit janë programim të nivelit të lartë. Ato janë lehtësisht të kuptueshme dhe të lexueshme nga programuesi. Këto gjuhë ndjekin një sintaksë të ngjashme me gjuhën angleze. Disa shembuj të gjuhëve të nivelit të lartë janë Java, C dhe Python. Një program i shkruar duke përdorur një gjuhë programimi të nivelit të lartë njihet si kodi burimor, skedari burimor ose programi burimor. Zgjerimi i kodit burim varet nga gjuha me të cilën është zhvilluar. Nëse kodi burimor është shkruar në C++, atëherë zgjerimi i skedarit është.cpp. Nëse kodi burim është shkruar në Python, zgjerimi është.py.
Edhe kodi burim është i kuptueshëm nga programuesi; nuk është e kuptueshme nga kompjuteri. Prandaj, kodi burimor duhet të shndërrohet në format të kuptueshëm nga makina duke përdorur një përkthyes të gjuhës. Mund të jetë një përpilues ose një interpretues. Kodi i përkthyer njihet si kodi i objektit. Kodi i objektit është në gjuhën e makinës. Ai përbëhet nga zero dhe një herë. Kompjuteri mund të kuptojë drejtpërdrejt kodin e objektit. Ka ekstensionin.obj. Nëse ka një kod burim si Test.c, ai kalon përmes përpiluesit dhe kodi i konvertuar bëhet Test.obj.
Linker është softueri që lidh kodin e objektit me skedarë shtesë si skedarët e kokës dhe krijon një skedar të ekzekutueshëm me shtesën.exe. Programi mund të ketë përdorur funksione të integruara. Funksionalitetet për ato funksione të integruara janë në skedarët e kokës. Sipas shembullit të shpjeguar më sipër, kodi i objektit është Test.obj shtohet me skedarët e nevojshëm të kokës duke përdorur Linker. Krijon një skedar të ri të quajtur Test.exe. Është një skedar i ekzekutueshëm. Prandaj, është i ekzekutueshëm nga kompjuteri.
Çfarë është Loader?
Një program që duhet të ekzekutohet duhet të vendoset në memorie. Lidhësi lidh kodin e objektit dhe skedarët e kokës dhe nxjerr skedarin e ekzekutueshëm. Ngarkuesi është softueri i sistemit që ngarkon skedarin e ekzekutueshëm të krijuar nga lidhësi në memorien kryesore. Ai shpërndan hapësirën e memories tek moduli i ekzekutueshëm në memorien kryesore. Prandaj, një ngarkues është një pjesë e sistemit operativ që është përgjegjës për ngarkimin e programeve dhe bibliotekave.
Figura 01: Rendi sipas të cilit kodi burim ngarkohet në memorie
Ngarkimi i një programi përfshin disa hapa. Ai përfshin leximin e përmbajtjes së skedarit të ekzekutueshëm që përmban udhëzimet e programit në memorie dhe gjithashtu për të kryer detyrat e nevojshme përgatitore për të ekzekutuar skedarin e ekzekutueshëm. Pasi të përfundojë ngarkimi, sistemi operativ e nis programin duke ia kaluar kontrollin kodit të programit të ngarkuar. Sistemet e veçanta kompjuterike si sistemet e ngulitura në përgjithësi nuk kanë ngarkues. Kodi ekzekutohet direkt nga ROM.
Cila është marrëdhënia midis Lidhuesit dhe Ngarkuesit?
Dalja e Linker shkon te Loader
Cili është ndryshimi midis Lidhuesit dhe Ngarkuesit?
Linker vs Loader |
|
Linker është softueri që lidh kodin e objektit me skedarë shtesë si skedarët e kokës dhe krijon një skedar të ekzekutueshëm me shtesën.exe. | Ngarkuesi është softueri i sistemit që ngarkon skedarin e ekzekutueshëm të krijuar nga lidhësi në memorien kryesore. |
Hyrja | |
Lidhësi merr daljen e përkthyesit të gjuhës, që është kodi i objektit. | Ngarkuesi merr daljen nga lidhësi, i cili është skedari i ekzekutueshëm. |
Funksionalitet | |
Lidhësi lidh kodin e objektit dhe skedarët e kokës dhe nxjerr skedarin e ekzekutueshëm. | Ngarkuesi ngarkon skedarin e ekzekutueshëm të marrë nga lidhësi në memorien kryesore. |
Përmbledhje – Linker vs Loader
Linker dhe Loader janë dy komponentë softuerësh që lidhen me ekzekutimin e programit. Ky artikull diskutoi ndryshimin midis Linker dhe Loader. Linker është softueri që lidh kodin e objektit me skedarë shtesë si skedarët e kokës dhe krijon një skedar të ekzekutueshëm me shtrirje.exe. Ngarkuesi është softueri i sistemit që ngarkon skedarin e ekzekutueshëm të krijuar nga lidhësi në memorien kryesore. Ky është ndryshimi midis Linker dhe Loader.