크기가 동일한 페이지로 가상 주소 공간과 이에 매칭하는 물리 주소 공간을 관리하는 것이다. 하드웨어의 지원이 필요하며 페이지 번호를 기반으로 가상 주소/물리 주소 매핑 정보를 기록하고 사용한다.
Intel x86(32bit) -> 4KB, 2MB, 1GB 지원
리눅스 -> 4KB Paging
프로세스(4GB)의 PCB에 Page Table 구조체를 가리키는 주소가 들어 있다. Page Table에는 가상 주소와 물리 주소간 매핑 정보가 있다.
page 또는 page frame을 고정된 크기의 block(4KB)로 사용하며 다음과 같이 활용한다.
예를 들어 페이지 크기가 4KB일 때 가상 주소의 0~11 bit가 변위(d)를 나타내고 12bit부터 페이지 번호가 될 수 있다.
Page table은 물리 주소에 있는 페이지 번호와 해당 페이지의 첫 물리 주소 정보를 매핑한 표이다. 가상 주소르 다시 해석하자면,
라고도 볼 수 있다.
해당 프로세스에서 특정 가상 주소에 접근하려면
의 순서로 진행된다.
예를 들어 다음과 같이 프로세스와 메모리가 존재 할 때 aspect라는 부분에 접근하기위해서는
프로세스가 생성이 되어 가상/물리 주소가 할당되었지만 실질적으로 메모리에 올렸는지 여부를 판가름하는 valid-invalid bit가 존재한다(사용 여부 결정)
이전 시간에 확인했듯 CPU는 가상 주소에 접근 할 때 MMU 하드웨어를 통해 물리 메모리에 접근한다. 프로세스 생성 시 테이블 정보를 생성하며 다음과 같이 절차를 밟는다.