Шта је везивање адресе?

Раван екран рачунара и тастатура - поглед са стране

Повезивање адресе додељује рачунарску меморију софтверу.

Кредит за слику: Риан МцВаи/Пхотодисц/Гетти Имагес

Меморија рачунара користи и логичке и физичке адресе. Повезивање адресе додељује локацију физичке меморије логичком показивачу тако што повезује физичку адресу са логичком адресом, која је такође позната као виртуелна адреса. Повезивање адреса је део управљања меморијом рачунара и обавља га оперативни систем у име апликација којима је потребан приступ меморији.

Управљање меморијом

Повезивање адресе се односи на то како се код програма чува у меморији. Програми су написани у тексту читљивом човеку, пратећи низ правила постављених структурним захтевима програмски језик, и коришћење кључних речи које се тумаче у радње помоћу централне обраде рачунара Јединица. Тачка у којој се креира извршна верзија програма диктира када дође до повезивања адресе. Неки програмски језици, као што су "Ц" и ЦОБОЛ, морају да се компајлирају, док се други, углавном скрипте, покрећу из оригиналног програмског текста, а не из бинарне верзије компајлиране машинског кода.

Видео дана

Време компајлирања

Први тип везивања адресе је везивање адресе у времену компајлирања. Ово додељује простор у меморији машинском коду рачунара када се програм компајлира у извршну бинарну датотеку. Адресно везивање додељује логичку адресу почетној тачки сегмента у меморији где се чува објектни код. Додела меморије је дугорочна и може се променити само поновним компајлирањем програма.

Време учитавања

Ако је додела меморије одређена у време када је програм додељен, онда ниједан програм никада не може да се пренесе са једног рачунара на други у свом компајлираном стању. То је зато што ће извршни код садржати алокације меморије које можда већ користе други програми на новом рачунару. У овом случају, логичке адресе програма нису везане за физичке адресе док се програм не позове и учита у меморију.

Време извршења

Везивање адресе времена извршавања обично се примењује само на променљиве у програмима и најчешћи је облик везивања за скрипте, које се не компајлирају. У овом сценарију, програм захтева меморијски простор за променљиву у програму када први пут наиђе на ту променљиву током обраде инструкција у скрипти. Меморија ће доделити простор тој променљивој док се програмска секвенца не заврши, или осим ако одређена инструкција унутар скрипте не ослободи меморијску адресу везану за променљиву.