본문 바로가기
computer

가상 메모리 - 페이징 시스템

by 유순이 2021. 6. 24.

페이징 시스템 (Paging System)

  • 크기가 동일한 페이지로 가상 주소 공간과 이에 대응하는 실제 주소 공간을 관리
  • 하드웨어의 지원이 필요
  • 페이지 번호를 기반으로 가상 / 물리 주소의 매핑 정보를 기록 / 사용

프로세스 PCB에 Page Table 구조체에 대한 정보가 들어가 있다.

 


페이징 시스템의 구조

 

page / page frame : 고정된 크기의 BLOCK (4KB)

가상주소 v = (p, d) (32bit)

  • p: 가상 메모리 페이지
  • d: p 안에서 참조하는 위치 (변위) (페이지부터 얼마나 떨어진 위치인지)

 

페이징 시스템의 동작 방법

 

해당 프로세스에서 특정 가상 주소에 접근하려면

  1. 해당 프로세스의 page table에 해당 가상 주소가 포함된 page 번호 확인
  2. 해당 page가 매핑된 첫 물리 주소(p') 확인
  3. p' + d가 실제 주소

실제로 page table에 있는 정보들

page 번호 / 가상 주소 / 물리 주소 / valid-invalid bit

 


프로세스 생성 시, 페이지 테이블 정보를 생성한다.

PCB 등에서 해당 페이지 테이블 접근이 가능하고, 관련 정보는 실제 메모리에 적재한다.

프로세스 구동 시, 해당 페이지 테이블의 BASE 주소가 별도의 레지스터(CR3)에 저장된다.

CPU가 가상 주소 접근 시, MMU가 페이지 테이블의 BASE 주소를 접근하여 실제 주소를 가져온다.

 


다중 단계 페이징 시스템

 

필요한 페이지만 table에 싣는다.

 


MMU와 TLB

 

여러 번 메모리 접근하기 위한 주소 탐색을 줄이기 위해 TLB에 최근 가상 / 실제 주소 매핑을 저장해 놓는다.

 

 

'computer' 카테고리의 다른 글

세그멘테이션 기법  (0) 2021.06.24
페이징 기법 - 요구 페이징  (0) 2021.06.24
가상 메모리  (0) 2021.06.24
스레드 동기화 이슈  (0) 2021.06.23
스레드 장단점  (0) 2021.06.23

댓글