Peamine erinevus – linker vs laadur
Arvutile juhiste andmiseks kasutatakse arvutiprogrammi. See on kirjutatud kindla programmeerimiskeele abil. Programmeerimiskeeled nagu C, Java on kõrgetasemelised programmeerimiskeeled ja need on inimestele arusaadavad, kuid arvutile mitte. Seetõttu teisendatakse kõrgetasemeline programm keeletõlki abil masinkeeleks. Kõrgetasemelises keeles kirjutatud programm on lähtekood. Pärast teisendamist nimetatakse tõlgitud koodi objektikoodiks. Linker ja laadija on kaks tarkvara, mida kasutatakse programmi täitmiseks. Selles artiklis käsitletakse Linkeri ja Loaderi erinevust. Linker on tarkvara, mis seob objektikoodi täiendavate failidega, näiteks päisefailidega, ja loob käivitatava faili laiendiga.exe. Laadija on süsteemitarkvara, mis laadib linkeri loodud käivitatava faili põhimällu. See on peamine erinevus Linkeri ja Laadija vahel.
Mis on Linker?
Arvutiprogramm on juhiste kogum, mis antakse arvutile teatud ülesande täitmiseks. Arvutiprogrammi saab kirjutada programmeerimiskeelt kasutades. Enamik programmeerimiskeeli on kõrgetasemeline programmeerimine. Need on programmeerijale kergesti arusaadavad ja loetavad. Need keeled järgivad inglise keelega sarnast süntaksit. Mõned näited kõrgetasemelistest keeltest on Java, C ja Python. Kõrgetasemelist programmeerimiskeelt kasutades kirjutatud programmi nimetatakse lähtekoodiks, lähtefailiks või lähteprogrammiks. Lähtekoodi laiendus sõltub keelest, milles see on välja töötatud. Kui lähtekood on kirjutatud C++ keeles, on faililaiend.cpp. Kui lähtekood on kirjutatud Pythonis, on laiend.py.
Isegi lähtekood on programmeerijale arusaadav; see pole arvutile arusaadav. Seetõttu tuleks lähtekood keeletõlki abil teisendada masinarusaadavasse vormingusse. See võib olla kompilaator või tõlk. Tõlgitud koodi nimetatakse objektikoodiks. Objekti kood on masinkeeles. See koosneb nullidest ja ühest. Arvuti saab objekti koodist otse aru. Sellel on laiend.obj. Kui lähtekood on Test.c, läheb see läbi kompilaatori ja teisendatud koodist saab Test.obj.
Linker on tarkvara, mis seob objektikoodi täiendavate failidega, näiteks päisefailidega, ja loob käivitatava faili laiendiga.exe. Programm võis kasutada sisseehitatud funktsioone. Nende sisseehitatud funktsioonide funktsioonid on päisefailides. Ülalkirjeldatud näite kohaselt on objektikood, milleks on Test.obj lisatakse Linkeri abil vajalike päisefailidega. See loob uue faili, mida nimetatakse Test.exe. See on käivitatav fail. Seetõttu on see arvutis käivitatav.
Mis on laadur?
Mällu tuleb panna programm, mis peaks täitma. Linker seob objektikoodi ja päise failid ning väljastab käivitatava faili. Laadija on süsteemitarkvara, mis laadib linkeri loodud käivitatava faili põhimällu. See eraldab mäluruumi põhimälus olevale käivitatavale moodulile. Seetõttu on laadija operatsioonisüsteemi osa, mis vastutab programmide ja teekide laadimise eest.
Joonis 01: lähtekoodi mällu laadimise järjekord
Programmi laadimine hõlmab mitut sammu. See hõlmab programmikäsku sisaldava täitmisfaili sisu mällu lugemist ja ka täitmisfaili käivitamiseks vajalike ettevalmistustoimingute tegemist. Kui laadimine on lõppenud, käivitab operatsioonisüsteem programmi, edastades juhtimise laaditud programmikoodile. Spetsiaalsetel arvutisüsteemidel, näiteks manussüsteemidel, tavaliselt laadijaid pole. Kood käivitatakse otse ROM-i kaudu.
Milline on linkeri ja laadija suhe?
Linkeri väljund läheb laadijasse
Mis vahe on linkeril ja laaduril?
Linker vs laadija |
|
Linker on tarkvara, mis seob objektikoodi täiendavate failidega, näiteks päisefailidega, ja loob käivitatava faili laiendiga.exe. | Laadija on süsteemitarkvara, mis laadib linkeri loodud käivitatava faili põhimällu. |
Sisend | |
Linder võtab keeletõlkija väljundi, milleks on objektikood. | Laadija võtab linkeri väljundi, mis on käivitatav fail. |
Funktsionaalsus | |
Linder seob objektikoodi ja päisefailid ning väljastab käivitatava faili. | Laadija laadib linkerist saadud käivitatava faili põhimällu. |
Kokkuvõte – linker vs laadija
Linker ja Loader on kaks programmi täitmisega seotud tarkvarakomponenti. Selles artiklis käsitleti linkeri ja laaduri erinevust. Linker on tarkvara, mis seob objektikoodi täiendavate failidega, näiteks päisefailidega, ja loob käivitatava faili laiendiga.exe. Laadija on süsteemitarkvara, mis laadib linkeri loodud käivitatava faili põhimällu. See on erinevus Linkeri ja Laadija vahel.