직접 매핑 (direct mapping)
- 페이지 테이블 전체가 물리 메모리의 운영체제 영역에 존재하는 방식
연관 매핑 (associative mapping)
- 페이지 테이블 전체를 스왑 영역에서 관리
- 모든 페이지 테이블을 저장장치의 스왑 영역에 저장하고 그중 일부만 물리 메모리에 가져옴
집합-연관 매핑 (set-associative mapping)
- 디렉토리 매핑이라고도 부름
- 페이지 테이블을 일정한 집합으로 자르고, 자른 덩어리 단위로 물리 메모리에 가져옴
- 연관매핑과 집합-연관 매핑은 캐쉬에서 사용
역매핑 (invert mapping)
- 물리 메모리의 프레임 번호를 기준으로 테이블 구성
- 물리 메모리의 프레임에 어떤 프로세스의 어떤 페이지가 올라와 있는지 표시
- 프로세스 수와 상관없이 테이블이 하나만 존재하므로 테이블 크기가 작음
- 프로세스 아이디와 페이지 번호 모두 찾아야 하는 단점이 있음
페이지 테이블 매핑 방식의 구조
직접 매핑 방식의 구조
- 페이지 테이블 전체가 물리 메모리에 저장되기 때문에 가상 주소를 물리 주소로 변환하려면 페이지 테이블의 P번째 위치에서 원하는 프레임 값을 얻을 수 있음
연관 매핑 방식의 구조
- 메모리에 접근하기 위해 변환 색인 버퍼(Translation Look-ahead Buffer, TLB)를 찾음
- TLB 히트 : 원하는 페이지 번호가 변환 색인 버퍼에 있는 경우 (물리 주소로 변환)
- TLB 미스 : 원하는 페이지 번호가 변환 색인 버퍼에 없는 경우 (스왑 영역에 저장된 직접 매핑 테이블을 사용하여 프레임 번호로 변환)
집합-연관 매핑 방식
- 페이지 테이블을 같은 크기의 여러 묶음으로 나누고, 각 묶음의 시작 주소를 가진 디렉터리 테이블을 새로 만들어 관리
- 전체 페이지 테이블은 스왑 영역에 있으며, 일부 테이블은 묶음 단위로 메모리로 옮김
- I(invalid)라고 표시되어 있으면 TLB 미스가 발생
- 가상 주소를 VA = <P,D>가 아닌 VA = <P1, P2, D>로 표시
- P1 : 디렉터리 테이블에서의 위치 정보
- P2 : 묶음 내에서의 위치 정보
- 가상 주소 32번지인 가정
- <0, 3, 2> 로 변환
역매핑
- 물리 메모리의 프레임 번호를 기준으로 테이블 작성
- 페이지 테이블의 행 수는 실제 프레임 수와 같음
- 프로세스 수와 상관없이 항상 일정 크기의 페이지 테이블을 유지하여 테이블의 크기가 매우 작음
- 원하는 데이터가 없으면 스왑 영역에서 가져옴
'Operating system' 카테고리의 다른 글
캐시 매핑 방식 (0) | 2023.11.03 |
---|---|
세그먼테이션 기법 (segmentation) (0) | 2023.11.03 |
페이지 테이블 매핑 방식 (0) | 2023.11.03 |
페이징 기법 (paging) (1) | 2023.11.03 |
가상 메모리 (가상 메모리, 매핑 테이블) (0) | 2023.11.02 |