가상 메모리는 프로그램이 사용하는 주소를 실제 물리 메모리와 분리해, 각 프로세스에 독립된 주소 공간을 제공하는 메모리 관리 방식입니다.

필요한 이유는 크게 세 가지입니다.

  • 보호와 격리: 프로세스별 매핑과 접근 권한으로 다른 프로세스나 커널 메모리에 대한 임의 접근을 막습니다.
  • 메모리 사용의 단순화: 프로그램이 물리 메모리의 실제 위치를 몰라도 연속적인 가상 주소 범위를 사용할 수 있습니다.
  • 효율적인 물리 메모리 사용: 필요한 페이지만 올리는 요구 페이징과 페이지 공유로 메모리를 활용합니다.

일반적인 페이징 시스템에서는 MMU가 페이지 테이블과 TLB를 이용해 가상 주소를 물리 주소로 변환합니다. 디스크를 보조 저장소로 활용하면 물리 메모리보다 큰 주소 공간도 사용할 수 있지만, 가상 메모리의 핵심은 주소의 추상화와 보호입니다.

출처 및 참고자료