20. 페이지 교체 알고리즘과 스래싱(thrashing)
난이도 중 해설 보기 →
문제
문제 20 — 페이지 교체 알고리즘과 스래싱(thrashing)
물리 메모리가 부족해 페이지를 디스크로 내보내야 할 때, 운영체제는 어떤 페이지를 쫓아낼지(victim) 골라야 한다. 게임 서버가 대용량 맵/에셋을 메모리 매핑하거나 컨테이너 메모리 제한 근처에서 동작할 때 이 선택이 성능을 좌우한다.
다음을 설명하라.
-
페이지 교체가 필요한 상황(디맨드 페이징에서 프레임 부족)을 요약하고, 교체 알고리즘의 목표(페이지 폴트율 최소화)를 설명하라.
-
대표적 교체 알고리즘을 비교하라:
- OPT(Belady 최적) — 왜 실현 불가능하지만 기준으로 쓰는가
- FIFO — 단순함과 Belady의 역설(anomaly)
- LRU — 원리와 정확한 구현의 비용(왜 그대로 구현하기 어려운가)
- Clock(2차 기회) — LRU 근사로 실무에서 쓰이는 이유, reference 비트
-
워킹셋(working set) 모델이란 무엇이며, 워킹셋이 물리 프레임보다 클 때 생기는 스래싱을 설명하라. 스래싱의 증상과 원인(다중 프로그래밍 정도 과다)을 논하라.
-
스래싱을 방지·완화하는 기법을 설명하라(워킹셋 기반 프레임 할당, PFF(page fault frequency) 제어, 다중 프로그래밍 정도 조절, 프리페치).
-
게임 서버 관점에서, 이 지식이 어떻게 적용되는가? (핫 데이터의 상주성 확보,
mlock/거대 페이지, 컨테이너 메모리 제한과 OOM, mmap 에셋의 접근 지역성, GC 언어에서 페이징이 GC 와 겹칠 때의 위험)
답안 작성
내 답안 · 자동 저장
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.