ResourcesAn address space is a system for using large scale resources such as a storage device with trillions of memory locations.
Virtual ResourcesResources need not be physical but can be abstracted. For example, memory addresses on a virtualized web server that is shared by dozens of clients. Each client will be given an address space that maps to their share of physical memory.
AddressesThe addresses themselves. For example, on a 64-bit operating system memory may be addressed with a 64-bit sequence of bits that theoretically allow for 16 exbibytes of memory addresses.
Mapping & TranslationsAddresses are often mapped and translated from one format to another. This is done to provide simplified abstractions and functionality. For example, virtual memory that allows a single memory address to dynamically map to either physical memory or a cache on a disk.
StructureAddresses may be organized into a structure. For example, a file system that provides addresses based on a file name and a directory structure.
SecurityImplementation of address spaces often requires security such that access to a particular address is only available to an authorized entity that has been authenticated.
Directories & APIsAn operating system will provide various APIs for accessing resources with address spaces. Systems and platforms often have similar APIs and services that may be heavily abstracted from physical resources. For example, the Domain Name System provides services for mapping a domain name to an IP.
ErrorsMany of the most common errors in computing are related to address spaces. For example, a segmentation fault error indicates a process tried to access a memory address that isn't allocated to it.
|Overview: Address Space|
A set of addresses that are used to access computing resources such as memory, storage, processes, files, devices and hosts.