Dreaming Deve1oper

Virtual Memory_2 본문

운영체제

Virtual Memory_2

주현테크 2021. 11. 17. 14:27

운영체제의 가상메모리 관리

  • 가상메모리 관리 정책에 있어 주요 이슈는 성능.
  • 페이징 관련 이슈에 집중.
  • 가상메모리 관리 정책의 범주.
  1. 반입정책(fetch policy)
  2. 배치정책(placement policy)
  3. 교체정책(replacement policy)
  4. 적재집합 (resident set)
  5. 클리닝정책(cleaning policy)
  6. 부하제어(load control)
  7. 관리정책

 

□ 반입정책: 각 페이지를 언제 주기억장치로 적재할지 결정하는 정책

  • 요구반입(demand paging)
  1. 페이지폴트(적재되지 않은 페이지 중 일부분 참조)시 적재
  2. 일반적인 경우 지역성에 의해 안정적 운용 가능
  • 선반입(prepaging)
  1. 페이지폴트에 의해 요구된 페이지 이외의 페이지도 적재
  2. 프로그램 수행을 시작할 때나 페이지폴트시 적용
  3. 한 프로세스의 페이지들이 보조기억장치에 연속적으로 저장되어 있 을 경우 그들을 한꺼번에 반입하는 것이 나중에 필요할 때 따로따로 반입하는 것보다 효율적임.
  4. 스와핑(swapping)과 구분

 

 

□ 배치정책

  • 적재될 블록이 주기억장치의 어디에 위치할 것인지 결정 하는 정책
  • 페이징 시스템의 경우, 주소변환 하드웨어와 주기억장치 접근 하드웨어들이 어떠한 페이지/프레임 조합에 대해서 도 같은 효율로 기능하기 때문에 배치정책은 무의미
  • NUMA(NonUniform Memory Access) 구조의 다중처리 기인 경우, 각 페이지를 그것을 참조할 처리기와 가까운 메모리모듈에 배치시키는 배치전략 필요

 

 

□ 교체정책

  • 가용 프레임이 없을 경우, 새로운 페이지를 반입하기 위 해 현재 적재되어 있는 페이지들 중 어떤 페이지를 교체 할 것인지 결정하는 정책
  • 가까운 미래에 참조될 가능성이 가장 적은 페이지를 선 택하여 교체하는 것이 교체정책의 이상적 목표
  • 지역성의 원리(principle of locality)를 전제로 과거의 참 조 행태에 근거하여 미래의 참조 가능성 예측

 

※ 교체 정책: 프레임 잠금

  • 교체 대상에서 배제시키기 위해 프레임 잠금 설정
  1. 프레임 별로 잠금비트 설정하여 잠금 상태 표시
  2. 프레임테이블, 페이지테이블 등에 잠금비트 유지 가능
  • 프레임 잠금 대상
  1. 운영체제 커널 중 주요 자료구조
  2. 입출력 버퍼
  3. 시간이 중요한 영역

 

※ 교체정책: FIFO

  • FIFO(First-In First-Out)
  1. 가장 오래 전에 적재된 페이지 교체
  2. 가장 쉽게 구현
  3. FIFO’s anomaly: 특정 참조열에 대해 패턴에 대해 할당된 프레 임 수를 증가시켰음에도 보다 많은 페이 더 많은 페이지폴트가 발생하는 현상

 

※ 교체정책: Optimal

  • 최적(Optimal)
  1. 가장 오랫동안 참조되지 않을 페이지 교체
  2. 가장 낮은 페이지 폴트율
  3. 미래에 대한 정확한 지식이 없어 구현 불가능

 

※ 교체정책: LRU

  • LRU (Least Recently Used)
  1. 가장 오랫동안 참조되지 않은 페이지 교체
  2. 최적에 근접한 성능
  3. 구현이 어렵고 큰 오버헤드

 

※ 교체정책: Clock

  • 클록(Clock)
  1. 프레임 별로 use 비트 연계시켜, 처음 적재시 1, 참조시 1로 설정
  2. 페이지를 적재한 프레임들이 환형으로 배치되어 있다고 간주하 고, 첫 교체후보를 가리키는 포인터(시계바늘) 설정
  3. 시계 방향으로 포인터를 이동시키면서 포인터가 가리키는 프레 임 중 use 비트가 0인 첫 프레임 상의 페이지를 교체(use 비트가 1인 경우 그 값을 0으로 변경하고 다음 프레임으로 이동)

 

 

 

 

# 교체정책: 클록 적용의 예시

  • 시계바늘이 프레임 2를 가리키고 있는 상황에서, 페이지 727을 적 재하기 위해 클록정책 작동
  • 프레임 2와 3의 use 비트 값이 1 이므로 차례로 그 값을 0으로 변 경한 후, use 비트 값이 0인 프레 임 4를 발견하여 교체페이지로 선 택하게 됨.
  • 프레임 4에 페이지 727을 적재하 고 그 use 비트 값을 1로 한 후, 시 계바늘이 그 다음 프레임을 가리 키게 설정함.

 

 

 

시험문제: 어느위치에서 페이지폴트가 발생하는가?

 

 

 

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

Scheduling_2  (0) 2021.11.24
Scheduling  (0) 2021.11.17
Virtual Memory  (0) 2021.11.10
Loading/Linking  (0) 2021.11.10
Memory Management  (0) 2021.11.03
Comments