Demand Paging - (2) Demand Paging key issue
Page selection policy
- 디스크에서 페이지를 가져오는 정책
1. Demand paging : 요청이 있을 때(on demand) 디스크에서 메인 메모리로 페이지 로드
2. Pre-paging : 미래에 사용될 것으로 예측되는 페이지를 미리 디스크에서 메인 메모리로 로드
- 효과적인 pre-paging방안? spatial locality에 기반하여 page fault가 발생한 페이지 근처에 있는 페이지들을 메인 메모리로 로드한다.
Page replacement policy
- 메인 메모리가 꽉 찼을 때, 어떤 페이지를 swap-out할 것인가를 결정하는 정책
1. Random : 하드웨어 적으로 랜덤하게 victim page를 결정
2. FIFO : 제일 먼저 swap-in된 page를 victim page로 결정
3. LRU(least recently used) : 최근에 가장 참조되지 않았던 페이지를 victim page로 결정
- 이것을 구현하기 위해 page table에 reference bit을 두어 페이지 reference 여부를 판단함
Page replacement style
1. Global replacement : 페이지 victim 정책을 global단위로 관리.
2. Per-process replacement : 페이지 victim 정책을 각 프로세스 단위로 관리.
Q. per-process replacement에서 효과적인 adoptive allocation을 위해 process가 현재 memory가 부족한지 아닌지를 판단하는 방법은?
- 단위 시간 동안 page fault가 발생한 횟수를 확인한다.
'운영체제 > Demand Paging' 카테고리의 다른 글
Demand Paging - (3) Thrashing and Working set (0) | 2019.03.27 |
---|---|
Demand Paging - (1) Demand Paging이란? (0) | 2019.03.27 |