- 실제 이용 가능한 메모리 자원 추상화해 유저(프로세스)에게는 매우 큰 메모리에 보이게 하는 관리 기법
- 이걸 위한 페이지 테이블, MMU, TLB, 페이지 폴트 등이 어우러진 시스템
- 가상 주소는 MMU와 페이지 테이블에 의해 실제 주소로 변환 됨
페이지: 가상 메모리 사용하는 최소 크기 단위 프레임: 실제 메모리 사용하는 최소 크기 단위
장점
- 메모리 효율적 사용
- 가상 메모리는 프로그램 실행 시 한꺼번에 메모리 적재 X
- 필요한 시점에 해당 메모리 페이지만 동적으로 불러옴
- 이 덕에 제한된 RAM 에서도 대용량 프로그램 효율적 실행 가능
- 이런 방식을 Demand Paging 요구 페이징
- 메모리 과잉 할당
- 운영체제는 각 프로레스에 가상 주소 공간 넉넉히 할당해 실제 RAM보다 훨씬 큰 주소 공간 사용할 수 있어서 메모리 자원을 최대한 효율적으로 배분 가능
- 예를 들어 가상 메모리 없이 8G 램 사양 컴인데 롤을(6G)등을 한꺼번에 올린다고 생각하면 끔찍
- 프로세스간 메모리 보호
- 각 프로세스는 독립적인 가상 주소 공간 얻음
- 동일한 가상 주소들 처럼 보여도 각자 다른 물리 메모리에 매핑
- 이를 통해, 오류나 데이터 충돌이 한 프로세스에 국한
- 다른 프로세스 영향 X
- 악의적 접근 원천 차단
- 메모리 접근 제어
- 가상 메모리는 메모리를 일정 크기의 페이지로 나누어 관리
- 읽기, 쓰기, 실행 권한 설정 가능