Введение
В вычислительной технике адресное пространство определяет диапазон дискретных адресов, каждый из которых может соответствовать сетевому узлу, периферийному устройству, сектору диска, ячейке памяти или другой логической или физической сущности. Чтобы программное обеспечение могло сохранять и извлекать данные, каждый элемент данных должен иметь адрес, по которому его можно найти. Количество доступных адресных пространств зависит от базовой структуры адресов, которая обычно ограничена используемой компьютерной архитектурой. Часто адресное пространство в системе с виртуальной памятью соответствует таблице преобразования верхнего уровня, например, таблице сегментов в IBM System/370. Адресные пространства создаются путем объединения достаточного количества уникальных идентификаторов, чтобы сделать адрес однозначным в пределах этого адресного пространства. Для физического адреса человека адресное пространство будет представлять собой комбинацию местоположений, таких как район, город, населенный пункт или страна. Некоторые элементы адресного пространства данных могут быть одинаковыми, но если хотя бы один элемент в адресе отличается, адреса в этом пространстве будут ссылаться на разные объекты. Например, по одному адресу "32 Main Street" может быть несколько зданий, но в разных городах, что демонстрирует, что разные города имеют разные, хотя и аналогично организованные, адресные пространства улиц. Адресное пространство обычно предусматривает (или позволяет) разделение на несколько регионов в соответствии с его математической структурой. В случае полного порядка, как в случае адресов памяти, это просто сегменты. Подобно иерархической структуре почтовых адресов, некоторые вложенные доменные иерархии представляются в виде направленного упорядоченного дерева, например, в системе доменных имен или структуре каталогов. В Интернете организация Internet Assigned Numbers Authority (IANA) распределяет диапазоны IP-адресов различным регистраторам, чтобы каждый мог управлять своей частью глобального интернет-адресного пространства.
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity. For software programs to save and retrieve stored data, each datum must have an address where it can be located. The number of address spaces available depends on the underlying address structure, which is usually limited by the computer architecture being used. Often an address space in a system with virtual memory corresponds to a highest level translation table, e. g., a segment table in IBM System/370. Address spaces are created by combining enough uniquely identified qualifiers to make an address unambiguous within the address space. For a person's physical address, the address space would be a combination of locations, such as a neighborhood, town, city, or country. Some elements of a data address space may be the same, but if any element in the address is different, addresses in said space will reference different entities. For example, there could be multiple buildings at the same address of "32 Main Street" but in different towns, demonstrating that different towns have different, although similarly arranged, street address spaces. An address space usually provides (or allows) a partitioning to several regions according to the mathematical structure it has. In the case of total order, as for memory addresses, these are simply chunks. Like the hierarchical design of postal addresses, some nested domain hierarchies appear as a directed ordered tree, such as with the Domain Name System or a directory structure. In the Internet, the Internet Assigned Numbers Authority (IANA) allocates ranges of IP addresses to various registries so each can manage their parts of the global Internet address space.
Картография адресов и их перевод
Еще одной общей особенностью адресных пространств являются отображения и преобразования, часто формирующие множество уровней. Обычно это означает, что какой-либо адрес более высокого уровня должен быть преобразован в адрес более низкого уровня. Например, файловая система на логическом диске работает с линейными номерами секторов, которые необходимо преобразовать в абсолютные LBA-адреса секторов, в простейшем случае, путем добавления адреса первого сектора раздела. Затем, для диска, подключенного через Parallel ATA, каждый из этих адресов должен быть преобразован в логический адрес цилиндр-головка-сектор из-за исторических ограничений интерфейса. Дисковый контроллер преобразует его обратно в LBA, а затем, наконец, в физические номера цилиндров, головок и секторов. Система доменных имен (DNS) сопоставляет свои имена с сетевыми адресами (обычно IP-адресами) и обратно, которые, в свою очередь, могут быть сопоставлены с адресами канального уровня сети с помощью протокола разрешения адресов (ARP). Трансляция сетевых адресов (NAT) также может происходить на границе различных IP-пространств, таких как локальная сеть и Интернет. Классическим примером преобразования виртуальных адресов в физические является виртуальная память, где различные страницы виртуального адресного пространства сопоставляются либо с файлом подкачки, либо с физическим адресным пространством основной памяти. Возможно, что несколько различных виртуальных адресов указывают на один и тот же физический адрес и, следовательно, на один и тот же физический байт оперативной памяти. Также возможно, что один виртуальный адрес может сопоставляться с нулем, одним или несколькими физическими адресами.