2017-02-17 2 views
0

X86-64 아키텍처의 4 레벨 페이지 레이아웃에 대해 혼란 스럽습니다. 리눅스 소스 코드 구현, 그들은 사용 PGD (페이지 전역 디렉토리) -> PUD (페이지 상단 디렉토리) -> PMD (페이지 중간 디렉토리) -> 그러나 PTE페이지 매핑 레이아웃

, 나는 또한 발견 X86 아키텍처 이리저리 또 다른 4 수준의 페이지 레이아웃 : PML4 (L4) -> PDP (L3) -> PD (L2) -> PTE (L1)는

그래서, 사람이 차이를 알고있다 이 두 페이지 레이아웃 사이에? PML4를 PGD와 동일한 구성 요소로 간주 할 수 있습니까? 그렇다면 CR3 (PDBR)은 실제로 PGD에 대한 주소를 포함하고 있습니까?

자세한 답변을드립니다. 미리 감사드립니다!

+0

두 세트의 이름 (가능한 경우 정확한 링크)은 어디에서 찾을 수 있습니까? 아마도 리눅스는 이름의 대체 또는 비트 아키텍처 중립적 변종을 사용합니다. – osgx

+0

의견을 보내 주셔서 감사합니다. 나는 내 혼란을 알아 냈다. (해답에 설명되어있다.) –

답변

0

나는 여기에 내 자신의 질문에 대답하고있다 :

멀티 레벨 페이지 테이블 구조는 현대 아키텍처에서 매우 일반적이다. 4 레벨 페이징 레이아웃을 설명하는 일반 용어는 널리 사용되는 일반 용어 인 PGD-PUD-PMD-PTE입니다. Linux 시스템 소스 코드는 실제로 이러한 용어를 사용하여 페이징 구조를 정의합니다.

그러나 Intel은 자체 용어를 사용합니다. PML4 (L4) - PDP (L3) - PD (L2) - PTE (L1).

이 두 아이디어는 동일합니다.