캐시 (Cache)
Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”캐시는 정보가 사용될 때 더 빠른 저장 시스템에 임시로 복사하여, 필요한 정보를 먼저 캐시에서 확인하고 있으면 직접 사용하는 컴퓨터 시스템의 중요한 원리이다.
동작 원리
섹션 제목: “동작 원리”- 정보가 필요할 때 먼저 캐시에 있는지 확인
- 캐시 히트: 캐시에 있으면 캐시에서 직접 정보 사용
- 캐시 미스: 캐시에 없으면 소스에서 정보 사용하고, 곧 다시 필요할 것이라는 가정 하에 캐시에 복사
캐시 유형
섹션 제목: “캐시 유형”| 캐시 유형 | 설명 | 관리자 |
|---|---|---|
| 레지스터 | 주 메모리를 위한 고속 캐시 제공 | 컴파일러 |
| 명령어 캐시 | 다음에 실행될 것으로 예상되는 명령어 보관 | 하드웨어 |
| 데이터 캐시 | 메모리 계층구조 내 고속 데이터 캐시 | 하드웨어 |
캐시 특성
섹션 제목: “캐시 특성”| 레벨 | 이름 | 일반적 크기 | 접근 시간(ns) | 관리자 |
|---|---|---|---|---|
| 1 | 레지스터 | < 1KB | 0.25-0.5 | 컴파일러 |
| 2 | 캐시 | < 16MB | 0.5-25 | 하드웨어 |
| 3 | 주 메모리 | < 64GB | 80-250 | 운영체제 |
캐시 관리
섹션 제목: “캐시 관리”캐시는 크기가 제한되어 있으므로 캐시 관리는 중요한 설계 문제:
- 캐시 크기와 교체 정책(replacement policy)의 신중한 선택이 성능을 크게 향상시킬 수 있음
- 저장 계층 간 정보 이동:
- 캐시 → CPU/레지스터: 보통 하드웨어 기능 (OS 개입 없음)
- 디스크 → 메모리: 보통 운영체제가 제어
Buffer Cache (I/O 관점)
섹션 제목: “Buffer Cache (I/O 관점)”디스크 데이터를 메인 메모리에 캐싱:
- 파일 I/O 요청 시 커널이 먼저 버퍼 캐시 확인
- 캐시 히트 시 물리적 디스크 I/O 회피 가능
- 쓰기 요청은 버퍼에 수 초간 축적 후 일괄 디스크 기록 (delayed write)
Buffer vs Cache 핵심 차이
섹션 제목: “Buffer vs Cache 핵심 차이”| 구분 | 설명 |
|---|---|
| Buffer | 유일한 데이터 복사본일 수 있음 |
| Cache | 정의상 다른 곳에 원본이 반드시 존재 |
예시: 정수 A 증가 시키기
섹션 제목: “예시: 정수 A 증가 시키기”디스크의 파일 B에 있는 정수 A를 1 증가시키려면:
- A가 있는 디스크 블록을 주 메모리로 복사하는 I/O 연산 발행
- A를 캐시로, 그 다음 내부 레지스터로 복사
- 내부 레지스터에서 증가 연산 수행
- 새 값이 하드 디스크에 다시 쓰여질 때만 모든 저장 시스템에서 A 값이 동일해짐
관련 개념
섹션 제목: “관련 개념”- 캐시 일관성 (Cache Coherency) - 멀티프로세서 환경에서 캐시 간 데이터 일관성을 유지하는 문제
- 저장장치 계층구조 - 캐시가 위치하는 전체 저장장치 계층 구조
- 버퍼링 (Buffering) - 캐시와 혼동되기 쉬운 임시 저장 기법으로, 목적과 사용 패턴이 다름
- UNIX 블록 버퍼 캐시 - 디스크 블록을 메모리에 캐싱하는 커널 메커니즘의 구체적 구현
- Operating System Concepts, 10th Edition, Chapter 1, p.30-32