Incomputing,anaddress spacedefines a range of discrete addresses, each of which may correspond to anetwork host,peripheral device,disk sector,amemorycell or other logical or physical entity.

Forsoftware programsto 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 thecomputer architecturebeing used. Often an address space in a system withvirtual memorycorresponds to a highest level translation table, e.g., asegment tableinIBM 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, theaddress spacewould 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 addressspaces.

An address space usually provides (or allows) a partitioning to several regions according to themathematical structureit has. In the case oftotal order,as formemory addresses,these are simplychunks.Like the hierarchical design ofpostal addresses,some nested domain hierarchies appear as adirected ordered tree,such as with theDomain Name Systemor adirectory structure.In theInternet,theInternet Assigned Numbers Authority(IANA) allocates ranges ofIP addressesto various registries so each can manage their parts of the global Internet address space.[1]

Examples

edit

Uses of addresses include, but are not limited to the following:

Address mapping and translation

edit
Illustration of translation from logical block addressing to physical geometry

Another common feature of address spaces aremappings and translations,often forming numerous layers. This usually means that some higher-level address must be translated to lower-level ones in some way. For example, afile systemon alogical diskoperates usinglinearsector numbers, which have to be translated toabsoluteLBAsector addresses, in simple cases, viaadditionof the partition's first sector address. Then, for a disk drive connected viaParallel ATA,each of them must be converted tologicalcylinder-head-sectoraddress due to the interface historical shortcomings. It is converted back to LBA by thedisk controller,then, finally, tophysicalcylinder,headandsectornumbers.

TheDomain Name Systemmaps its names to and from network-specific addresses (usually IP addresses), which in turn may be mapped tolink layernetwork addresses viaAddress Resolution Protocol.Network address translationmay also occur on the edge ofdifferentIP spaces, such as alocal area networkand the Internet.

Virtual address space and physical address space relationship

An iconic example of virtual-to-physical address translation isvirtual memory,where differentpagesofvirtual address spacemap either topage fileor to main memoryphysical addressspace. It is possible that several numerically different virtual addresses all refer to one physical address and hence to the same physical byte ofRAM.It is also possible that a single virtual address maps to zero, one, ormore than onephysical address.

See also

edit

References

edit
  1. ^"IPv4 Address Space Registry".Internet Assigned Numbers Authority (IANA).Archivedfrom the original on April 30, 2010.RetrievedSeptember 1,2011.