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.