In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, memory cell, or other logical or physical entity.
For software programs to save and retrieve stored data, each data unit must have an address where it can be located individually, or the program will not be able to find and manipulate the data. The number of address spaces available will depend on the underlying address structure and these will generally be limited by the architecture of the computer being used.
Address spaces are created by combining enough uniquely identified qualifiers to make an address unambiguous (within a particular address space). For a person's physical address, the address space would be a combination of locations, such as a neighborhood, city, city, or country. Some elements of an address space may be the same, but if any element in the address is different from the addresses in that space, it will refer to different entities. An example might be that there are several buildings in the same direction as "32 Main Street", but in different cities, which shows that different cities have different, though similarly, address spaces.
An address space normally provides (or allows) partitioning to multiple regions according to the mathematical structure it has. In the case of total order, as for memory addresses, these are simply pieces. A hierarchy of nested domains appears in the case of the directed tree as for the Domain Name System or a directory structure; This is similar to the hierarchical design of postal addresses. On the Internet, for example, the Internet Assigned Numbers Authority (IANA) assigns IP address ranges to multiple records to allow them to manage each of their parts of the global Internet address space.