기억장치 계층 구조
- 기억장치는 레지스터, 캐시 기억장치, 주기억장치, 보조기억장치로 분류할 수 있다.
- 레지스터, 캐시 기억장치, 주기억장치의 프로그램과 데이터는 CPU가 직접 접근할 수 있으나, 보조기억장치에 있는 프로그램이나 데이터는 직접 접근할 수 없다.
- 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 접근될 수 있다.
기억장치 관리
기억장치 관리 전략
은 보조기억장치의 프로그램이나 데이터를 주 기억장치(RAM)에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 반입(Fetch)전략
, 배치(Placement)전략
, 교체(Replacement)전략
이 있다.
✅ 반입전략 (Fetch)
반입전략
은 보조기억장치에 보관중인 데이터를 언제 주기억장치로 적재할 것인지를 결정한다.
✅ 배치전략 (Placement)
배치전략
은 새로 반입되는 데이터를 주기억장치 어디에 위치시킬 것인지 결정한다.
교체전략 종류
최초적합(First Fit)
: 빈 영역 중에서 첫 번째 영역에 배치시키는 방법
최적적합(Best Fit)
: 빈 영역 중에서 (내부)단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
최악적합(Wort Fit)
: 빈 영역 중에서 (내부)단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
✅ 교체전략 (Replacement)
교체전략
은 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 데이터를 주기억장치에 배치하려고 할 때, 어느 영역을 교체하여 사용할 것인지를 결정한다.
교체전략 종류
- 예시로, Java에서 유효하지 않은 메모리를 관리해주는
Garbage Collector
를 생각해볼 수 있다.