운영체제(OS)에서 캐시 기법은 데이터 접근 속도를 높이기 위해 자주 사용하는 데이터를 빠른 저장소에 임시로 보관하는 전략입니다. 캐시는 CPU와 메모리 사이뿐만 아니라, 다양한 시스템 구성 요소 간의 병목(bottleneck)을 줄이기 위해 사용됩니다.
느린 저장장치의 접근 없이 빠르게 데이터를 얻기 위함
CPU 내부 캐시(L1, L2, L3), 디스크 캐시, TLB 캐시 등..
지역성(Locality) 개념을 기반으로 작동
전체 시스템 성능 향상, I/O 시간 단축
시간 지역성 (Temporal Locality)
→ 최근에 접근한 데이터는 곧 다시 사용될 가능성이 높음
예: 반복문 내 변수 참조
공간 지역성 (Spatial Locality)
→ 한 번 접근한 주소 근처의 데이터도 곧 접근될 가능성이 높음
예: 배열 순차 접근
L1/L2/L3 캐시. CPU → 메인 메모리 접근을 빠르게
자주 사용하는 페이지 번호 ↔ 프레임 번호를 캐싱
디스크 I/O를 줄이기 위해 최근 읽은 블록을 RAM에 저장
파일 내용을 메모리에 캐시하여 디스크 접근 최소화
처음 사용하는 데이터
캐시 용량 부족으로 대체된 경우
같은 캐시 위치에 여러 데이터가 매핑되는 경우 (연관도 부족)
가장 오래 사용하지 않은 항목을 제거
가장 먼저 들어온 항목을 제거
가장 적게 참조된 항목 제거
무작위로 항목 제거