주소란 어떤 특정한 장소의 위치를 나타내기 위해 사용하는 일종의 표식을 말한다. 우리들이 살고 있는 집의 경우, 제각기 고유의 주소를 가지고 현재의 위치를 나타낸다. 컴퓨터에서도 데이터나 프로그램은 제각기 자신만의 공간(물리적이든 논리적이든)을 가지고 있으며 각각의 공간에는 그 위치를 나타내기 위한 주소가 매겨져 있다. 주소는 크게 절대적 주소와 상대적 주소로 나누어지는데, 절대적 주소란 어떤 기준을 가지고 일정하게 가리키게 되는 변하지 않는 주소를 가리키며 상대적 주소란 상대방의 위치에 따라 달라지는 주소를 가리키게 된다. 다음에 나타나 있는 디렉토리들을 통해 좀 더 자세히 절대주소와 상대의 주소의 의미에 대해 알아보자. 상대의 주소의 의미에 대해 알아보자. root +-----+-------------+--------------------+ dos wp language database +---++ +------+------+ +---+---+ hwp g2 basic pascal cobol dbase foxbase +---+------+ gwbasic quickbasic | gwbasic.exe 위의 그림과 같은 디렉토리를 가지고 있는 컴퓨터에서 GW 베이직 프로그램을 실행시키고자 한다면 우선 다음과 같은 명령을 내려야 할 것이다. C:/language/basic/gwbasic/gwbasic.exe 그런데 만약 현재 내가 사용하고 있는 디렉토리가 quickbasic이라면 이때도 gwbasic을 실행시키기 위해 루트(/)로 부터 출발해야 할까? 그렇치는 않다. 그림을 보면 알겠지만 gwbasic과 quickbasic은 다같이 basic이라는 디렉토리의 서브디렉토리로 존재한다(이러한 디렉토리를 우리는 형제 디렉토리라 하는데 여기서 한가지 유의해야 할 점은 형제 디렉토리간에는 이동이 불가능하다는 사실이다). 그래서 이때는 우선 자신의 바로 위에 있는 디렉토리(이것을 우리는 흔히 mother 디렉토리라 한다)로 먼저 간 다음 형제 디렉토리로 가야한다. 그러므로 현재 사용중인 디렉토리 quickbasic에서 gwbasic.exe를 실행시키기 위해서는 다음과 같은 순서로 명령을 내린다. c:/language/basic/quick>cd : 현재 사용중인 디렉토리에서 마더 디렉토리로 디렉토리를 변경시킨다. c:/language/basic> : 현재의 디렉토리가 basic으로 변경되었다. c:/language/basic>cd gwbasic : 현재의 디렉토리를 gwbasic으로 변경한다. c:/language/basic/gwbasic> : 디렉토리가 gwabasic으로 변경되었다. c:/language/basic/gwbasic>gwbasic.exe : 프로그램을 수행한다. gwbasic 프로그램의 위치를 나타내는데 있어 첫번째 방법처럼 루트로부터 출발하여 표시한 것을 gwbasic의 절대주소라고 한다. 그리고 두번째 방법과 같이 현재 사용중인 디렉토리(quickbasic)로부터 gwbasic의 위치를 나타내는 것을 상대적 주소라 한다. 다시말해서 상대 주소는 상대방의 위치에 따라 정해지는 나의 주소를 말한다. 실제로 주소라는 말은 디렉토리외에도 메모리상에서 데이터나 프로그램이 들어있는 위치를 나타내는데도 사용된다. 이 때도 주소가 실제로 프로그램이나 테이터이 할당되어 있는 메모리의 주소를 나타내면 절대주소라 하고 그렇치않고 현재의 위치에서 몇번째 떨어져 있다는 식으로 나타내어 진다면 우리는 이것을 상대주소라 한다.