OS #25 가상메모리 개념

underlier12·2020년 4월 6일
0

OS

목록 보기
25/35

25. 가상메모리 개념

Virtual Memory System

실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기의 한계가 있다. 리눅스의 경우 하나의 프로세스 마다 4GB를 필요로 하나 통상 메모리는 8~16GB이다.

폰 노이만 구조이므로 코드는 메모리에 반드시 있어야 한다.

가상메모리가 필요한 이유

하나의 프로세스만 실행하는 배치 처리 시스템에서는 문제가 없었지만 여러 프로세스를 동시에 실행하는 시스템에서는 메모리 용량 부족 이슈가 있으며 프로세스 메모리 영역 간 침범 이슈가 있기 때문

가상메모리 기술

결국 가상 메모리를 메모리가 실제 메모리보다 많아 보이는 것이며 실제 사용되는 메모리는 적다는 점에 착안 되었다. 프로세스 간 공간 분리로 프로세스 이슈가 전체 시스템에 영향을 주지 않을 수 있다.

가상메모리와 MMU

프로세스는 가상 주소를 사용하고 실제 해당 주소에서 읽고 쓸 때만 물리 주소로 바꿔주면 된다.

  • virtual address : 프로세스가 참조하는 주소
  • physical address : 실제 메모리 주소

이 작업을 Memory Management Unit에서 담당하며 가상주소값을 물리주소값으로 변환해주는 하드웨어 장치이다.

하드웨어 장치를 이용해야 주소 변환이 빠르기 때문에 별도 장치를 사용

profile
logos and alogos

0개의 댓글