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
'OS 개념 정리' 카테고리의 다른 글
[OS] 가상 메모리(3) - 추가적인 고려 사항 (0) | 2021.06.22 |
---|---|
[OS] 가상 메모리 관리(2) - 페이지 교체 기법들 (0) | 2021.06.17 |
[OS] 가상 메모리의 의미 및 할당 기법들 (0) | 2021.06.10 |
[OS] 메모리 관리 (0) | 2021.06.07 |
[OS] Deadlock (0) | 2021.06.02 |
댓글