![Плоский экран компьютера и клавиатура - вид сбоку](/f/04375612cb5cdbf7b48a3113bac39b13.jpg)
Привязка адреса выделяет программному обеспечению память компьютера.
Кредит изображения: Райан Маквей / Фотодиск / Getty Images
В памяти компьютера используются как логические, так и физические адреса. Привязка адреса выделяет место в физической памяти для логического указателя, связывая физический адрес с логическим адресом, который также известен как виртуальный адрес. Привязка адреса является частью управления памятью компьютера и выполняется операционной системой от имени приложений, которым требуется доступ к памяти.
Управление памятью
Привязка адреса связана с тем, как код программы хранится в памяти. Программы написаны в виде удобочитаемого текста в соответствии с рядом правил, установленных структурными требованиями язык программирования и использование ключевых слов, которые интерпретируются в действия центральной обработкой компьютера. Блок. Точка, в которой создается исполняемая версия программы, определяет, когда происходит привязка адреса. Некоторые языки программ, такие как «C» и COBOL, должны быть скомпилированы, в то время как другие, в основном сценарии, запускаются из исходного текста программы, а не из двоичной версии, скомпилированной с помощью машинного кода.
Видео дня
Время компиляции
Первый тип привязки адреса - это привязка адреса времени компиляции. Это выделяет место в памяти для машинного кода компьютера, когда программа компилируется в исполняемый двоичный файл. Привязка адреса выделяет логический адрес для начальной точки сегмента в памяти, где хранится объектный код. Выделение памяти является долгосрочным и может быть изменено только путем перекомпиляции программы.
Время загрузки
Если выделение памяти назначается во время выделения программы, то никакая программа не может переноситься с одного компьютера на другой в скомпилированном состоянии. Это связано с тем, что исполняемый код будет содержать выделения памяти, которые могут уже использоваться другими программами на новом компьютере. В этом случае логические адреса программы не привязываются к физическим адресам до тех пор, пока программа не будет вызвана и загружена в память.
Время исполнения
Привязка адреса времени выполнения обычно применяется только к переменным в программах и является наиболее распространенной формой привязки для скриптов, которые не компилируются. В этом сценарии программа запрашивает место в памяти для переменной в программе при первом обнаружении этой переменной во время обработки инструкций в сценарии. Память будет выделять пространство для этой переменной до тех пор, пока программная последовательность не закончится, или если конкретная инструкция в сценарии не освободит адрес памяти, привязанный к переменной.