책읽기

[쉽게 배우는 운영체제](요약)[Part-3][Ch-8] 가상 메모리의 기초

pythaac 2021. 7. 29. 11:10
이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다.

출처 : https://www.hanbit.co.kr/store/books/look.php?p_code=B5471691739

※ 요약

  1. 가상 메모리의 개념
    • 실제 물리 메모리 크기보다 큰 메모리 공간을 프로세스에게 제공하는 기술
    • 프로세스는 운영체제 위치와 메모리 크기에 상관없이 메모리를 마음대로 사용
  2. 가상 메모리의 크기
    • 물리 메모리 크기 + 스왑 영역
  3. 매핑 테이블
    • 가상 주소의 물리 메모리 위치를 알 수 있는 테이블
    • 페이징 기법에서는 페이징 매핑 테이블 / 페이징 테이블
      - 프로세스마다 존재
      - 페이지 주소를 나타내는 page, 물리 주소를 나타내는 frame으로 구성
    • 세그먼테이션 기법에서는 세그먼테이션 매핑 테이블 / 세그먼테이션 테이블
      - 크기를 나타내는 limit, 시작 주소를 나타내는 address로 구성
  4.  페이징 기법
    • 고정 분할 방식을 이용한 가상 메모리 관리 기법
    • 페이지
      - 가상 주소의 분할된 각 영역
    • 프레임
      - 페이지와 구분을 위해 물리 메모리의 각 영역을 부르는 이름
  5.  페이지 테이블 매핑 방식
    • 직접 매핑(direct mapping)
      - 페이지 테이블 전체가 물리 메모리의 운영체제 영역에 존재하는 방식
      - 즉, 운영체제가 페이지 테이블을 모두 들고 있음
    • 연관 매핑(associative mapping)
      - 페이지 테이블 전체를 스왑 영역에서 관리하는 방식
      - 테이블의 일부(변환 색인 버퍼 - TLB, Translation Look-aside Buffer)만 무작위로 물리 메모리에 존재
      - 물리 메모리 공간이 작을 때 사용
    • 집합-연관 매핑(set-associative mapping)
      - 페이지 테이블을 일정한 집합으로 나눈 단위로 물리 메모리에 가져오는 방식
      - 테이블의 일부가 continuous page로 물리 메모리에 존재
    • 역매핑(invert mapping)
      - 물리 메모리의 프레임 번호 기준으로 테이블을 구성하는 방식
      - 어떤 프레임에 어떤 프로세스의 어떤 페이지가 있다를 작성
      - 장점 : 다른 방식에서는 프로세스마다 테이블이 필요하지만, 역매핑은 하나의 테이블만 존재
      - 단점 : 가상 메모리 접근시 프로세스 아이디와 페이지 번호 모두 찾아야함
  6. 세그먼테이션 기법
    • 가변 분할 방식을 이용한 가상 메모리 관리 기법
    • 물리 메모리를 프로세스 크기에 따라 가변적으로 나누어 사용
  7. 세그먼테이션-페이징 혼용 기법
    • 사용자 입장으로 세그먼테이션 기법, 메모리 관리자 입장으로 페이징 기법을 사용하는 가상 메모리 관리 기법
    • 읽기 / 쓰기 등 메모리 접근 권한에 대한 비트를 페이지 테이블에 추가하면 테이블 크기가 매우 커짐
      - 비슷한 권한을 세그먼트로 묶어 세그먼테이션 기법 활용, 해당 세그먼트를 페이지로 나누어 페이징 기법 활용
    • 메모리 보호 / 중복 정보를 세그먼테이션 테이블로 관리하여 메모리 관리에 효율적

 

1. 가상 메모리의 개요

1) 가상 메모리 시스템

2) 매핑 테이블의 필요성과 역할

 

2. 페이징 기법

1) 페이징 기법의 구현

2) 페이징 기법의 주소 변환

3) 페이징 테이블 관리

4) 페이징 테이블 매핑 방식

 

3. 세그먼테이션 기법

1) 세그먼테이션 기법의 구현

2) 세그먼테이션 기법의 주소 변환

 

4. 세그먼테이션-페이징 혼용 기법

1) 메모리 접근 권한

2) 세그먼테이션-페이징 혼용 기법의 도입

3) 세그먼테이션-페이징 혼용 기법의 주소 변환

 

5. [심화학습] 캐시 매핑 기법

1) 캐시 직접 매핑

2) 캐시 연관 매핑

3) 캐시 집합-연관 매핑