1. 기본
가져오기 정책이란 무엇인가요?
더보기
- 페이지를 언제 메모리로 로드할지 결정하는 정책
- 미리 가져오기: 앞으로 필요할 것으로 예측되는 페이지를 실제 참조 이전에 미리 메모리에 로드하는 방식
- 요구 페이징: 페이지가 실제로 참조될 때만 메모리로 로드하는 방식
지역성이란 무엇인가요?
더보기
- 프로그램의 메모리 접근 패턴의 특성
- 시간 지역성: 최근에 접근한 페이지가 다시 접근될 가능성이 높은 성질
- 공간 지역성: 현재 접근한 페이지 근처에 있는 페이지가 다시 접근될 가능성이 높은 성질
- 순차 지역성: 메모리 주소 순서대로 연속적으로 접근되는 성향
페이지 부재란 무엇인가요?
더보기
- 프로세스가 접근한 메모리에 물리 메모리가 없는 상태
- ✅ 페이지 테이블의 유효 비트로 판단됨
- ➡️ 디스크에서 메모리로 로드 필요
페이지 교체 알고리즘에 대해 설명해주세요
더보기
- FIFO: 가장 먼저 들어온 것부터 제거
- LRU: 가장 오랫동안 접근되지 않은 것부터 제거
- LFU: 가장 사용횟수가 적은 것부터 제거
NUR: 가장 오랫동안 접근되지 않은 것부터 제거. (LRU 간소화 버전. R, M 비트 활용)
2. 중급
페이지 폴트는 가져오기 정책에서 어떤 정책에 더 많이 발생하나요?
더보기
- 요구 페이징
- 페이지를 실제 접근하는 순간 메모리에 없음
- ➡️ 접근 시마다 페이지 폴트 접근 가능
페이지 부재가 발생하면 운영체제는 어떤 과정을 거치나요?
더보기
- 메모리 공간을 마련하기 위해 사용중인 메모리 공간중에서 스왑함
3. 고급 (꼬리질문)
요구 페이징이 가능한 이유를 지역성과 연결해서 설명해주세요
더보기
- 지역성에 근거하여 현재 접근한 데이터는 앞으로도 사용될 가능성이 높음
- ➡️ 모든 페이지를 미리 올리지 않고, 실제 참조되는 시점에만 페이지를 로드해도 효율적인 실행이 가능함
순차적 지역성은 어떤 상황에서 나타나나요?
더보기
- 데이터를 순서대로 접근하는 코드 구조
- ✅ 행렬 2중 반복문, 문자열 등
지역성이 왜 캐시 메모리 설계의 핵심이 되는건가요?
더보기
- 캐싱은 자주 사용될 가능성이 높은 데이터를 빠른 저장장치에 보관하여 성능을 높이는 구조
- 지역성은 앞으로 어떤 데이터를 접근할 지에 대한 성질
- ➡️ 캐시가 어떤 데이터를 유지해야 할지 판단하는 근거가 됨