If a resource is duplicated but not modified, it is not necessary to create a new resource; the resource can be shared between the copy and the original. Modifications must still create a copy, hence the technique: the copy operation is deferred until the first write. By sharing resources in this way, it is possible to significantly reduce the resource consumption of unmodified copies, while adding a small overhead to resource-modifying operations. —Wikipedia


The term random-access memory, or RAM, implies that you can access any part of RAM just as quickly as another.
While it is generally good to think of RAM in this way, because of hardware/OS features such as the TLB, accessing a particular Memory Page of memory may be costly, particularly if that page isn’t currently mapped by your TLB.
Thus, it is always good to remember the implementation tip: RAM isn’t always RAM. Sometimes randomly accessing your address space, particularly if the number of pages accessed exceeds the TLB coverage, can lead to severe performance penalties.