2020년 3월 23일
역 페이지 테이블 (Inverted Page Table)
I. 고정 크기 페이지테이블, 역 페이지 테이블의 개요
가. 역 페이지 테이블 (Inverted Page Table)의 개념
- 메모리 프레임 마다 하나의 페이지 테이블 항목을 할당하여 프로세스 증가와 관계없이 크기가 고정된 페이지 테이블에 프로세스를 맵핑하여 할당하는 메모리 관리 기법
- 분산 메모리 할당 기법 중 페이징 방식에 사용
나. 역 페이지 테이블의 장단점
장점 | 단점 |
---|---|
프로세스 증가가 페이지 테이블의 증가로 이어지지 않아 메모리 활용 효율성 증가 | 최악의 경우 페이지 테이블 전체 탐색이 필요하므로 성능 저하 발생 가능 |
- 페이지 테이블의 크기가 증가되지 않아 효율적 메모리 관리를 통해 스레싱 예방 가능
II. 역 페이지 테이블의 원리
가. 역 페이지 테이블의 페이지테이블 구조
구조 | |
---|---|
설명 | – 시스템에 하나의 페이지 테이블만 존재, 테이블 내 항목은 메모리 한 프레임씩 맵핑 – 논리 주소는 Process-ID(pid), Page Number(p), Offset(d)으로 구성 – 물리 주소는 메모리 프레임 번호(i)와 Offset(d)으로 구성 |
나. 역 페이지 테이블 주소 변환 절차
단계 | 단계 별 주소 변환 절차 |
---|---|
1단계 | pid, p 정보 기반 페이지 테이블에서 동일한 항목을 탐색(Search) |
2단계 | pid와 p가 일치하는 항목이 페이지 테이블의 i 번째 항목에서 발견 |
3단계 | 메모리 프레임 번호(i)와 Offset(d) 기반 접근해야할 메모리 주소 확인 – 물리주소(i, Offset)가 일치 하는 것이 없으면 잘못된 메모리로 간주 |
- 역페이지 테이블은 다른 페이지 테이블 대비 최소의 공간을 사용하는 기법으로, 효율적인 메모리 관리가 가능하나 최악의 경우 페이지 테이블 전체 탐색이 필요하므로 성능 저하 발생 가능
- Page Table 탐색 성능 저하를 보완하기 위해 고성능/고비용 레지스터인 TLB(Translation Look-aside Buffer) 사용