Two different processes on a unix-like system will not have a shared memory address space. There will also be a difference between "user space" (where the process can read and write, with wild abandon) and "kernel space", where the process will most probably be able to neither read nor write, but may be able to call functions (depending on the exact syscall convention on the hardware architecture, this could be done using call-gates, interrupts or possibly other mechanisms).
Two processes, A and B, may attempt to both write to address 0x800000 in their local address space, with one write ending up being written to (physical) memory location 0x100 and the other to (physical) memory location 0x3000, depending on exactly how the kernel has decided to map virtual address space onto physical address space.
There are systems where this is not true, however.