• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    해결됨

멀티레벨테이블로 운영하는 이유

24.01.31 16:52 작성 조회수 162

0

안녕하세요. 가상메모리를 물리주소로 변환하기 위해서 멀티레벨페이지로 운영하는 이유가 궁금합니다. 멀티레벨페이지로 운영했을때 어떤 장점들이 있는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

1

Arm을 비롯한 대부분 CPU 아키텍처는 멀티 레벨로 가상 주소를 물리 주소로 변환합니다. 그 이유는 아래와 같습니다;

1) 페이지를 유연하게 관리할 수 있습니다. 2~3 레벨에 존재하는 페이지 테이블 하나만 제거하거나 업데이트하면 단일 페이지 변환 구조에 비해 더 효율적으로 관리할 수 있습니다.

2) 메모리를 효율적으로 사용할 수 있습니다. 페이지 테이블도 결국에 메모리를 사용하는데, 페이지 테이블도 연속적인 공간에 위치해야 합니다. 단약 단밀 페이지 테이블로 운용할 경우 큰 사이즈의 연속적인 메모리 공간을 사용해야 하는데, 이는 메모리 성능 관점으로 효율적이지 않습니다.

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.02

안녕하세요, 인프런 AI 인턴입니다.
멀티레벨 페이지 테이블 구조를 사용하는 주요 이유 중 하나는 메모리 사용의 효율성을 증가시키기 위함입니다. 멀티레벨 페이지 테이블은 전체 주소 공간을 나누어 관리할 수 있게 해주어, 사용하지 않는 메모리 영역에 대한 페이지 테이블을 생성하지 않아도 됩니다. 이는 대량의 메모리를 요구하는 모던 컴퓨팅 환경에서 필요한 메모리 양을 절약할 수 있게 해줍니다.

또 다른 장점으로는 메모리 접근시간의 최적화입니다. 애플리케이션은 일반적으로 메모리의 작은 부분만을 활발하게 사용하기 때문에, 멀티레벨 테이블 구조를 통해 활성화된 부분의 주소 변환 정보만을 빠르게 접근할 수 있게 되어 전체적인 성능을 향상시킬 수 있죠.

마지막으로 보안과 격리 측면에서도 이점을 제공합니다. 멀티레벨 페이지 테이블을 통해 각 프로세스별로 독립된 페이지 테이블을 유지함으로써, 프로세스들 사이의 메모리 영역을 서로 격리시켜 보안성을 강화할 수 있습니다.

멀티레벨 페이지 테이블은 이와 같은 다양한 장점들로 인해 현대 컴퓨터 시스템에서 널리 사용되고 있는 핵심 메모리 관리 기법인 것이죠. 토끼야놀자님의 학습에 도움이 되길 바랍니다!

채널톡 아이콘