이번에는 다음 그림을 통해 가상 주소와 물리 주소 공간이 어떻게 구성됐는지 알아봅시다. 그리고 가상 주소를 물리 주소로 변환하는 변환 테이블에 대해서도 배워 봅시다.

 

 

 

그림 19.5 소프트웨어 관점에서 가상 주소 공간과 물리 주소 공간

 

그림의 왼쪽 부분부터 봅시다. 왼쪽 부분은 소프트웨어 관점에서 가상 주소 공간을 나타냅니다. 가상 주소에는 각각 영역별로 특정 속성을 지닌 코드와 데이터가 존재합니다. 소프트웨어를 실행하는 주인공인 프로세스는 가상 주소 공간에서 실행됩니다.

 

프로세스가 가상 주소 공간에서 어떤 명령어를 실행하면 메모리에 위치한 변환 테이블에 접근합니다. 이는 그림의 가운데 부분에 해당됩니다. 변환 테이블에 의해 가상 주소는 물리 주소 공간에 접근합니다.

 

여기서 가운데 존재하는 '변환 테이블' 동적으로 업데이트되며, 운영체제에서 실행되는 프로세스마다 각자의 '변환 테이블' 갖게 됩니다. 프로세스마다 가상 주소를 물리 주소로 변환할 있는 '변환 테이블' 있다는 것은 각각 프로세스마다 독립적인 가상 주소 공간에서 실행될 있다고 있습니다.

 

이렇게 해서 전체 그림을 보면서 운영체제와 메모리 구조 관점에서 메모리 매니지먼트가 무엇인지 알아봤습니다. 가상 주소와 물리 주소 공간이 존재할 있게 Arm 아키텍처에서는 MMU 제공하며, 이를 활용해 가상 메모리를 관리합니다. 이어지는 절에서 MMU 대해 자세히 알아봅시다.

+ Recent posts