필요한 이유

리눅스 운영체제를 기준으로는 하나의 프로세스는 4GB이다. 하지만 통상적으로 우리가 사용하는 컴퓨터의 메모리는 8GB / 16GB이다. 그렇다면 프로세스를 2개 혹은 4개뿐이 동시에 실행할 수 없는 것일까? 그렇지 않다. 가상메모리를 이용한다면 각각의 4GB 프로세스에서 필요한 부분만을 사용할 수 있다. 그림을 보면서 이해해보자!

스크린샷 2021-09-25 오후 6.31.58.png

3개의 프로세스를 진행하면서 우리는 12GB의 모든 부분이 필요한 것이 아니다. 따라서 우리가 정말로 필요한 부분의 메모리 부분들만 실제 메모리에 올려서 사용하는 것이다.

용어 정리

  1. 가상 주소 : 프로세스가 참조하는 주소. 가상 주소라는 점에서 실제 물리 메모리의 주소가 아니라는 것을 주의해야한다.
  2. 물리 주소 : 실제 물리 메모리의 주소.
  3. MMU : CPU에 코드 실행시, 가상 주소 메모리 접근이 필요할 때, 해당 가상 주소와 매칭이 되어 있는 물리 주소값으로 변환해주는 하드웨어 장치.
  4. TLB : MMU에서 메모리에 들려서 정보를 가져오는 시간도 너무 오래 걸리는 탓에 캐싱을 전문적으로 한다.

Untitled

페이징 시스템

Untitled