📘 3.2 메모리
3.2.1 메모리 계층
- 레지스터: CPU 내부, 가장 빠르지만 용량 적음, 휘발성.
- 캐시 (L1/L2/L3): CPU와 메모리 속도 차이를 줄이는 임시 저장소.
- RAM (주기억장치): 속도 보통, 휘발성, 용량 중간.
- 보조기억장치 (HDD/SSD): 비휘발성, 속도 느림, 용량 큼.
👉 계층이 위로 갈수록 속도↑, 용량↓, 가격↑
캐시와 지역성
- 캐시(Cache): 빠른 장치(상위계층)와 느린 장치(하위계층) 사이 병목을 줄이는 임시 저장소.
- 지역성(Locality)
- 자주 사용하는 데이터를 캐시설정해야함
- 시간 지역성: 최근 사용한 데이터 반복 접근 (예: 반복문 변수).
- 공간 지역성: 인접 데이터 연속 접근 (예: 배열 요소).
- 캐시 히트(Cache Hit): 캐시에 데이터 있음 → 빠름.
- 캐시 미스(Cache Miss): 캐시에 없음 → RAM에서 가져옴 → 느림.
- 캐시 매핑 방식
- 직접 매핑: 빠르지만 충돌 잦음.
- 연관 매핑: 충돌 적지만 탐색 느림.
- 집합 연관 매핑: 두 방식 절충, 효율적.
소프트웨어 캐시
- 웹 브라우저 캐시
- 쿠키: 만료기한 있는 키-값 저장소 (4KB 제한).
- 로컬 스토리지: 만료 없음, 5MB 저장, 브라우저 닫아도 유지. 클라이언트에서만 수정 가능
- 세션 스토리지: 탭 단위, 브라우저 닫으면 삭제, 5MB 저장. 클라이언트에서만 수정 가능
- 데이터베이스 캐시
- Redis 같은 캐싱 계층을 두어 성능 향상.
3.2.2 메모리 관리(운영체제의 업무)