본문 바로가기
  • 실행력이 모든걸 결정한다
OS 개념 정리

[OS] 가상 메모리 관리(1) - HW/SW상에서의 관리

by 김코더 김주역 2021. 6. 15.
반응형

1. Cost Model

1) 정의

소프트웨어 프로젝트의 여러 활동을 실행하는 데 소요되는 비용이 각 단계에 대해 완전하고 일관성이 있는가를 검증하는 수단 - 컴퓨터인터넷IT용어대사전

 

2) 적용

- 가상 메모리의 성능을 높이기 위하여 고려함

- Page fault rate를 최소화함으로써 Context switch 및 Kernel의 개입을 최소화하는 것이 목표

 

※ Page reference string : 참조한 페이지 번호 순서

※ Page fault rate : 페이지 부재율

 

 

2. HW상에서의 관리

1) Address Translation Device

2) Bit Vectors

(1) Reference Bit Vectors

- 최근에 참조된 page인지 표시

- 주기적인 초기화 있음

- used bit

(2) Update Bit Vectors

- 프로세스에 의해 수정된 page인지 표시

- Swap device와 Main memory간의 동기화가 목적

- 주기적인 초기화는 없고, 메모리에서 나오면 Swap device와 동기화한 후에 초기화됨

- modified bits, write bits, dirty bits

 

 

3. SW상에서의 관리

1) Allocation Strategies

- 프로세스 실행에 필요한 메모리 양을 예측

- Fixed allocation : 고정 할당

- Variable allocation : 가변 할당

- 너무 큰 메모리를 할당하면 메모리가 낭비되고, 너무 작은 메모리를 할당하면 페이지 부재율이 증가함

 

2) Fetch Strategies

- 특정 Page를 언제 메모리에 적재할 것인지 결정

- Demand paging : 현재 참조하는 Page들만 적재하는 전략으로, 대부분의 시스템은 이 기법을 사용함

- Pre-paging : 참조될 가능성이 높은 Page도 적재하는 전략으로, 예측 과정에서 Kernal의 개입도 필요하고 잘못된 예측 시 자원 낭비가 큼

- Hit ratio : 예측 적중률

 

3) Placement Strategies

- Segment를 어디에 적재할 것인지 결정

- Paging System에서는 불필요

- First-fit, Best-fit, Worst-fit, Next-fit (https://kimcoder.tistory.com/311?category=944241#placement-strategies 참고)

 

4) Replacement Strategies★

- 새 Page를 어떤 Page와 교체할 것인지 결정

- Fixed allocation과 Variable allocation에 대한 교체 기법이 각각 존재 -> 다음 포스팅에서 다룰 것

 

5) Cleaning Strategies

- 내용이 변경된 Page를 언제 Swap device에 write-back할 것인지 결정

- Demand cleaning : 해당 Page가 메모리에서 내려올 때 write-back하는 전략으로, 대부분의 시스템은 이 기법을 사용함

- Pre-cleaning : 해당 Page가 더 이상 변경될 가능성이 없다고 판단되면 미리 write-back해두는 전략으로, 잘못된 예측 시 자원 낭비가 큼

- 내용을 읽는중에 write-back하면 시간이 절약됨

- Write-back 이후에 Page 내용이 수정되면 overhead가 발생

 

6) Load Control Strategies

- 시스템의 부하 정도를 결정

- 저부하 : 시스템 자원 낭비, 성능 저하

- 고부하 : 자원 경쟁 심화, 성능 저하, 과도한 page fault가 발생하여 성능이 급격히 떨어지는 Thrashing★ 현상 발생

- Plateau(고원) 영역 : 시스템의 부하 정도의 변동에도 throughput(처리량)이 크게 변하지 않는 안정된 부하 영역

 

 

참고 자료 : 김덕수 교수님 - www.youtube.com/playlist?list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN

반응형

댓글