Explain Virtual Memory and Cache Memory
Question: Explain virtual memory and cache memory - what they are and why they matter.
Answer framing: Virtual memory is an abstraction that gives each process the illusion of a large, contiguous, private address space, backed by a combination of physical RAM and disk (via paging); the OS/MMU translates virtual addresses to physical ones via page tables, enabling memory isolation between processes and allowing programs to use more memory than physically installed. Cache memory (CPU L1/L2/L3) is small, very fast memory that stores recently/frequently accessed data close to the CPU to reduce average memory access latency, exploiting temporal and spatial locality of reference. Both concepts trade off speed vs capacity/cost across the memory hierarchy.