더 나은 세상

ARM page table 본문

컴퓨터 프로그래밍

ARM page table

leemark 2019. 4. 5. 11:09

ARM은 2가지 타입의 descriptor가 있다 : block, table (정확히는 page를 가리키는 descriptor도 있다.)

page size : 4KB, 16KB, 64KB

page table에 있는 descriptor(entry)는 다음 level page table뿐만 아니라 access attribute(속성)도 가지고 있다.

XN bit : 그 메모리가 실행될 수 있는지

PXN bit : 메모리의 코드가 커넒모드에서 실행될 수 있는지

AP 2bits : read/write permission결정

AP가 01이면 커널모드와 유저모드에서 모두 접근가능하다.

그 메모리 영역은 커널영역일 수도 있고 유저영역일 수도 있다.

그래서 01이면 모든 app이 커널 address에 접근가능하다. 원래는 app이 kernel영역을 볼 수 없어야 한다.

 

kernel영역의 code segment access attribute는 R-X이고 data segment access attribute는 RW-이다.

 

 

3-level page table

supersection : 16MB 

section : 1MB 

-------

large page : 64KB

small page : 4KB 

 

 

table은 일반적으로 생각하는 page table이고

block은 직빵으로 큰 영역을 physical memory로 바꿈

 

 

'컴퓨터 프로그래밍' 카테고리의 다른 글

ARM Trustzone  (0) 2022.01.13
[윈도우 프로그래밍]  (0) 2022.01.13
CVE-11176(3)  (0) 2019.03.31
CVE-11176(2)  (0) 2019.03.31
CVE-11176(1)  (0) 2019.03.30