OS Memory
Source
Evernote/IFTTT Feedly/OS Memory.md
Summary
이 문서는 운영체제의 메모리 계층 구조와 성능 최적화 기법을 개괄한다. CPU와 DRAM 간 속도 격차를 해소하기 위한 캐시 메모리의 역할, 참조 지역성(Locality of reference)의 중요성, 그리고 캐시 시스템의 핵심 구성 요소(크기, 블록 크기, 매핑 함수, 교체 알고리즘(LRU), 쓰기 정책)를 설명한다. 또한 디스크 캐시와 프로그래밍된 I/O에 대한 언급이 포함되어 있다.
Key Points
- 메모리 계층: 참조 지역성(Locality of reference)은 동일한 또는 관련 스토리지 위치가 자주 액세스되는 특성을 의미한다.
- Secondary Memory: 비휘발성 보조 메모리로 프로그램 및 데이터(파일) 보관에 사용된다.
- Cache Memory: CPU와 메모리 간 속도 차이를 보완하기 위해 메인 메모리의 일부를 저장하고, 프로세서가 먼저 확인하는 장치이다.
- Cache/Main Memory System 구성 요소:
-
- Cache Size: 일반적으로 작을수록 성능이 좋다.
-
- Block Size: 캐시와 메모리 간 데이터 교환 단위이며, 블록이 클수록 지역성이 증가한다.
-
- Mapping Function: 메모리의 특정 부분을 캐시에 매핑하는 함수.
-
- Replacement Algorithm: 캐시 블록 교체 알고리즘으로 LRU(Least-Recently-Used)가 널리 사용된다.
-
- Write Policy: 캐시 데이터를 메모리에 기록하는 정책(항상 업데이트 또는 교체 시 업데이트).
- Disk Cache: 메인 메모리의 일부를 버퍼로 사용하여 디스크 데이터를 임시 저장하고, 클러스터 단위로 기록하며 재참조 시 신속한 검색을 지원한다.