가상 메모리는 메모리 관리 기법의 하나로, 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말합니다.
물리적 메모리 부족을 보완하며, 큰 메모리를 기반으로 멀티태스킹을 하게 할 수 있다.
이 때, 가상적으로 주어진 주소를 가상 주소(logical address 또는 virtual addres)라고 하며, 실제 메모리상에 있는 주소를 실제 주소(physical address)라고 합니다.
가상 주소는 메모리 관리장치 (MMU)에 의해 실제 주소로 변환되며, 이 덕분에 사용자는 실제 주소를 의식할 필요 없이 프로그램을 구축할 수 있게 됩니다.
가상 메모리는 가상 주소와 실제 주소가 매핑되어 있고, 프로세스의 주소 정보가 들어 있는 페이지 테이블로 관리됩니다.
이 때, 속도 향상을 위해 TLB를 사용합니다.
TLB
메모리와 CPU 사이에 있는 주소 변환을 위한 캐시.
페이지 테이블에 있는 리스트를 보관하며 CPU가 페이지 테이블까지 가지 않도록 하여 속도를 향상시킬 수 있는 캐시 계층이다.

만약 가상 메모리에는 존재하지만 실제 메모리인 RAM에는 현재 없는 데이터나 코드에 접근 ****할 경우 페이지폴트가 발생합니다.
이 때, 메모리에서 당장 사용하지 않는 영역을 하드디스크로 옮기고 하드디스크의 일부분을 마치 메모리처럼 불러와 사용하는 스와핑 을 통해 마치 페이지폴트가 발생하지 않은 것처럼 만듭니다.
