반응형
SMALL

7.4 페이지 교체 기법

7.4.4 NUR(Not Used Recently) 페이지 교체

- 참조 여부와 수정 여부에 따른 우선순위에 따라 적합한 페이지를 교체

- 구현 : 페이지 마다 참조 비트 r 과 수정 비트 m 이용

* 페이지 프레임에 적재 :  r = 0, m = 0

* 페이지를 참조 :  r = 1 

* 페이지를 수정 : m = 1

* 교체 우선순위  :

1. r=0, m=0   //  2. r=0, m=1

3. r=1, m=0   //  4. r=1, m=1

 

 

특징

- 적은 오버헤드로 적절한 성능을 낼 수 있음

- LRU와 유사하면서도 실제로 자주 쓰임

- 동일 그룸 내에서의 선택은 무작위

- 모든 참조 비트 r을 주기적으로 0으로 변경

 

 

7.4.5 2차 기회 (second chance) 페이지 교체 

- FIFO 페이지 교체기법과 참조 여부에 따른 우선순위를 고려하여 적합한 페이지를 교체

- 구현 : FIFO 큐와 참조 비트 이용

 

* 페이지 프레임에 적재 : 참조 비트는 0

* 페이지 참조 : 참조 비트는 1

 

 

 

교체 대상 선택 방법

1) 큐의 선두를 꺼내 참조 비트 조사

2) 참조 비트가 0이면 교체 대상으로 선택

3) 참조 비트가 1이면 0으로 바꿔 큐의 뒤에 넣음

 

 

 

7.4.6 클럭 (clock) 페이지 교체

- 2차 기회 페이지 교체를 원형 큐를 이용하여 구현한 것

- 교체가 필요한 경우 큐에서의 삭제 및 삽입 대신 포인터 이동으로 간단히 구현

1) 포인터가 가르키는 참조비트가 1이면 

2) 1을 0으로 바꾸고 다음으로 이동

3) 0이면 삭제 후 새로운 페이지 삽입

 

 

 

7.4.7 프로세스별 페이지 집합 관리

프로세스별 페이지 집합

- 프로세스마다 페이지 프레임에 적재된 페이지들의 집합

 

프로세스별 페이지 집합의 크기가 적은 경우

- 메모리에 적재할 수 있는 프로세스의 수 많아짐 -> 시스템 처리량 증대

- 각 프로세스별 페이지 부재 많아짐  -> 성능 저하

 

페이지 집합 관리 알고리즘

- 워킹 세트 알고리즘

- PFF 알고리즘

 

(1) 워킹세트 ( workong set) 

- 하나의 프로세스가 자주 참조하는 페이지의 집합

- 워킹세트 W(t,w) : 시간 t - w 로 부터 시간 t 까지의 프로세스 시간 간격동안 참조된 페이지의 집합

 

* 프로세스 시간

  : 그 프로세스가 CPU를 점유하고 있는 시간

* t : 현재 시간

* w : 워킹세트 윈도 크기

 

 

워킹세트 알고리즘

- 데닝(Denning)이 제안

- 페이지 부재 비율을 감소시키기 위한 방법

- 원칙 : 실행 중인 프로그램의 워킹세트를 메모리에 유지

( 국부성)

- 프로세스가 실행됨에 따라 워킹세트의 크기는 변함

 

- 운영체제는 충분한 여분의 프레임이 존재하면 새로운 프로세스를 실행시킴

- 반대로 프레임이 부족해지면 가장 우선순위가 낮은 프로세스를 일시적으로 중지시킴

- 워킹세트가 메모리에 유지되지 못하는 경우

** 쓰래싱 (thrashing)

페이지 부재가 비정상적으로 많이 발생하여 프로세스 처리보다 페이지 교체에 너무 많은 시간을 소비하여 시스템 처리량 급감하는 현상

 

문제점 

- 과거를 통해 미래를 예측하는 것이 정확하지 않음

- 워킹세트를 정확히 알아내고 이를 계속적으로 업데이트하는 것이 현실적으로 어려움

- 워킹 세트 윈도의 크기 w의 최적 값을 아기 어려우며 이 역시 변화할 수 있음

 

 

(2) PFF (Page Fault Frequency) 알고리즘

- 프로세스의 상주 페이지 세트를 변경하며 관리

- 페이지 부재가 발생할 때 빈도를 계산하여 상한과 하한을 벗어나는 경우에만 변경

- 페이지 부재 빈도 

  : 두 페이지 부재가 일어난 사이의 시간의 역수

- 운영체제는 프레임의 여분 상황에 따라 새로운 프로세수 추가 및 중지 결정

 

**상주 페이지 세트

프로세스가 페이지 부재떄문에 멈추게 되는 빈도에 기초한 페이지 세트

 

 

 

 

 

반응형
LIST

'방송통신대학 > 운영체제' 카테고리의 다른 글

CPU]입출력 관리  (0) 2020.07.11
컴퓨터 시스템 ] 장치의 구성  (0) 2020.07.10
페이지 교체 기법, FIFO, LRU, LFU  (0) 2020.07.08
가상메모리  (0) 2020.07.07
메모리 분할, 동적 분할  (0) 2020.07.06

+ Recent posts