В вычислительной технике адресное пространство определяет диапазон дискретных адресов, каждый из которых может соответствовать сетевому хосту , периферийному устройству , сектору диска , ячейке памяти или другому логическому или физическому объекту.
Для того, чтобы программы сохраняли и извлекали сохраненные данные, каждый элемент данных должен иметь адрес, по которому он может быть расположен. Количество доступных адресных пространств зависит от базовой адресной структуры, которая обычно ограничена используемой компьютерной архитектурой . Часто адресное пространство в системе с виртуальной памятью соответствует таблице трансляции самого высокого уровня, например, таблице сегментов в IBM System/370 .
Адресные пространства создаются путем объединения достаточного количества уникально идентифицированных квалификаторов, чтобы сделать адрес однозначным в адресном пространстве. Для физического адреса человека адресное пространство будет комбинацией местоположений, таких как район, город или страна. Некоторые элементы адресного пространства данных могут быть одинаковыми, но если какой-либо элемент в адресе отличается, адреса в указанном пространстве будут ссылаться на разные сущности. Например, может быть несколько зданий по одному и тому же адресу «32 Main Street», но в разных городах, демонстрируя, что разные города имеют разные, хотя и схоже организованные, уличные адресные пространства.
Адресное пространство обычно обеспечивает (или допускает) разбиение на несколько регионов в соответствии с его математической структурой . В случае полного порядка , как и для адресов памяти , это просто куски . Подобно иерархической структуре почтовых адресов , некоторые вложенные иерархии доменов выглядят как направленное упорядоченное дерево , например, с системой доменных имен или структурой каталогов . В Интернете Управление по распределению номеров в Интернете (IANA) выделяет диапазоны IP-адресов различным реестрам, чтобы каждый мог управлять своими частями глобального адресного пространства Интернета. [1]
Использование адресов включает, помимо прочего, следующее:
Другой общей чертой адресных пространств являются отображения и трансляции , часто образующие многочисленные слои. Обычно это означает, что некоторые адреса более высокого уровня должны быть каким-то образом транслированы в адреса более низкого уровня. Например, файловая система на логическом диске работает с использованием линейных номеров секторов, которые должны быть транслированы в абсолютные адреса секторов LBA , в простых случаях, путем добавления адреса первого сектора раздела. Затем, для диска, подключенного через Parallel ATA , каждый из них должен быть преобразован в логический адрес цилиндр-головка-сектор из-за исторических недостатков интерфейса. Он преобразуется обратно в LBA контроллером диска , затем, наконец, в физические номера цилиндра , головки и сектора .
Система доменных имен сопоставляет свои имена с сетевыми адресами (обычно IP-адресами), которые в свою очередь могут быть сопоставлены с сетевыми адресами канального уровня через протокол разрешения адресов . Трансляция сетевых адресов может также происходить на границе различных IP-пространств, таких как локальная сеть и Интернет.
Знаковым примером преобразования виртуального адреса в физический является виртуальная память , где различные страницы виртуального адресного пространства отображаются либо на файл подкачки , либо на физическое адресное пространство основной памяти . Возможно, что несколько численно различных виртуальных адресов ссылаются на один физический адрес и, следовательно, на один и тот же физический байт ОЗУ . Также возможно, что один виртуальный адрес отображается на ноль, один или более чем один физический адрес.