[Windows Via C/C++][13장] Page, Block, Region, Partition

Page와 Block과 Region, 그리고 Partition의 용어가 헷갈려서 정리를 해놓는다.

Virtual Address Space : Process가 사용할 수 있는 가상적인 주소 공간.
Partion : 프로세스의 가상 주소 공간을 분할시킨 것 (윈도우에서 가상 주소 공간은 4개로 분할된다 - NULL포인트 할당, 유저 모드, 64KB접근금지, 커널모드)
Region : VirtualAlloc을 통해 reserve혹은 commit된 가상 주소 공간. 혹은 연속된 free상태의 페이지들의 집합.
Block : 동일한 보호 특성을 가지고 동일한 형태의 물리적 저장소에 매핑된 연속된 페이지들의 집합 (동일한 보호 특성, 상태, 페이지 형태를 가진 인접하는 모든 페이지들의 집합)
Page : 가상 주소 공간을 일정한 크기로 나눈 것 (x86, x64에서 4KB, IA-64에서는 8KB이다..)

즉, 윈도우의 Virtual Address Space는 4개의 Partion으로 구분되고 각각의 Partion은 여러개의 Region으로 구분된다. 그리고 Region은 또 여러개의 Block으로 구분할 수 있고, 각각의 Block은 하나이상의 Page들로 이루어지게 된다.

댓글