7.4 페이지 교체 기법
- 모든 페이지 프레임이 사용되고 있을 때 새로 적재되어야 할 페이지를 위하여 어느 페이지를 교체할 것인가를 결정
- 교체 대상 선택 -> 보조기억장치에 보관 -> 새로운 페이지를 적재
최적화의 원칙
- 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체 대상으로 선택
- 이론적으로는 최적이나 미래를 예측할 수 없어 실현 불가능
선택을 위한 기본 정책
- 대체로 좋은 결론을 내리면서 시간 및 공간의 오버헤드가 적은 방법
교체 제외 페이지
- 페이징을 위한 슈퍼바이저 코드 영역, 보조기억장치 드라이버 영역, 입출력장치를 위한 데이터 버퍼 영역 등
페이지 교체 알고리즘
- FIFO 페이지 교체 기법
- LRU 페이지 교체 기법
- LFU 페이지 교체 기법
- NUR 페이지 교체 기법
- 2차 기회 페이지 교체기법
- 클럭 페이지 교체 기법
- 워킹세트 알고리즘, PFF 알고리즘
7.4.1 FIFO (First-In First-Out) 페이지 교체
- 메모리 내에 가장 오래있었던 페이지를 교체
- 구현 : FIFO 큐 이용
단점
- 오래 전에 적재되어 반복적으로 사용되는 페이지가 교체될 수 있음
- Belady의 이상현상 발생
: 프로세스에 더 많은 수의 페이지 프레임을 할당할 경우
오히려 페이지 부재가 더 많이 발생할 수 있는 현상
7.4.2. LRU 페이지 교체
LRU(Least Recently Used)페이지 교체기법
- 가장 오랫동안 사용되지 않은 페이지를 교체
- 구현 : 참조시간 이용 또는 리스트 이용
(그림 위)
* 페이지가 참조될 때마다 그때의 시간을 기록
* 참조시간이 가장 오래된 페이지를 교체
(그림 아래)
** 페이지가 참조되면 리스트의 선두로 옮김
** 리스트의 끝에 있는 페이지를 교체
특징
- Bealady의 이상현상 발생하지 않음
- 많은 경우 최적화 원칙에 근사한 선택을 함
- 국부성(locality)에 기반
: 어느 한 순간에 특정 부분을 집중적으로 참조
** 시간 국부성 : 현재 참조된 기억장소는 가까운 미래에도 계속 참조될 가능성이 높음
** 공간 국부성 : 하나의 기억장소가 참조되면 근처의 기억장소가 계속 참조될 가능성이 높음
단점
- 경험적 판단이 맞지 않는 상황도 존재
- 막대한 오버헤드
7.4.3 LFU(Least Frequently Used) 페이지 교체기법
- 참조된 횟수가 가장 적은 페이지를 교체
- 구현 : 참조 횟수 이용
* 페이지가 참조될 떄마다 증가된 횟수 기록
* 참조 횟수가 가장 적은 페이지 교체
단점
- 가장 최근에 메모리로 옮겨진 페이지가 교체될 가능성 높음
- 초기에 매우 많이 사용된 후 더 이상 사용되지 않는 페이지는 교체 가능성 낮음
- 막대한 오버헤드
'방송통신대학 > 운영체제' 카테고리의 다른 글
컴퓨터 시스템 ] 장치의 구성 (0) | 2020.07.10 |
---|---|
NUR, 2차 기회 , 클럭 페이지 교체 (0) | 2020.07.09 |
가상메모리 (0) | 2020.07.07 |
메모리 분할, 동적 분할 (0) | 2020.07.06 |
프로세스와 메모리 분할, 고정 분할 (0) | 2020.07.05 |