본문 바로가기

Computer Science

운영체제 - 가상메모리

 

 

 

 

가상 메모리란?

   - 메모리가 실제 메모리보다 많아 보이게 하는 기술입니다.

   - 프로세스가 실제로 사용하는 메모리는 작다는 점에 착안해서 고안된 기술입니다.

   - 실제 프로세스에서 사용하는 메모리만 제공하고, 나머지 공간은 가상 주소만 제공합니다.

      - 이때, 프로세스간 공간 분리로, 프로세스 이슈가 전체 시스템에 영향을 주지 않습니다.

 

   - 배치 처리 시스템에서는 가상메모리가 필요하지 않습니다.

      : 프로세스 로드 - 실행 - 종료 의 과정을 통해 메모리를 다시 반환받고, 반환받은 뒤 로드하기 때문입니다.

   - 여러 프로세스를 동시 실행하는 시스템에서 사용하게 됩니다.

      : 컴퓨터의 메모리에는 한계가 존재합니다. : 통상 RAM용량은 8GB에서 16GM

      : 수십개의 프로세스를 할당하기에는 메모리 한계가 존재합니다.

 

 

 

 

 

가상 메모리 구성

   - 프로세스에는 가상 주소를 주고, 실제 데이터를 읽고 쓸때만 물리주소로 매핑하여 바꿔줍니다.

   - 가상 주소 : 프로세스가 참조하는 주소

   - 물리 주소 : 실제 메모리 주소

 

   - MMU (Memory Management Unit)

      : 가상주소를 물리주소로 변환해주는 하드웨어 장치입니다.

      : CPU에 코드 실행 시, 가상메모리 접근이 필요할 때, 해당 주소를 물리 주소값으로 변환해줍니다.

      : 물리적인 하드웨어 장치를 이용해야 빠르기 때문에 별도 장치를 둡니다.