공부기록

가상 페이징을 위한 OS SW 본문

CS/OS

가상 페이징을 위한 OS SW

코타쿠 2021. 6. 3. 19:02

메모리 관리를 위한 OS SW

가상 메모리를 위한 운영체제 정책에는 다음과 같은 것들이 있다.

  • 반입 정책
  • 배치 정책
  • 교체 정책

반입정책 (Fetch Policy)

  • 언제 페이지를 주기억장치로 들여올지 결정
  • 요구페이징 (demand paging)
    • 요구페이징에서 페이지가 주기억장치로 반입되는 시점은 페이지의 특정 부분이 참조될 때이다.
  • 선페이징은 유효성이 입증되지 못함

배치정책 (Placement Policy)

  • 배치정책은 블록이 주기억장치의 어디에 위치할 지를 결정
  • 페이징을 사용하는 시스템의 경우 일반적으로 문제가 되지 않음

교체정책 (Replacement Policy)

  • 새로운 페이지를 반입하기 위해 주기억장치의 어떤 페이지를 선택하여 교체할 지를 결정
  • 어떤페이지를 선택할지 결정하는 알고리즘들이 존재
    • OPT, LRU, FIFO, CLOCK

OPT

  • 최적정책은 미래에 참조될 때까지의 시간이 가장 긴 페이지를 교체 대상으로 선택
  • 구현이 사실상 불가능하며 알고리즘들을 평가하는 표준이다.

LRU (Least Recently Used)

  • 가장 오랫동안 참조되지 않은 주기억장치 상의 페이지를 교체
  • 각 페이지에 대한 태그로써 최종 참조시간을 기록
  • 페이지 하나가 나가야 된다면 가장 오래된 참조시간을 가진 페이지를 swap out한다.

FIFO (First In First Out)

  • 선입선출

Clock (Not Used Recently)

  • 반입된 페이지들은 환형 큐에 넣어짐
  • 각 페이지는 used bit, modified bit를 가짐
    • used bit : 해당 페이지가 참조 되면 1
    • modified bit : 해당 페이지의 내용이 변경되었다면 1
  • 클록 알고리즘 분류는 다음과 같다.
    1. 현재 포인터 위치에서 시작하여 프레임 버퍼들을 scan한다. 사용비트를 수정하지 않으며 (u = 0, m = 0)인 페이지를 만나면 교체 대상이 된다.
    2. 단계 1 이 실패하면 (u = 0, m = 1) 의 프레임을 찾아 스캔. 찾으면 교체 대상이 됨. 스캔하면서 모든 프레임의 사용 비트를 0으로 바꾼다.
    3. 단계 2 가 실패하면 모든 프레임의 사용 비트는 0일 것임. 단계 1을 반복. 실패하면 단계 2를 반복. 결국 교체 대상인 1개의 프레임이 찾아진다.

'CS > OS' 카테고리의 다른 글

OS 총정리  (0) 2021.06.06
교착상태 발견  (0) 2021.06.03
가상 메모리 세그먼트  (0) 2021.05.17
가상 메모리 페이징  (0) 2021.05.17
가상 메모리의 개요  (0) 2021.05.17