5
votes

I've been studying memory management related topics. I'm wondering, whether I've understood it correctly:

  • pointer(virtual) address is process specific
  • different processes can have pointers with same addresses, but these pointers get translated to different physical addresses

Am I correct about these statements? If yes, do they apply for architectures x86, x86-64 and ARMv7, ARMv8?

1
Did you read relevant wikipages on processes, virtual memory, virtual address space .... ?Basile Starynkevitch
@BasileStarynkevitch Well, not all of them. However, I'm not sure about whether I understood it correctly. Look at answers, both of them are saying opposite thing. And if someone answers question, then he/she claims he/she knows the topic. So we've got two truths now :)kravemir

1 Answers

8
votes

Well except for:

different processes can have pointers with same addresses, but these pointers get translated to different physical addresses

while this is the general case, of course different processes could share mapped pages (look into shared memory) and then the pointers could point to the same data, given the pages are mapped to the same locations in virtual address space.

But yes, that's the correct understanding.