1. 요구 페이징
요청이 있으면 메모리에 당장 사용될 페이지를 올리는 것. 메모리 낭비를 막을 수 있다.
✱유효-무효 비트 Valid-invalid bit
요구페이징의 페이지 부재 처리
CPU가 무효 페이지에 접근하면 페이지 부재 트랩이 발생된다. 트랩은 운영체제의 페이지 부재 루틴을 발생한다.
⓵ 페이지 유무효 여부 검사 ⓶ 빈 프레임 할당(없으면 페이지 교체) ⓷ 디스크에서 해당 페이지를 메모리로 읽어온다.
페이지 부재가 적게 발생할수록 요구 페이징의 성능은 향상된다.
2. 페이지 교체
물리적 메모링에 빈 프레임이 없을 때, 빈 메모리 공간을 확보하는 작업. 어떤 프레임의 페이지를 쫓아낼지 결정하는 알고리즘이 교체 알고리즘. 교체 알고리즘의 목표는 페이지 부재율을 최소화하는 것이다.
최적 페이지 교체 Optimal Algorithm
빌레디의 최적 알고리즘. 물리적 메모리에 존재하는 페이지 중 가장 먼 미래에 참조될 페이지를 쫓아낸다.
선입선출 알고리즘 FIFO
가장 먼저 올랑온 페이지를 우선으로 쫓아낸다. FIFO Anomaly
LRU 알고리즘 Leat Recently Used
향후 사용될 가능성이 낮은 페이지를 우선적으로 쫓아낸다. = 가장 오래전에 참조했던 페이지를 쫓아낸다.
LFU 알고리즘 Least Frequently Use
과거 페이지의 참조 횟수가 가장 적었던 페이지를 쫓아낸다.
클럭 알고리즘 (2차 기회 알고리즘)
하드웨어 지원을 통해 LRU 알고리즘을 근사시킨 알고리즘이다. 오랫동안 참조되지 않은 페이지 중 하나를 교체한다. 시곗바늘이 한 바퀴 도는 동안 다시 참조되지 않은 페이지를 교체한다고 해서 클럭 알고리즘이다. 실제 구현은 circulary linked list
3. 페이지 프레임 할당
각 프로세스에 얼마만큼의 페이지 프레임을 할당할 것인가? 종류로는 균등할당, 비례할당, 우선순위 할당이 있다.
4. 전역교체와 지역교체
지역교체 : 다른 프로세스의 프레임을 뺏어올 수 있다.
지역교체 : 프로세스에 할당된 프레임 내에서 교체 대상을 선정
5. 스레싱
프로세스의 원활한 수행에 필요한 페이지 프레임의 수를 할당받지 못한 경우 발생하는 현상.
다중 프레이밍의 정도가 높아지면 각 프로세스에 할당되는 메모리의 양이 지나치게 감소한다. 이때, 프로세스가 최소한의 페이지 프레임도 할당받지 못하는 상태가 되어 페이지 부재가 빈번히 발생한다. = 스레싱 발생
MPD를 조절하는 방법들
1. 워킹셋 알고리즘
프로세스를 구성하는 페이지들이 한꺼번에 올라와 있는 경우에만 메모리를 할당한다. 이 페이지들의 집합을 워킹셋이라고 한다.
2. 페이지 부재 빈도 알고리즘
프로세스의 페이지 부재율을 주기적으로 조사하고 이 값에 따라서 메모리 양을 동적으로 조절한다.
'Today I Learned' 카테고리의 다른 글
모던 자바스크립트 Deep Dive 11장 원시 값과 객체의 비교 (0) | 2022.02.08 |
---|---|
운영체제와 정보기술의 원리9 디스크 관리 (0) | 2022.02.06 |
운영체제와 정보기술의 원리7 메모리 관리 (0) | 2022.02.03 |
운영체제와 정보기술의 원리6 CPU 스케줄링 (0) | 2022.02.02 |
모던 자바스크립트 Deep Dive 10장 객체 리터럴 (0) | 2022.01.31 |