Ero Linkerin ja kuormaajan välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 3 Huhtikuu 2021
Päivityspäivä: 7 Saattaa 2024
Anonim
Ero Linkerin ja kuormaajan välillä - Tekniikka
Ero Linkerin ja kuormaajan välillä - Tekniikka

Sisältö


Linker ja Loader ovat apuohjelmat, joilla on tärkeä rooli ohjelman toteuttamisessa. Ohjelman lähdekoodi kulkee kääntäjän, kokoonpanijan, linkittäjän, laturin läpi vastaavassa järjestyksessä ennen suorittamista. Toisaalta missä linkkeri ottaa vastaan ​​koottimen generoimat objektikoodit ja yhdistää ne suoritettavan moduulin luomiseksi. Toisaalta kuormaaja lataa tämän suoritettavan moduulin päämuistiin suorittamista varten. Keskustelemme Linkerin ja kuormaajan eroista vertailutaulun avulla.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteetLinkerloader
perustiedotSe luo lähdeohjelman suoritettavan moduulin.Se lataa suoritettavan moduulin päämuistiin.
panosTulo on asentajan muodostama objektikoodi.Se vie linkkerin tuottaman suoritettavan moduulin.
ToimiaSe yhdistää kaikki lähdekoodin objektimoduulit suoritettavan moduulin luomiseksi.Se osoittaa osoitteet päämuistissa olevalle suoritettavalle moduulille suorittamista varten.
Tyyppi / LähestymistapaLinkage Editor, dynaaminen linkki.Absoluuttinen lastaus, uudelleenasennettava lastaus ja dynaaminen ajoaikainen lastaus.


Määritelmä Linker

Kokoonpanija luo lähdeohjelman objektikoodin ja luovuttaa sen linkkerille. Linkittäjä ottaa tämän objektikoodin ja generoi suoritettava koodi ja luovuttaa se Loaderille.

Korkean tason kieli, ohjelmilla on joitain sisäänrakennetut kirjastot ja otsikkotiedostot. Lähdeohjelma voi sisältää joitain kirjasto-toimintoja, joiden määritelmä on tallennettu sisäänrakennettuihin kirjastoihin. Linkkeri linkittää nämä toiminnot sisäänrakennettuihin kirjastoihin. Jos sisäänrakennettuja kirjastoja ei löydy, se ilmoittaa siitä kääntäjälle, ja kääntäjä luo virheen.

Joskus suuret ohjelmat jaetaan alaohjelmiin, joita kutsutaan moduulit. Nyt kun nämä moduulit kootaan ja kootaan, lähdeohjelman objektimoduulit luodaan. Linkittäjällä on vastuu kaikkien objektimoduulien yhdistämisestä / linkittämisestä lähdeohjelman yhden suoritettavan tiedoston luomiseksi. Meitä on kahta tyyppiä linkkereitä.


Linkage Editor: Se on linkkeri, joka generoi siirrettävän, suoritettavan moduulin.

Dynaaminen linkki: Se lykkää / lykkää joidenkin ulkoisten moduulien kytkemistä, kunnes latausmoduuli / suoritettava moduuli luodaan. Linkitys tehdään tässä latausaikana tai ajon aikana.

Määritelmä Loader

Koska tällä hetkellä suoritettavan ohjelman on oltava tietokoneen päämuistissa. Se on kuormaaja, ohjelman käyttöjärjestelmässä, linkkerin tuottaman ohjelman suoritetun tiedoston / moduulin lataamiseksi päämuistiin suorittamista varten. Se allokoi muistitilan päämuistissa olevalle suoritettavalle moduulille.

Latauslähestymistapoja on kolme:

  • Absoluuttinen lastaus
  • Ladattava uudelleen
  • Dynaaminen ajoaikalataus

Absoluuttinen lastaus: Tämä lähestymistapa lataa ohjelman suoritetun tiedoston sama päämuistin sijainti joka kerta. Mutta siinä on joitain haitat kuten ohjelmoijan, on oltava tietoinen osoitusstrategiasta moduulien lataamiseksi päämuistiin. Jos ohjelmaa on tarkoitus muokata sisällyttämällä ja poistamalla ohjelmaan jonkin verran, kaikki ohjelman osoitteet on muutettava.

Ladattava uudelleen: Tässä lähestymistavassa kääntäjä tai kokoonpanija tekee ei tuota todellista päämuistin osoitetta. Se tuottaa suhteelliset osoitteet.

Dynaaminen ajoaikalataus: Tässä lähestymistavassa luodaan ohjelman absoluuttinen osoite, kun suoritettavan moduulin käsky tosiasiallisesti suoritetaan. Se on erittäin joustava, ladattava moduuli / suoritettava moduuli voidaan ladata mikä tahansa päämuistin alue. Suoritusohjelma voidaan keskeyttää välillä ja vaihtaa levylle ja takaisin päämuistiin tällä kertaa eri päämuistiosoitteessa.

  1. Keskeinen ero linkkerin ja lastaajan välillä on, että linkkeri tuottaa suoritettavan ohjelman tiedosto, kun taas lataaja lataa linkittäjältä saadun suoritettavan tiedoston päämuisti toteutusta varten.
  2. Linkkeri ottaa vastaan objektimoduuli kokoonpanijan tuottamasta ohjelmasta. Kuormaaja ottaa kuitenkin vastaan suoritettava moduuli tuottaa linkkeri.
  3. Linkkeri yhdistää kaikki ohjelman objektimoduulit generoimiseksi suoritettavat moduulit se yhdistää myös kirjasto-toiminto objektimoduulissa sisäänrakennetut kirjastot korkean tason ohjelmointikielestä. Toisaalta kuormain varaa tilaa suoritettavalle moduuli päämuistissa.
  4. Linkkeri voidaan luokitella linkkien toimittaja, ja dynaaminen linkki kuormain voidaan luokitella ehdoton kuormaaja, siirrettävä kuormain ja dynaaminen ajoajan kuormaaja.

johtopäätös:

Linkkeri ottaa ohjelman objektimoduulit asentajalta ja linkittää ne toisiinsa ohjelman suoritettavan moduulin luomiseksi. Latauslaite lataa sitten suoritettavan moduulin päämuistiin suorittamista varten.