Ce este legarea adresei?

Ecran plat computer și tastatură - vedere laterală

Legarea adresei alocă memoria computerului software-ului.

Credit imagine: Ryan McVay/Photodisc/Getty Images

Memoria computerului folosește atât adrese logice, cât și adrese fizice. Legarea adresei alocă o locație de memorie fizică unui pointer logic prin asocierea unei adrese fizice unei adrese logice, care este cunoscută și ca adresă virtuală. Legarea adreselor face parte din gestionarea memoriei computerului și este realizată de sistemul de operare în numele aplicațiilor care au nevoie de acces la memorie.

Gestionarea memoriei

Legarea adresei se referă la modul în care codul unui program este stocat în memorie. Programele sunt scrise în text care poate fi citit de om, urmând o serie de reguli stabilite de cerințele structurale ale limbajul de programare și utilizarea cuvintelor cheie care sunt interpretate în acțiuni de Procesarea centrală a computerului Unitate. Punctul în care este creată versiunea executabilă a unui program dictează momentul în care are loc legarea adresei. Unele limbaje de program, cum ar fi „C” și COBOL, trebuie să fie compilate, în timp ce altele, în principal scripturi, rulează din textul original al programului, mai degrabă decât dintr-o versiune binară compilată de codul mașinii.

Videoclipul zilei

Timp de compilare

Primul tip de legare a adresei este legarea adresei în timp de compilare. Acest lucru alocă un spațiu în memorie codului mașină al unui computer atunci când programul este compilat într-un fișier binar executabil. Legarea adresei alocă o adresă logică punctului de pornire al segmentului din memorie unde este stocat codul obiect. Alocarea memoriei este pe termen lung și poate fi modificată doar prin recompilarea programului.

Timp de încărcare

Dacă alocarea memoriei este desemnată în momentul în care programul este alocat, atunci niciun program nu se poate transfera vreodată de la un computer la altul în starea sa compilată. Acest lucru se datorează faptului că codul executabil va conține alocații de memorie care pot fi deja utilizate de alte programe de pe noul computer. În acest caz, adresele logice ale programului nu sunt legate de adrese fizice până când programul este invocat și încărcat în memorie.

Timpul de execuție

Legarea adresei de timp de execuție se aplică de obicei numai variabilelor din programe și este cea mai comună formă de legare pentru scripturi, care nu sunt compilate. În acest scenariu, programul solicită spațiu de memorie pentru o variabilă dintr-un program prima dată când acea variabilă este întâlnită în timpul procesării instrucțiunilor din script. Memoria va aloca spațiu acelei variabile până la sfârșitul secvenței programului sau dacă o instrucțiune specifică din script eliberează adresa de memorie legată de o variabilă.