Lai sniegtu norādījumus datoram, tiek izmantota datorprogramma. Tas ir uzrakstīts, izmantojot īpašu programmēšanas valodu. Programmēšanas valodas, piemēram, C, Java, ir augsta līmeņa programmēšanas valodas, un tās saprot cilvēkiem, bet ne datoram. Tādēļ augsta līmeņa programma tiek pārveidota mašīnu valodā, izmantojot valodas tulku. Programma, kas rakstīta, izmantojot augsta līmeņa valodu, ir pirmkods. Pēc konvertēšanas tulkoto kodu sauc par objekta kodu. Saistītājs un ielādētājs ir divas programmatūras programmas, kuras izmanto programmu izpildei. Šajā rakstā ir apskatīta atšķirība starp Linker un Loader. Saistītājs ir programmatūra, kas saista objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu .exe. Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē saistītāja ģenerēto izpildāmo failu. Tas ir galvenā atšķirība starp Linkeru un Iekrāvēju.
1. Pārskats un galvenās atšķirības
2. Kas ir Linker
3. Kas ir iekrāvējs?
4. Saistība starp Linkeru un Iekrāvēju
5. Blakus salīdzinājums - Linker vs Loader tabulas formā
6. Kopsavilkums
Datorprogramma ir instrukciju kopums, kas tiek dots datoram noteikta uzdevuma veikšanai. Datorprogrammu var uzrakstīt, izmantojot programmēšanas valodu. Lielākā daļa programmēšanas valodu ir augsta līmeņa programmēšana. Programmētājam tie ir viegli saprotami un lasāmi. Šīs valodas izmanto sintaksi, kas līdzīga angļu valodai. Daži augsta līmeņa valodu piemēri ir Java, C un Python. Programma, kas rakstīta, izmantojot augsta līmeņa programmēšanas valodu, ir pazīstama kā avota kods, avota fails vai avota programma. Pirmkoda paplašinājums ir atkarīgs no valodas, ar kuru tas tika izstrādāts. Ja avota kods ir rakstīts C ++, faila paplašinājums ir .cpp. Ja avota kods ir rakstīts Python, paplašinājums ir .py.
Programmētājam ir saprotams pat avota kods; datoram tas nav saprotams. Tāpēc avota kods ir jāpārvērš mašīnām saprotamā formātā, izmantojot valodas tulku. Tas var būt sastādītājs vai tulks. Tulkoto kodu sauc par objekta kodu. Objekta kods ir mašīnvalodā. Tas sastāv no nullēm un vienreiz. Dators var tieši saprast objekta kodu. Tam ir paplašinājums .obj. Ja ir avota kods kā Test.c, tas iet cauri kompilatoram un pārveidotais kods kļūst par Test.obj.
Saistītājs ir programmatūra, kas saista objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu .exe. Iespējams, ka programma ir izmantojusi iebūvētās funkcijas. Šo iebūvēto funkciju funkcionalitāte ir galvenes failos. Saskaņā ar iepriekš izskaidroto piemēru, izmantojot Linker, objekta kods, kas ir Test.obj, tiek pievienots ar nepieciešamajiem galvenes failiem. Tas izveido jaunu failu ar nosaukumu Test.exe. Tas ir izpildāms fails. Tāpēc to var izpildīt dators.
Programmai, kuru vajadzētu izpildīt, jābūt ievietotai atmiņā. Saistītājs saista objekta koda un galvenes failus un izvada izpildāmo failu. Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē saistītāja ģenerēto izpildāmo failu. Tas piešķir atmiņas vietu izpildāmajam modulim galvenajā atmiņā. Tāpēc iekrāvējs ir operētājsistēmas daļa, kas atbild par programmu un bibliotēku ielādi.
01. attēls. Kārtība, kādā avota kods tiek ielādēts atmiņā
Programmas ielāde ietver vairākas darbības. Tas ietver izpildāmā faila satura, kas satur programmas norādījumu, lasīšanu atmiņā, kā arī vajadzīgo sagatavošanas darbu veikšanu izpildāmā faila palaišanai. Kad ielāde ir pabeigta, operētājsistēma sāk programmu, nododot kontroli ielādētam programmas kodam. Īpašām datorsistēmām, piemēram, iegultām sistēmām, parasti nav iekrāvēju. Kods tiek izpildīts tieši ar ROM.
Linker vs Loader | |
Saistītājs ir programmatūra, kas saista objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu .exe. | Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē saistītāja ģenerēto izpildāmo failu. |
Ievade | |
Saistītājs ņem valodas tulkotāja izvadi, kas ir objekta kods. | Iekrāvējs ņem izvadi no saistītāja, kas ir izpildāmais fails. |
Funkcionalitāte | |
Saistītājs saista objekta kodu un galvenes failus un izvada izpildāmo failu. | Iekrāvējs ielādē no saistītāja iegūto izpildāmo failu galvenajā atmiņā. |
Linker un Loader ir divi programmatūras komponenti, kas saistīti ar programmas izpildi. Šajā rakstā tika apskatīta atšķirība starp Linker un Loader. Saistītājs ir programmatūra, kas saista objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu .exe. Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē saistītāja ģenerēto izpildāmo failu. Tā ir atšķirība starp Linker un Loader.
1. “Loader (skaitļošanas tehnika)”, Wikipedia, Wikimedia Foundation, 2018. gada 28. februāris. Pieejams šeit