2
votes

Is there any difference between virtual address space and virtual memory? If that be the case 32 bit OS will not have more than 4GB vaddr space and virtual memory.

Thanks in advance

Ok Virtual memory could exist anywhere local or remote. Virtual address space are the pointers per proces used to address memory. This implies My maximum virtual memory capability is limited by my address space limit. Kindly correct me if wrong.

2
Yes, there is. The one is a kind of address space, the other is a kind of memory.user529758

2 Answers

2
votes

Yes.

Virtual memory as a concept is that memory can be backed differently. Some memory of a process can be on disk, some in main memory, some could even be on a remote network. This is managed by the OS and transparent to the running user process. To the user process it's just memory.

Virtual address space means that memory addresses to a user process are mapped. Two different user processes access (to them) the same address in memory, but they will contain totally different data. This is especially important if the user address space is small (like 32bit). It means that every process can access as much memory as the address space allows, no matter how may processes exist.

Each of those could exist without the other in an OS. But combined they are most useful and therefore usually implemented in a tightly coupled way by the OS.

1
votes

From Wikipedia articles for virtual memory and virtual address space:

Virtual memory is a memory management technique developed for multitasking kernels.

Virtual address space is a memory mapping mechanism available in modern operating systems.

So the answer is: yes, these are quite different terms. Although they are related.