Что такое привязка адреса?

Плоский экран компьютера и клавиатура - вид сбоку

Привязка адреса выделяет программному обеспечению память компьютера.

Кредит изображения: Райан Маквей / Фотодиск / Getty Images

В памяти компьютера используются как логические, так и физические адреса. Привязка адреса выделяет место в физической памяти для логического указателя, связывая физический адрес с логическим адресом, который также известен как виртуальный адрес. Привязка адреса является частью управления памятью компьютера и выполняется операционной системой от имени приложений, которым требуется доступ к памяти.

Управление памятью

Привязка адреса связана с тем, как код программы хранится в памяти. Программы написаны в виде удобочитаемого текста в соответствии с рядом правил, установленных структурными требованиями язык программирования и использование ключевых слов, которые интерпретируются в действия центральной обработкой компьютера. Блок. Точка, в которой создается исполняемая версия программы, определяет, когда происходит привязка адреса. Некоторые языки программ, такие как «C» и COBOL, должны быть скомпилированы, в то время как другие, в основном сценарии, запускаются из исходного текста программы, а не из двоичной версии, скомпилированной с помощью машинного кода.

Видео дня

Время компиляции

Первый тип привязки адреса - это привязка адреса времени компиляции. Это выделяет место в памяти для машинного кода компьютера, когда программа компилируется в исполняемый двоичный файл. Привязка адреса выделяет логический адрес для начальной точки сегмента в памяти, где хранится объектный код. Выделение памяти является долгосрочным и может быть изменено только путем перекомпиляции программы.

Время загрузки

Если выделение памяти назначается во время выделения программы, то никакая программа не может переноситься с одного компьютера на другой в скомпилированном состоянии. Это связано с тем, что исполняемый код будет содержать выделения памяти, которые могут уже использоваться другими программами на новом компьютере. В этом случае логические адреса программы не привязываются к физическим адресам до тех пор, пока программа не будет вызвана и загружена в память.

Время исполнения

Привязка адреса времени выполнения обычно применяется только к переменным в программах и является наиболее распространенной формой привязки для скриптов, которые не компилируются. В этом сценарии программа запрашивает место в памяти для переменной в программе при первом обнаружении этой переменной во время обработки инструкций в сценарии. Память будет выделять пространство для этой переменной до тех пор, пока программная последовательность не закончится, или если конкретная инструкция в сценарии не освободит адрес памяти, привязанный к переменной.