Ch9.2 Address Spaces

suseodd·2021년 6월 9일
0

CSAPP 9. Virtual Memory

목록 보기
3/6

9.2 Address Spaces

주소 공간은 양의 정수 값으로 오름차순 정렬됩니다.

{0, 1, 2, . . .}

주소 공간의 정수들이 연속적으로 있으면 우리는 이를 linear address space라 부릅니다. 기본적으로 주소 공간은 linear address space를 전제로 합니다. 가상 메모리를 제공하는 시스템에서 CPU가 N = 2^n의 주소 공간으로 부터 가상 주소를 만들고 이 가상 주소 공간을 virtual address space라 합니다.

{0, 1, 2, . . ., N - 1}

주소 공간 크기는 가장 큰 주소를 나타내는데 필요한 비트 갯수에 의해 정해집니다. 예를 들어, N = 2^n 주소들을 가진 가상 주소 공간은 n-bit 주소 공간이라 부릅니다. 현대 시스템은 보통 32-bit 또는 64-bit 가상 주소 공간을 지원합니다.

시스템은 또한 시스템 물리 메모리 M 바이트에 상응하는 physical address space를 가집니다.

{0, 1, 2, . . ., M - 1}

M은 2의 제곱일 필요는 없으나, 여기서는 M = 2^m이라고 가정하겠습니다. 주소 공간에 대한 개념은 중요한데 왜냐하면 이것이 data objects (bytes) 와 그들의 attributes (addresses) 를 구별하는 명확한 기준이 되기 때문입니다. 이 기준에 의해, 각 data object가 다른 주소 공간으로부터 선택된 독립된 주소를 여러개 가질 수 있게 할 수 있습니다.(무슨 말인지 모르겠음. Once we recognize this distinction, then we can generalize and allow each data object to have multiple independent addresses, each chosen from a different address space.) 이것이 가상 메모리 기초 개념입니다. 메인메모리 각 바이트는 가상 주소 공간에서 선택된 가상 주소와 물리 주소 공간에서 선택된 물리 주소를 가지게 됩니다.

profile
백엔드 개발자 디디라고합니다.

0개의 댓글