결과적으로 메모리에 작은 양의 주소 공간만 있으면 충분히 프로세스를 수행할 수 있고,
그에 따라 더 많은 프로그램을 동시에 실행할 수 있게 된다.
가상 메모리는 실제 메모리(RAM)와 보조 기억 장치의 Swap 영역으로 구성되며, OS는 메모리 관리자(MMU)를 통해 메모리 관리하며 프로세스는 사용하는 메모리가 실제 메모리인지 Swap의 영역인지는 알 수 없음.
만약 Swap 영역을 잡아주지 않는다면 'OOM'이 발생할 수 있다.
-> Swap은 실제 메모리가 아니다. 이 때문에 지연시간이 발생하여 가급적이면 Swap 메모리를 쓰지 않는게 좋으며 쓰더라도 양이 증가한다면 '메모리 누수'를 의심해볼만 하다.
자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공
원하는 데이터가 캐시에 존재하지 않을 경우 DBMS 또는 서버에 요청을 해야한다(Cache Miss).
- 왜?
캐시는 저장공간이 작기 때문에, 지속적으로 Cache Miss가 발생하는 데이터의 경우 캐시 전략에 따라서 저장중인 데이터를 변경해야 한다.
위의 표는 20%의 요구가 시스템의 리소스의 대부분을 사용한다는 법칙을 그래프로 나타낸 Long Tail 법칙 그래프이다.
그러므로 20% 기능에 Cache를 이용하여 리소스의 사용량은 줄이되, 성능을 향상시킬 수 있다.
¹시간 지역성과 ²공간 지역성으로 나뉜다
PCB: 프로세스 제어 블록, 프로세스에 대한 중요한 정보를 저장합니다.
PC: 프로그램 카운터, 프로세스 실행을 위한 다음 명령의 주소를 표시합니다.
캐시메모리: 자주 사용되는 데이터가 저장되는 공간으로 CPU의 레지스터와 메모리 사이에서 병목 현상을 완화하는 장치