32비트 ARM에서의 user space vs kernel space

user space 크기 선택

커널을 빌드시 3가지의 VMSPLIT 옵션에 따라 user space가 달라진다.

  • 주로 PC 리눅스에서는 3G 옵션을 사용하고,
  • 임베디드 리눅스에서는 3G 또는 2G 옵션을 사용한다.
  • 1G 옵션은 거의 사용되지 않는다.

user space를 크게할 때의 장단점

  • 장점: 사용자 application에서 사용할 수 있는 가상 메모리 공간이 더 커진다.
  • 단점: NORMAL ZONE의 공간이 작아 HIMEM ZONE의 사용이 많아져 메모리 access의 속도가 저하된다.

vmsplit

 

메모리 공간 할당은 아래 두 시스템에서 추가적으로 이해가 필요하지만 32bit ARM만 이해하기로 한다.

  • 32bit ARM with LPAE
  • 64bit ARM

 

¹) NORMAL ZONE: kernel space에 존재하며, 물리 메모리의 direct 매핑이 가능한 영역.

²) HIMEM ZONE: kernel space에는 선택한 일부 공간만 존재하며, 물리 메모리의 direct 매핑을 할 수 없어 반드시 일부를 선택하여 사용할 수 있다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.