역 페이지 테이블 (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) 사용

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^