가상 메모리

2023. 6. 2. 17:40운영체제

728x90

가상 메모리

  • 물리 메모리의 크기와 상관없이 프로세스에게 메모리 공간을 제공하는 기술
  • 물리 메모리의 부족한 부분을 스왑 영역으로 보충
    -> 가상 메모리 크기=물리 메모리 + 스왑 영역

 

 

 

 

 

가상 메모리 분할 방식

  • 페이징 기법 - 페이지 테이블 관리가 어려움
  • 세그먼테이션 기법-외부 단편화 문제가 있음
  • -> 세그먼테이션과 페이징 기법의 단점을 보완한 
    세그먼테이션-페이징 혼용 기법을 주로 사용

 

 

 

 

메모리 매핑 테이블

: 메모리 관리자는 가상 주소와 물리 주소를 일대일 매핑 테이블로 관리

 

 

 

 

 

페이징 기법

  • 고정 분할 방식을 이용한 가상 메모리 관리 기법
    -> 물리 주소 공간을 같은 크기로 나누어 사용
  • 페이지: 가상 주소의 분할된 각 영역
  • 프레임: 물리 메모리의 각 영역
  • 페이지와 프레임 하나의 크기는 같음
  • 페이지 테이블: 어떤 페이지가 어떤 프레임에 있는지에 대한 매핑 정보가 담겨있음

 

 

 

 

 

동적 주소 변환

: 가상 주소를 실제 메모리의 물리 주소로 변환

 

 

 

 

페이징 기법의 주소 변환

예) 

1. 가상 주소 30번지가 어느 페이지에 있는지 찾음

-> 페이지 3의 0번째 위치에 있음

2. 페이지 테이블에 페이지 3으로 가서 어느 프레임에 있는지 찾기

-> 프레임 1에 있음

3. 물리 메모리 프레임 1의 0번째 위치에 접근

 

 

 

* 페이징 기법에서는 가상 주소를 VA=<P,D>로 표현

  • VA: 가상 주소
  • P: 페이지
  • D: 페이지의 처음 위치에서 해당 주소까지의 거리

 

* 물리 주소 PA=<F,D>로 변환 

  • PA: 물리 주소
  • F: 프레임
  • D: 프레임의 처음 위치에서 해당 주소까지의 거리

 

* VA=<P,D> -> PA=<F,D>

 

728x90

'운영체제' 카테고리의 다른 글

물리 메모리 관리  (0) 2023.06.01
교착상태 (deadlock)  (1) 2023.05.29
5. 프로세스 동기화  (0) 2023.04.14
4. CPU 스케줄링  (0) 2023.04.14
3. 프로세스와 스레드  (2) 2023.04.13