멀티레벨테이블로 운영하는 이유
안녕하세요. 가상메모리를 물리주소로 변환하기 위해서 멀티레벨페이지로 운영하는 이유가 궁금합니다. 멀티레벨페이지로 운영했을때 어떤 장점들이 있는지 궁금합니다.
답변 2
1
Arm을 비롯한 대부분 CPU 아키텍처는 멀티 레벨로 가상 주소를 물리 주소로 변환합니다. 그 이유는 아래와 같습니다;
1) 페이지를 유연하게 관리할 수 있습니다. 2~3 레벨에 존재하는 페이지 테이블 하나만 제거하거나 업데이트하면 단일 페이지 변환 구조에 비해 더 효율적으로 관리할 수 있습니다.
2) 메모리를 효율적으로 사용할 수 있습니다. 페이지 테이블도 결국에 메모리를 사용하는데, 페이지 테이블도 연속적인 공간에 위치해야 합니다. 단약 단밀 페이지 테이블로 운용할 경우 큰 사이즈의 연속적인 메모리 공간을 사용해야 하는데, 이는 메모리 성능 관점으로 효율적이지 않습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
멀티레벨 페이지 테이블 구조를 사용하는 주요 이유 중 하나는 메모리 사용의 효율성을 증가시키기 위함입니다. 멀티레벨 페이지 테이블은 전체 주소 공간을 나누어 관리할 수 있게 해주어, 사용하지 않는 메모리 영역에 대한 페이지 테이블을 생성하지 않아도 됩니다. 이는 대량의 메모리를 요구하는 모던 컴퓨팅 환경에서 필요한 메모리 양을 절약할 수 있게 해줍니다.
또 다른 장점으로는 메모리 접근시간의 최적화입니다. 애플리케이션은 일반적으로 메모리의 작은 부분만을 활발하게 사용하기 때문에, 멀티레벨 테이블 구조를 통해 활성화된 부분의 주소 변환 정보만을 빠르게 접근할 수 있게 되어 전체적인 성능을 향상시킬 수 있죠.
마지막으로 보안과 격리 측면에서도 이점을 제공합니다. 멀티레벨 페이지 테이블을 통해 각 프로세스별로 독립된 페이지 테이블을 유지함으로써, 프로세스들 사이의 메모리 영역을 서로 격리시켜 보안성을 강화할 수 있습니다.
멀티레벨 페이지 테이블은 이와 같은 다양한 장점들로 인해 현대 컴퓨터 시스템에서 널리 사용되고 있는 핵심 메모리 관리 기법인 것이죠. 토끼야놀자님의 학습에 도움이 되길 바랍니다!
강의자료 요청
0
39
4
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
46
1
SP와 SP_ELn의 관계
0
80
2
stm32cubeide 관련 문의
0
106
2
5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이
0
91
2
강의 업로드 오류 확인 요청
0
87
2
시스템 소프트웨어 직무 관련 질문드려요
0
119
2
책관련 질문드려요
0
110
2
4.2.1. 실습을 어떻게 진행하는것인가요?
0
90
2
DMA 관련한 강의도 제작해주실 수 있으신가요 ?
0
130
1
3.2.1.4 실습과 관련한 질문
0
99
2
56강 bcm2835-mailbox.c 파일 질문
0
82
2
'drivers/soc/bcm/bcm2835-power.o 에러 입니다.
0
110
3
TRACE 32만을 이용한 출력 Callstack 의 cpu 번호 파악
0
96
1
라즈베리파이5 도 상관없을까요
0
138
1
드라이버 작성 포맷
0
98
2
Arm Architecture 관련 공부
0
76
1
스택에 PUSH되는 PC 값
0
84
2
MMU와 캐시의 관계
0
170
2
실무적인 내용 문의드립니다!
0
106
1
MMU의 Page Table과 관련된 질문이 있습니다.
0
246
2
mmu table 위치
0
174
2
mmu page walk
0
98
2
폴트 설정 비트 필드 질문
0
300
2





