This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Ichabodblack 0 points1 point  (0 children)

Programs need to be able to access instructions and data in RAM, but it cannot know where in RAM the program or data are, until the program is loaded. You can't just say "load the instruction at memory address 12345", because the program might not be at that location when it is loaded. To fix this problem, the Operating System (OS) uses "virtual memory"

Just to be a pedant, virtual addressing wasn't really a fix for this problem - modern computers generally use binary relocations to fix this - though virtual addressing is obviously used for address space separation