Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Address space
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Computing concept}} 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 [[computer data storage|memory]] cell or other logical or physical entity. For [[software program]]s 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 [[memory segmentation|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 address]]es, these are simply [[interval (mathematics)|chunks]]. Like the hierarchical design of [[postal address]]es, some nested domain hierarchies appear as a [[arborescence (graph theory)|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 address]]es to various registries so each can manage their parts of the global Internet address space.<ref>{{cite web |url=https://www.iana.org/assignments/ipv4-address-space/ |title=IPv4 Address Space Registry |publisher=Internet Assigned Numbers Authority (IANA) |access-date=September 1, 2011 |archive-url=https://web.archive.org/web/20100430190605/https://www.iana.org/assignments/ipv4-address-space/ |archive-date=April 30, 2010 |url-status=live }}</ref> ==Examples== Uses of addresses include, but are not limited to the following: * [[Memory address]]es for [[main memory]], [[memory-mapped I/O]], as well as for [[virtual memory]]; * Device addresses on an [[expansion bus]]; * [[disk sector|Sector]] addressing for [[disk drive]]s; * [[File name]]s on a particular [[volume (computing)|volume]]; * Various kinds of network host addresses in [[computer network]]s; * [[Uniform resource locator]]s in the Internet. == Address mapping and translation == [[File:CNFTL9.JPG|thumb|Illustration of translation from logical block addressing to physical geometry]] Another common feature of address spaces are [[map (mathematics)|mappings 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, a [[file system]] on a [[logical disk]] operates using [[one-dimensional array|linear]] sector numbers, which have to be translated to ''absolute'' [[Logical block addressing|LBA]] sector addresses, in simple cases, via [[addition]] of the partition's first sector address. Then, for a disk drive connected via [[Parallel ATA]], each of them must be converted to ''logical'' [[cylinder-head-sector]] address due to the interface historical shortcomings. It is converted back to LBA by the [[disk controller]], then, finally, to ''physical'' [[cylinder (disk drive)|cylinder]], [[disk head|head]] and [[track (disk drive)|sector]] numbers. The [[Domain Name System]] maps its names to and from network-specific addresses (usually IP addresses), which in turn may be mapped to [[link layer]] network addresses via [[Address Resolution Protocol]]. [[Network address translation]] may also occur on the edge of ''different'' IP spaces, such as a [[local area network]] and the Internet. [[File:Virtual address space and physical address space relationship.svg|thumb|Virtual address space and physical address space relationship]] An iconic example of virtual-to-physical address translation is [[virtual memory]], where different [[Page (computer memory)|pages]] of [[virtual address space]] map either to [[paging|page file]] or to main memory [[physical address]] space. It is possible that several numerically different virtual addresses all refer to one physical address and hence to the same physical byte of [[Random access memory|RAM]]. It is also possible that a single virtual address maps to zero, one, or [[CPU cache#Homonym and synonym problems|more than one]] physical address. == See also == * [[Addressability]] * [[Flat memory model]] * [[Namespace]] * [[Virtualization]] == References == {{Reflist}} [[Category:Computing terminology]] [[Category:Data management]] [[Category:Computer architecture]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)