공부기록
가상 페이징을 위한 OS SW 본문
메모리 관리를 위한 OS SW
가상 메모리를 위한 운영체제 정책에는 다음과 같은 것들이 있다.
- 반입 정책
- 배치 정책
- 교체 정책
반입정책 (Fetch Policy)
- 언제 페이지를 주기억장치로 들여올지 결정
- 요구페이징 (demand paging)
- 요구페이징에서 페이지가 주기억장치로 반입되는 시점은 페이지의 특정 부분이 참조될 때이다.
- 선페이징은 유효성이 입증되지 못함
배치정책 (Placement Policy)
- 배치정책은 블록이 주기억장치의 어디에 위치할 지를 결정
- 페이징을 사용하는 시스템의 경우 일반적으로 문제가 되지 않음
교체정책 (Replacement Policy)
- 새로운 페이지를 반입하기 위해 주기억장치의 어떤 페이지를 선택하여 교체할 지를 결정
- 어떤페이지를 선택할지 결정하는 알고리즘들이 존재
- OPT, LRU, FIFO, CLOCK
OPT
- 최적정책은 미래에 참조될 때까지의 시간이 가장 긴 페이지를 교체 대상으로 선택
- 구현이 사실상 불가능하며 알고리즘들을 평가하는 표준이다.
LRU (Least Recently Used)
- 가장 오랫동안 참조되지 않은 주기억장치 상의 페이지를 교체
- 각 페이지에 대한 태그로써 최종 참조시간을 기록
- 페이지 하나가 나가야 된다면 가장 오래된 참조시간을 가진 페이지를 swap out한다.
FIFO (First In First Out)
- 선입선출
Clock (Not Used Recently)
- 반입된 페이지들은 환형 큐에 넣어짐
- 각 페이지는 used bit, modified bit를 가짐
- used bit : 해당 페이지가 참조 되면 1
- modified bit : 해당 페이지의 내용이 변경되었다면 1
- 클록 알고리즘 분류는 다음과 같다.
- 현재 포인터 위치에서 시작하여 프레임 버퍼들을 scan한다. 사용비트를 수정하지 않으며 (u = 0, m = 0)인 페이지를 만나면 교체 대상이 된다.
- 단계 1 이 실패하면 (u = 0, m = 1) 의 프레임을 찾아 스캔. 찾으면 교체 대상이 됨. 스캔하면서 모든 프레임의 사용 비트를 0으로 바꾼다.
- 단계 2 가 실패하면 모든 프레임의 사용 비트는 0일 것임. 단계 1을 반복. 실패하면 단계 2를 반복. 결국 교체 대상인 1개의 프레임이 찾아진다.
'CS > OS' 카테고리의 다른 글
OS 총정리 (0) | 2021.06.06 |
---|---|
교착상태 발견 (0) | 2021.06.03 |
가상 메모리 세그먼트 (0) | 2021.05.17 |
가상 메모리 페이징 (0) | 2021.05.17 |
가상 메모리의 개요 (0) | 2021.05.17 |