본문 바로가기

Operating system

페이지 테이블 매핑 방식

 

직접 매핑 (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