높은 기억력
High memory높은 메모리는 운영 체제 커널의 페이지 테이블에 의해 직접 매핑되지 않는 컴퓨터의 물리적 메모리의 부분이다.이 구절은 고메모리 영역의 속기로 쓰이기도 하는데, 이것은 완전히 다른 개념이다.
Linux와 같은 일부 운영 체제 커널은 가상 주소 공간을 두 영역으로 나누어 사용자 공간에 더 큰 공간을, 커널에 더 작은 공간을 할애한다.현재 32비트 x86 시스템에서는 일반적으로(구성 가능한 옵션이기 때문에 그럴 필요는 없지만) 4GB 주소 공간의 3GB/1GB 분할 형식을 취하므로 커널 가상 주소는 0xC0000000에서 시작하여 0xFFFFFF로 이동한다.하부 896MB(0xC0000000 ~ 0xF7)FFFFF는 커널 물리적 주소 공간에 직접 매핑되며, 나머지 128MB는 커널이 요구하면 0xF800000000부터 0xFFFFF까지 사용되어 높은 메모리에 매핑된다.사용자 모드에서 번역은 첫 번째 영역에만 유효하므로 커널을 사용자 프로그램으로부터 보호하지만 커널 모드에서는 두 영역 모두에 대해 번역이 효과적이므로 커널에 프로세스의 버퍼(프로세스의 매핑)를 참조할 수 있는 쉬운 방법을 제공한다.[1]
그러나 사용자 공간 변환이 아직 제공되지 않은 물리적 메모리를 커널이 참조할 필요가 있다면 사용할 가상 메모리는 1GB(예:)에 불과하다.물리적 메모리가 많은 컴퓨터에서는 커널이 직접 참조할 수 없는 메모리가 존재한다는 것을 의미할 수 있다. 이를 하이 메모리라고 한다.커널이 높은 메모리를 다루고자 할 때 즉석에서 매핑을 만들고, 실행되면 매핑을 파기해 성능 저하를 초래한다.
참고 항목
- PAE(물리적 주소 확장)