When the processor reads or writes to the memory location, it uses the virtual address. As part of a read or write operation, the processor translates the virtual address into a physical address. Accessing memory through virtual addresses has the following advantages:
A program can use a series of neighboring virtual addresses to access large, non-contiguous memory buffers in physical memory.
A program can use a series of virtual addresses to access memory buffers that are larger than the available physical memory. When the physical memory supply is small, the memory manager saves the physical memory page (typically 4 KB) to the disk file. The data or code page moves between the physical memory and the disk as needed.
Virtual addresses used by different processes are isolated from each other. The code in one process cannot change the physical memory that is being used by another process.
Why does the CPU use the virtual address to the physical address of the spatial mapping, solve what kind of problem?