가상메모리 페치(적재)
: 페이지 or 세그먼트를 2차 저장소에서 메인메모리로 가져올 시점을 결정
요구페치 전략
프로세스가 페이지 or 세그먼트를 참조할 때까지 대기 후, 메인메모리에 로드.
예측페치 전략
반응시간을 줄이기 위해 사용.
참조 가능성이 높고, 메모리 공간에 여유가 있을 때 해당 페이지 or 세그먼트를 참조 전에 메인메모리에 로드.
페이지/세그먼트 교체 전략
; 유입되는 페이지 or 세그먼트를 위한 공간을 내주기 위해, 어떠한 페이지 or 세그먼트를 교체할 지를 결정.
가상 메모리 시스템에서 구현하는 가장 간단한 페치 정책
요구전략 = 요청이 들어와야 진행.
ex ) 포토샵 - 사용자가 요청할 때, 노이즈 제거 필터등을 메모리로 가져옴.
프로세스들이 요구하는 페이지들을 예측, 미리 로드.
같이 실행될 가능성이 큰 프로세스들을 미리 로드.
"경험적 지식 ; 시간적/공간적 지역성에 따라 예측"
신중한 설계가 필요함.
잘못 결정할 경우, 요구페이징보다 성능이 저하됨.
이에 따른 해결책
=> 프로세스의 가상주소 공간에 있는 페이지를 2차 저장소에서도 그룹화
할당되었던 자원의 상호간의 이동이 되는 공간
실제 메모리가 가득차면 Swap공간이 사용
-> 물리 메모리의 비활성 페이지가 Swap 공간으로 이동 및 사용
-> 만약 물리 메모리의 공간이 여유가 되서 동작을 위한 용량이 확보되면 다시 Swap공간에서 물리메모리 영역으로 페이지가 할당.
조건
1. 요구페이징으로 인해 처음부터 물리메모리에 못올라 간 경우.
2. 메모리가 꽉차서 스왑영역으로 옮겨온 경우.
페이지가 메모리에 있음 = 스왑영역에 없음
=> 주소필드 : 물리메모리 프레임 번호 저장
스왑영역에 있음 = 페이지가 메모리에 없음
=> 주소필드에 스왑영역 페이지 주소 저장
페이지를 요청했는데, 해당 페이지가 메모리에 없을 때.
=> 스왑영역에서 해당 페이지를 물리메모리로 옮겨야 함.

메모리 페이지 중의 하나를 스왑 영역으로 보내야함. (스왑아웃)

접근할 수 없는 곳에 접근 했을 때 발생.
해결방안 : 해당 프로세스 강제종료
접근하고자하는 페이지가 물리메모리에 없을 때 발생. 프로세스관련 X
해결방안 : 메모리관리자가 스왑 영역에서 페이지를 물리메모리로 옮김.
프로세스가 편중된 패턴으로 메모리를 참조하는 경향.
기억장치에 접근하는 패턴이 특정 영역에 집중되는 성질.
페이지 교체 알고리즘이 쫓아낼 페이지를 찾을 때 바탕으로 하는 개념.
goal : 앞으로 사용할 가능성이 적은 페이지를 선정해 쫓아내기.
같은 메모리 접근 패턴을 사용했을 때, 부재횟수와 성공횟수 비교
시간상 제일 먼저 들어온 페이지를 쫓아냄.
페이지에 접근한 시간을 기준으로 선정.
가장 오랫동안 사용되지않은 페이지를 스왑 영역으로 옮김.
시간적 지역성 사용
많은 Overhead 발생
몇 번 사용됐는지 기준으로 페이지 선정
각 페이지가 사용된 정도를 기반으로 교체할 페이지 결정
성능은 좋으나 오버헤드 ⬆️
참조비트와 변경비트 로 판단. (접근/변경)
참조비트가 0인 페이지 우선, 변경비트 0 (2순위)
같은 비트의 페이지가 여러개 = 랜덤 (3순위)
가장 오래된 페이지의 참조 비트를 확인.
참조를 했었는지 확인.
오래됐는데, 참조비트도 off? 너 교체
2차기회에 비해 참조비트 하나씩 추가 (초깃값 0)
원형큐 사용.
참조비트 1인 페이지는 0으로 바꾼 뒤에 안내쫓고 건너뜀. (2차기회)
페이지폴트 발생 시마다, 리스트의 포인터가 내려감.
