లింకర్ మరియు లోడర్ మధ్య వ్యత్యాసం
విషయము
లింకర్ మరియు లోడర్ ఒక ప్రోగ్రామ్ అమలులో ప్రధాన పాత్ర పోషిస్తున్న యుటిలిటీ ప్రోగ్రామ్లు. ప్రోగ్రామ్ యొక్క సోర్స్ కోడ్ అమలుకు ముందు కంపైలర్, సమీకరించేవాడు, లింకర్, లోడర్ ద్వారా సంబంధిత క్రమంలో వెళుతుంది. ఒక వైపు, ఎక్కడ లింకర్ సమీకరించేవాడు ఉత్పత్తి చేసిన ఆబ్జెక్ట్ కోడ్లను తీసుకుంటుంది మరియు ఎక్జిక్యూటబుల్ మాడ్యూల్ను రూపొందించడానికి వాటిని మిళితం చేస్తుంది. మరోవైపు, ది లోడర్ అమలు కోసం ఈ ఎక్జిక్యూటబుల్ మాడ్యూల్ను ప్రధాన మెమరీకి లోడ్ చేస్తుంది. పోలిక చార్ట్ సహాయంతో లింకర్ మరియు లోడర్ మధ్య వ్యత్యాసాన్ని చర్చిద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | లింకర్ | లోడర్ |
---|---|---|
ప్రాథమిక | ఇది సోర్స్ ప్రోగ్రామ్ యొక్క ఎక్జిక్యూటబుల్ మాడ్యూల్ను ఉత్పత్తి చేస్తుంది. | ఇది ఎక్జిక్యూటబుల్ మాడ్యూల్ను ప్రధాన మెమరీకి లోడ్ చేస్తుంది. |
ఇన్పుట్ | ఇది ఇన్పుట్ గా తీసుకుంటుంది, సమీకరించేవాడు ఉత్పత్తి చేసే ఆబ్జెక్ట్ కోడ్. | ఇది లింకర్ ద్వారా ఉత్పత్తి చేయబడిన ఎక్జిక్యూటబుల్ మాడ్యూల్ తీసుకుంటుంది. |
ఫంక్షన్ | ఇది ఎక్జిక్యూటబుల్ మాడ్యూల్ను రూపొందించడానికి సోర్స్ కోడ్ యొక్క అన్ని ఆబ్జెక్ట్ మాడ్యూళ్ళను మిళితం చేస్తుంది. | ఇది అమలు కోసం ప్రధాన మెమరీలో ఎక్జిక్యూటబుల్ మాడ్యూల్కు చిరునామాలను కేటాయిస్తుంది. |
పద్ధతి / అప్రోచ్ | లింకేజ్ ఎడిటర్, డైనమిక్ లింకర్. | సంపూర్ణ లోడింగ్, పున oc స్థాపించదగిన లోడింగ్ మరియు డైనమిక్ రన్-టైమ్ లోడింగ్. |
లింకర్ యొక్క నిర్వచనం
అస్సెంబ్లర్ ఒక సోర్స్ ప్రోగ్రామ్ యొక్క ఆబ్జెక్ట్ కోడ్ను ఉత్పత్తి చేస్తుంది మరియు దానిని లింకర్కు అప్పగిస్తుంది. లింకర్ ఈ ఆబ్జెక్ట్ కోడ్ను తీసుకొని ఉత్పత్తి చేస్తుంది ఎక్జిక్యూటబుల్ కోడ్ ప్రోగ్రామ్ కోసం, మరియు దానిని లోడర్కు అప్పగించండి.
ఉన్నత స్థాయి భాష, కార్యక్రమాలు కొన్ని ఉన్నాయి అంతర్నిర్మిత లైబ్రరీలు మరియు హెడర్ ఫైల్స్. సోర్స్ ప్రోగ్రామ్ కొన్ని లైబ్రరీ ఫంక్షన్లను కలిగి ఉండవచ్చు, దీని నిర్వచనం అంతర్నిర్మిత లైబ్రరీలలో నిల్వ చేయబడుతుంది. లింకర్ ఈ ఫంక్షన్ను అంతర్నిర్మిత లైబ్రరీలకు లింక్ చేస్తుంది. ఒకవేళ అంతర్నిర్మిత లైబ్రరీలు కనుగొనబడకపోతే అది కంపైలర్కు తెలియజేస్తుంది మరియు కంపైలర్ అప్పుడు లోపాన్ని సృష్టిస్తుంది.
కొన్నిసార్లు పెద్ద ప్రోగ్రామ్లను ఉపప్రోగ్రామ్లుగా విభజించారు గుణకాలు. ఇప్పుడు ఈ గుణకాలు సంకలనం చేయబడినప్పుడు మరియు సమీకరించబడినప్పుడు, మూల ప్రోగ్రామ్ యొక్క ఆబ్జెక్ట్ గుణకాలు ఉత్పత్తి చేయబడతాయి. సోర్స్ ప్రోగ్రామ్ యొక్క ఒకే ఎక్జిక్యూటబుల్ ఫైల్ను రూపొందించడానికి అన్ని ఆబ్జెక్ట్ మాడ్యూళ్ళను కలపడం / లింక్ చేసే బాధ్యత లింకర్కు ఉంది. మాకు రెండు రకాల లింకర్లు ఉన్నాయి.
లింకేజ్ ఎడిటర్: ఇది పున oc స్థాపించదగిన, ఎక్జిక్యూటబుల్ మాడ్యూల్ను ఉత్పత్తి చేసే లింకర్.
డైనమిక్ లింకర్: లోడ్ మాడ్యూల్ / ఎక్జిక్యూటబుల్ మాడ్యూల్ ఉత్పత్తి అయ్యే వరకు ఇది కొన్ని బాహ్య మాడ్యూళ్ళ యొక్క అనుసంధానాన్ని వాయిదా వేస్తుంది / వాయిదా వేస్తుంది. ఇక్కడ, లోడ్ సమయం లేదా రన్ సమయంలో లింకింగ్ జరుగుతుంది.
లోడర్ యొక్క నిర్వచనం
అమలు చేయాల్సిన ప్రోగ్రామ్ ప్రస్తుతం కంప్యూటర్ యొక్క ప్రధాన మెమరీలో ఉండాలి. ఇది బాధ్యత , లోడర్ ఆపరేటింగ్ సిస్టమ్లోని ఒక ప్రోగ్రామ్, ఒక ప్రోగ్రామ్ యొక్క ఎక్జిక్యూటబుల్ ఫైల్ / మాడ్యూల్ను, లింకర్ ద్వారా ఉత్పత్తి చేయబడిన, అమలు కోసం ప్రధాన మెమరీకి లోడ్ చేయడానికి. ఇది మెమరీ మెమరీలో ఎక్జిక్యూటబుల్ మాడ్యూల్కు మెమరీ స్థలాన్ని కేటాయిస్తుంది.
మూడు రకాల లోడింగ్ విధానాలు ఉన్నాయి:
- సంపూర్ణ లోడింగ్
- పున oc స్థాపించదగిన లోడింగ్
- డైనమిక్ రన్-టైమ్ లోడింగ్
సంపూర్ణ లోడింగ్: ఈ విధానం ప్రోగ్రామ్ యొక్క ఎక్జిక్యూటబుల్ ఫైల్ను a లోకి లోడ్ చేస్తుంది అదే ప్రధాన మెమరీ స్థానం ప్రతి సారి. కానీ దీనికి కొన్ని ఉన్నాయి అప్రయోజనాలు ప్రోగ్రామర్ మాదిరిగా మాడ్యూళ్ళను ప్రధాన మెమరీకి లోడ్ చేసే అసైన్మెంట్ స్ట్రాటజీ గురించి తెలుసుకోవాలి. ఒకవేళ, ప్రోగ్రామ్లో కొంత చొప్పించడం మరియు తొలగించడం ద్వారా ప్రోగ్రామ్ను సవరించాలి, అప్పుడు ప్రోగ్రామ్ యొక్క అన్ని చిరునామాలను మార్చాలి.
పున oc స్థాపించదగిన లోడింగ్: ఈ విధానంలో, కంపైలర్ లేదా సమీకరించేవాడు చేస్తుంది అసలు ప్రధాన మెమరీ చిరునామాను ఉత్పత్తి చేయదు. ఇది సాపేక్ష చిరునామాలను ఉత్పత్తి చేస్తుంది.
డైనమిక్ రన్-టైమ్ లోడింగ్: ఈ విధానంలో, ఎక్జిక్యూటబుల్ మాడ్యూల్ యొక్క సూచన వాస్తవానికి అమలు చేయబడినప్పుడు ప్రోగ్రామ్ యొక్క సంపూర్ణ చిరునామా ఉత్పత్తి అవుతుంది. ఇది చాలా సరళమైనది, లోడ్ చేయగల మాడ్యూల్ / ఎక్జిక్యూటబుల్ మాడ్యూల్ లోకి లోడ్ అవుతుంది ప్రధాన మెమరీ యొక్క ఏదైనా ప్రాంతం. ఎగ్జిక్యూటింగ్ ప్రోగ్రామ్ మధ్యలో అంతరాయం కలిగించవచ్చు మరియు ఈసారి వేరే ప్రధాన మెమరీ చిరునామాలో డిస్కుకు మరియు ప్రధాన మెమరీకి తిరిగి మారవచ్చు.
- లింకర్ మరియు లోడర్ మధ్య ఉన్న ముఖ్యమైన వ్యత్యాసం ఏమిటంటే, లింకర్ ఉత్పత్తి చేస్తుంది ఎక్జిక్యూటబుల్ ప్రోగ్రామ్ యొక్క ఫైల్ అయితే, లోడర్ లింకర్ నుండి పొందిన ఎక్జిక్యూటబుల్ ఫైల్ను లోడ్ చేస్తుంది అమలు కోసం ప్రధాన మెమరీ.
- లింకర్ తీసుకుంటుంది ఆబ్జెక్ట్ మాడ్యూల్ సమీకరించేవాడు సృష్టించిన ప్రోగ్రామ్. అయితే, లోడర్ తీసుకుంటుంది ఎక్జిక్యూటబుల్ మాడ్యూల్ లింకర్ ద్వారా ఉత్పత్తి చేయబడింది.
- లింకర్ ఉత్పత్తి చేయడానికి ప్రోగ్రామ్ యొక్క అన్ని ఆబ్జెక్ట్ మాడ్యూల్ను మిళితం చేస్తుంది ఎక్జిక్యూటబుల్ మాడ్యూల్స్ ఇది కూడా లింక్ చేస్తుంది లైబ్రరీ ఫంక్షన్ ఆబ్జెక్ట్ మాడ్యూల్లో అంతర్నిర్మిత లైబ్రరీలు ఉన్నత-స్థాయి ప్రోగ్రామింగ్ భాష. మరోవైపు, లోడర్ ఎక్జిక్యూటబుల్కు స్థలాన్ని కేటాయిస్తుంది ప్రధాన మెమరీలో మాడ్యూల్.
- లింకర్ను ఇలా వర్గీకరించవచ్చు లింకేజ్ ఎడిటర్, మరియు డైనమిక్ లింకర్ లోడర్ను వర్గీకరించవచ్చు సంపూర్ణ లోడర్, పున oc స్థాపించదగిన లోడర్ మరియు డైనమిక్ రన్-టైమ్ లోడర్.
ముగింపు:
లింకర్ ఒక ప్రోగ్రామ్ యొక్క ఆబ్జెక్ట్ మాడ్యూళ్ళను సమీకరించేవారి నుండి తీసుకొని, ప్రోగ్రామ్ యొక్క ఎక్జిక్యూటబుల్ మాడ్యూల్ను రూపొందించడానికి వాటిని ఒకదానితో ఒకటి కలుపుతుంది. ఎక్జిక్యూటబుల్ మాడ్యూల్ లోడర్ చేత అమలు కోసం ప్రధాన మెమరీలోకి లోడ్ అవుతుంది.