<operating system, architecture> The range of addresses which a processor or process can access, or at which a device
can be accessed.
The term may refer to either physical address
or virtual address
The size of a processor's address space depends on the width of the processor's address bus
and address registers.
Each device, such as a memory integrated circuit
, will have its own local address space which starts at zero.
This will be mapped to a range of addresses which starts at some base address in the processor's address space.
Similarly, each process
will have its own address space, which may be all or a part of the processor's address space. In a multitasking
system this may depend on where in memory the process happens to have been loaded.
For a process to be able to run at any address it must consist of position-independent code.
Alternatively, each process may see the same local address space, with the memory management unit
mapping this to the process's own part of the processor's address space.