Computer Science/Operating System

가상 메모리(Virtual Memory System)

DongHo 2023. 5. 14. 04:01

가상 메모리(Virtual Memory System)

한정된 크기의 물리 메모리 안에서 최대한 많은 프로세스를 할당하여 효율적으로 사용하기위해 만들어진 메모리입니다.
즉, 보조 기억장치를 주 기억장치처럼 사용할 수 있는 것과 같습니다.
(이를 통해, 대용량의 프로그램이 물리 메모리의 크기를 초과하여도 얼마든지 실행이 가능한 이유이다.)

 

 

가상 메모리(Virtual Memory)의 장점

1. 많은 프로그램을 동시에 실행할 수 있습니다.
2. 실제 물리 메모리의 크기에 영향을 받지 않습니다.
3. 프로세스의 일부분만 Swap하게 처라하므로써 입출력 오버헤드가 감소합니다.

가상 메모리의 크기

 

 

메모리 관리 유닛(MMU(Memory Management Unit))

CPU에 코드 실행시, 가상 주소 메모리 접근이 필요한 경우, 해당 주소를 물리 주소값으로 변환해주는 하드웨어 장치입니다.
(가상 주소, 물리 주소 사이를 맵핑 해주는 것이다.)

 

 

 

가져오기 정책 프로세스가 필요로 하는 데이터를 언제 메모리로 가져올지 결정합니다.
프로세스가 요청할 때 메모리로 가져오는 것이 일반적입니다.
배치 정책 가져온 프로세스를 메모리의 어떤 위치에 올려놓을지 결정합니다.
메모리를 같은 크기로 자르는 것 == Paging
메모리를 프로세스의 크기에 맞게 자르는 것 == Segmentation
재배치 정책 메모리가 꽉 차있는 경우 메모리 내에서 어떤 프로세스를 내보낼지를 결정합니다.
시스템의 성능을 고려하여 다양한 교체 알고리즘을 시행합니다.