캐시 기법

정경훈·2025년 4월 14일

CS

목록 보기
3/4

운영체제(OS)에서 캐시 기법은 데이터 접근 속도를 높이기 위해 자주 사용하는 데이터를 빠른 저장소에 임시로 보관하는 전략입니다. 캐시는 CPU와 메모리 사이뿐만 아니라, 다양한 시스템 구성 요소 간의 병목(bottleneck)을 줄이기 위해 사용됩니다.

목적

느린 저장장치의 접근 없이 빠르게 데이터를 얻기 위함

위치

CPU 내부 캐시(L1, L2, L3), 디스크 캐시, TLB 캐시 등..

원리

지역성(Locality) 개념을 기반으로 작동

효과

전체 시스템 성능 향상, I/O 시간 단축

✅ 지역성(Locality) 종류

시간 지역성 (Temporal Locality)
→ 최근에 접근한 데이터는 곧 다시 사용될 가능성이 높음
예: 반복문 내 변수 참조

공간 지역성 (Spatial Locality)
→ 한 번 접근한 주소 근처의 데이터도 곧 접근될 가능성이 높음
예: 배열 순차 접근

캐시 종류

CPU 캐시

L1/L2/L3 캐시. CPU → 메인 메모리 접근을 빠르게

페이지 테이블 캐시(TLB)

자주 사용하는 페이지 번호 ↔ 프레임 번호를 캐싱

디스크 캐시 (Buffer Cache)

디스크 I/O를 줄이기 위해 최근 읽은 블록을 RAM에 저장

파일 시스템 캐시 (Page Cache)

파일 내용을 메모리에 캐시하여 디스크 접근 최소화

캐시 미스 종류

Cold Miss (Compulsory)

처음 사용하는 데이터

Capacity Miss

캐시 용량 부족으로 대체된 경우

Conflict Miss

같은 캐시 위치에 여러 데이터가 매핑되는 경우 (연관도 부족)

캐시 갱신 정책

LRU (Least Recently Used)

가장 오래 사용하지 않은 항목을 제거

FIFO (First-In First-Out)

가장 먼저 들어온 항목을 제거

LFU (Least Frequently Used)

가장 적게 참조된 항목 제거

Random

무작위로 항목 제거

profile
뉴비 개발자...가 되고싶다..

0개의 댓글