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. |