04
20

도서관에서 원하는 책을 찾을 때, 아무 책장이나 돌아보시나요? 책의 제목을 알고 계신다면 먼저 도서검색대에서 찾으려는 책이 꽂혀 있는 책장의 번호를 검색한 다음, 451번 책이라면 400번대 책장들 중 450번 책장을 찾고, 그 책장에서 책을 찾을 수 있겠죠.  반대로 사서가 반납된 책을 꽂을 때도 책의 청구번호를 본 다음 맞는 번호의 도서관 책장에 꽂게 됩니다. 만약에 아무데나 책을 꽂으셨다면 반성하셔야 합니다! 길을 찾을 때도 마찬가지입니다. 서울특별시 강남구 테헤란로 OO빌딩에 편지를 배달하려고 찾아간다고 하면 서울에 먼저 가서, 강남구를 찾고, 거기서 테헤란로를 간 다음 OO빌딩을 찾을 수 있습니다.

 

컴퓨터가 정보를 저장 공간에서 찾는 방법도 같습니다. 먼저 정보의 위치를 알아낸 다음, 해당 위치로 가서 정보를 읽거나 저장합니다. 이 위치를 알아내는, 도서관 책의 청구번호, 혹은 집 주소에 해당하는 숫자를 컴퓨터에서도 메모리 주소(Memory address)라고 합니다. 이 주소들이 형성하는 공간, 즉 도서관의 책장 전체나 도시를 주소 공간(Address space)이라고 부릅니다. 컴퓨터가 쓰는 메모리 주소는 숫자 하나로 구성되어 있기 때문에 주소 공간은 일차원 공간으로, 직선 하나에 표현할 수 있습니다. 아파트 한 층의 복도를 따라서 101호, 102호, 103호...가 늘어서 있는 것과 같습니다.

 

주소 공간 각각에 정해져 있는 쓸모가 있을 수도 있고, 주소 공간의 모든 주소가 유용하게 쓰이는 것이 아닐 수도 있습니다. 도시의 비유로 돌아가면, 도시의 특정 구역은 주택 지구로 지정되어 있고 다른 지역은 사무실들이 빽빽한 지역일 수 있겠죠. 그리고 산이나 강 때문에 건물을 지을 수 없는 공간도 있을 테고요. 이런 정보는 직접 가 보기 전에 지도를 들여다보면 알 수 있습니다. 이런 지도를 컴퓨터에서는 메모리 맵(Memory Map)이라고 합니다. 메모리 맵은 컴퓨터가 저장 공간의 각 부분을 어떻게 써야 하는지 미리 할당해놓은 지도 정보입니다.

 

코모도어 64의 메모리 맵. 출처 : https://www.c64-wiki.com/wiki/Memory_Map

메모리 맵의 예시입니다. 메모리의 어디에 램과 롬이 있고, 입출력 장치(I/O)가 어디에 있는지 왼쪽의 주소 열을 따라서 분할되어 있습니다.

정리

1. 컴퓨터가 메모리에서 정보의 위치를 기억하는 데 쓰는 숫자를 메모리 주소(Memory Address)라고 한다.

2. 메모리 주소가 형성하는 공간을 주소 공간(Address space)라고 한다.

3. 주소 공간의 각 부분이 어떻게 쓰이는지의 정보를 메모리 맵(Memory Map)이라고 한다.

참조

한글 위키백과 - 주소 공간

한글 위키백과 - 메모리 맵

COMMENT