Kas yra adresų įrišimas?

Kompiuterio plokščias ekranas ir klaviatūra – vaizdas iš šono

Adreso susiejimas paskirsto kompiuterio atmintį programinei įrangai.

Vaizdo kreditas: Ryanas McVay/Photodisc/Getty Images

Kompiuterio atmintis naudoja ir loginius, ir fizinius adresus. Adreso susiejimas priskiria fizinę atminties vietą loginiam žymekliui, susiejant fizinį adresą su loginiu adresu, kuris taip pat žinomas kaip virtualus adresas. Adreso susiejimas yra kompiuterio atminties valdymo dalis ir jį atlieka operacinė sistema programų, kurioms reikia prieigos prie atminties, vardu.

Atminties valdymas

Adreso susiejimas yra susijęs su tuo, kaip programos kodas yra saugomas atmintyje. Programos parašytos žmonėms suprantamu tekstu, laikantis taisyklių, nustatytų pagal struktūrinius reikalavimus programavimo kalba ir naudojant raktinius žodžius, kuriuos kompiuterio centrinis apdorojimas paverčia veiksmais Vienetas. Taškas, kuriame sukuriama vykdomoji programos versija, lemia, kada įvyksta adreso susiejimas. Kai kurias programų kalbas, tokias kaip „C“ ir COBOL, reikia kompiliuoti, o kitos, daugiausia scenarijų, paleidžiamos iš originalaus programos teksto, o ne iš kompiuterio kodo, sudaryto dvejetainės versijos.

Dienos vaizdo įrašas

Kompiliavimo laikas

Pirmasis adresų susiejimo tipas yra kompiliavimo laiko adresų susiejimas. Tai priskiria vietos atmintyje kompiuterio mašininiam kodui, kai programa sukompiliuojama į vykdomąjį dvejetainį failą. Adreso susiejimas priskiria loginį adresą segmento pradžios taškui atmintyje, kuriame saugomas objekto kodas. Atminties paskirstymas yra ilgalaikis ir gali būti pakeistas tik perkompiliavus programą.

Įkrovimo laikas

Jei atminties paskirstymas yra nustatytas tuo metu, kai programa yra paskirstyta, tada jokia programa niekada negali perkelti iš vieno kompiuterio į kitą jos sudarytos būsenos. Taip yra todėl, kad vykdomajame kode bus atminties paskirstymai, kuriuos jau gali naudoti kitos naujojo kompiuterio programos. Šiuo atveju programos loginiai adresai nėra susieti su fiziniais adresais, kol programa nebus iškviesta ir neįkelta į atmintį.

Vykdymo laikas

Vykdymo laiko adreso susiejimas paprastai taikomas tik programų kintamiesiems ir yra labiausiai paplitusi scenarijų, kurie nėra sukompiliuojami, susiejimo forma. Pagal šį scenarijų programa prašo atminties vietos programos kintamajam pirmą kartą, kai su tuo kintamuoju susiduriama apdorojant scenarijaus instrukcijas. Atmintis skirs vietos tam kintamajam, kol baigsis programos seka arba nebent konkreti scenarijaus instrukcija išleis atminties adresą, susietą su kintamuoju.