가상 메모리는 프로그램이 사용하는 주소 공간을 실제 물리 메모리와 분리해 제공하는 추상화이다.
원리
운영체제와 하드웨어가 주소 변환과 보호를 수행한다. 프로세스는 자신의 코드·힙·스택을 포함한 주소 공간을 사용하며 실제 배치는 별도로 관리된다.
예시
서로 다른 프로세스에서 같은 숫자의 주소를 사용해도 각자의 물리 위치로 연결될 수 있다. 이를 통해 독립적인 프로그램 실행을 지원한다.
주의할 점
가상 주소 공간의 크기와 현재 확보된 물리 메모리 양은 같지 않다. 가상 메모리를 단순히 디스크를 RAM처럼 쓰는 기능으로만 설명하면 보호와 주소 추상화 역할을 놓친다.