개발일기

캐시와 메모리 할당 본문

cs

캐시와 메모리 할당

황대성 2023. 8. 21. 22:16

1. 캐시

- 데이터를 미리 복사해 놓는 임시 저장소

- 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리

- 데이터 접근에 오래 걸리는 경우를 해결하고 다시 계산하는 시간을 절약

- 즉, 캐시는 계층과 계층 사이에서 속도차이를 해결하기 위한 임시 저장소이다.

 

 지역성의 원리

- 최근 사용한 데이터나 최근 접근한 데이터를 이루고 있는 공간, 그 가까운 공간에 접근하는 특성

 

 

2 메모리 할당

연속할당

고정 분할 방식

- 메모리를 미리 나누어서 관리하는 방식

내부 단편화 발생
- 메모리를 나눈 크기보다 프로그램이 작아서 들어가지 못하는 공간이 많이 발생하는 현상

가변 분할 방식

- 매 시점 프로그램의 크기에 맞게 동적으로 메모리를 나눠 사용하는 방식

외부 단편화 발생
- 메모리를 나눈 크기보다 프로그램이 작아서 들어가지 못하는 공간이 많이 발생하는 현상

 

불연속 할당

- 메모리를 동일한 크기의 페이지로 나누고 프로그램마다 페이지 테이블을 두어 이를 통해 멤리에 프로그램을 할당

- 페이징,세그멘테이션,페이지드 세크멘테이션 기법이 존재한다.

 

1 페이징

- 동일한 크기의 페이지 단위 나누어 메모리의 서로 다른 위치에 프로세스를 할당한다

2 세그멘테이션

- 의미 단위인 세그먼트로 나누는 방식이며 코드와 데이터 등을 기반으로 나눌 수 있고, 함수 단위로 나눌 수도 있다

3 페이지드 세그멘테이션

- 공유나 보안은 세그먼트로 나누고 물리적 메모리는 페이지로 나누는 방식