[컴퓨터 길잡이] PC대탐험 (24);확장메모리

PC의 메모리 지정한계는 1메가. 그런데 PC의 메모리 저장능력은 1메가를 훨씬 넘는다.

실제 수백메가에서 이론상 수기가까지 다루고 있다. 이유는 간단하다. 메 모리를 확장한 것이다.

메모리 확장능력은 크게 두가지 사항, 즉 PC의 두뇌에 해당하는 CPU와 작동기반구조인 운용체계의 영향을 직접적으로 받는다.

PC의 메모리 지정한계인 1M는 최초의 IBM PC에 탑재된 8088이라는 마이크 로프로세서와 DOS라는 운용체계가 복합적으로 어우러져 만들어낸 PC의 메모 리환경이다. 그런데 마이크로프로세서는 8088이후 펜티엄 P6 P7등 지속적인 발전을 거듭했다. 또 운용체계면에서도 도스가 6.0 이상의 새 버전이 발표되는가 하면UNIX OS/2등 새로운 운용체계의 등장으로 메모리 확장분야에 새로운 능력이 부가된다. 메모리 확장은 단순히 일반적인 의미의 메모리의 연장을 넘어 가상메모리 등메모리 활용분야까지 포함하는 광의의 의미로 파악된다.

도스를 운용체계로 하는 PC는 원래 640KB이상의 메모리를 사용할 수 없다.

심지어마이크로소프트윈도즈와 데스크뷰 같은 제어프로그램도 도스를 기반으로 하기 때문에 이같은 문제점을 가지고 있다.

물론 메모리 사용한계를 극복하는 최적의 방법은 뛰어난 멀티태스킹 기능 을구현하는 OS/2를 운용체계로 사용하는 것이다.

하지만 아직까지 도스구조를 기본으로 하는 구기종 컴퓨터 위세가 막강하기때문에 이러한 문제를 해결하는 방법이 일찍부터 등장했다.

PC가 지정할 수 있는 최대의 기본메모리(1M)의 상위메모리(384KB)에서 64K B를 할당해 새로운 메모리의 확장에 활용하는 것이다(지난호 참조:C와 D블록 지칭). 원리는 64KB를 다른 메모리의 주소를 지정하는데 사용하는 것. 흔한 얘기로 매핑작업이라 할 수 있다.

쉽게 표현하면 64KB를 데이터로 나타내면 작은 프로그램 하나로도 꽉차게되지만 다른 대용량 메모리의 식별번호와 위치(어드레스라 함)를 표현한다.

결국PC는 64KB의 작은 창구를 통해 수십메가의 메모리를 연결해 사용한다.

물론 이같은 새로운 기능을 구현하기 위해서는 하드웨어 및 소프트웨어적 변동사항이 필요하다.

소프트웨어면에서는 확장메모리 관리자인 EMM(E.panded Memory Manager) 프로그램이 필요하다.

PC가 나오던 초기에는 프로그램 CPU 운용체계를 각각 대표하는 로터스.인 텔.마이크로소프트사가 공동으로 EMM프로그램에 대한 규약을 만들었는데 각 사의 첫머리 글자를 따 LIM EMS(3.2버전)라 불렀다.

그후에 AST사와 Ashton Tate 두 회사가 기능을 더욱 개선한 EEMS를 개발 했는데 후에 구버전과 통합되어 EMS 4.0버전이 나왔다.

3.2버전에서는 기본메모리의 상위메모리(384KB)에서만 메모리매핑을 할 수있었는데 4.0버전에서는 도스메모리(640KB로 전통메모리라고도 함)에서도 메 모리 확장기능을 제공한다.

메모리 확장을 위한 하드웨어적인 변동사항은 별도의 메모리관리용 보드를설치해야 하는 것.

실제로는 286컴퓨터까지 확장메모리 보드가 필요하다. 그런데 메모리환경을지배하는 CPU의 상위제품과 운용체계의 버전업으로 별도의 하드웨어를 설치해야 하는 불편이 해소됐다. 인텔사가 발표한 80386이후의 프로세서는 확 장메모리보드 기능을 내장하고 있기 때문이다.

80386이후의 프로세서는 특수한 메모리관리자가 필요한데 도스 4.0부터 이 런프로그램이 포함되어 있다. 사용자는 도스내에서 EMM386.EXE라는 파일을 발견할 수 있는데 이것이 도스내의 메모리 관리자이다. 메모리확장 프로그램 에는 XMM이라는 프로그램도 있다. 규약은 XMS로 표현되는데 EMM보다 메모리 를 빠르게 사용할 수 있는 것이 특징이다. 도스내에서는HIMEM.SYS파일과 연관된다. XMS를 이용하려면 80386이상의 프로세서에서도 별도의 메모리관리자를 설치해야 한다. 단 현재 EMS를 지원하는 프로그램보다 XMS를 사용할 수 있는프로그램이 더 많다는 사실을 알아야 한다.

CPU에서 제시되는 메모리확장의 중요한 사항으로 가상메모리 기법을 빼놓을수 없다.

그동안 제시된 메모리확장이 실제메모리, 즉 주메모리 활용방안이라면 가 상메모리는 디스크를 주 메모리처럼 이용하는 기법이다.

하드디스크의 일부를 램화시키는 것으로, 파일을 만들어 램으로 저장해야 할것을 하드디스크에 저장했다가 필요에 따라 읽는 방식으로 286컴퓨터부터 적용되었다. 윈도즈 3.1에서는 10메가를 가상메모리로 활용하고 있다. 만약 가상메모리 기법이 없다면 윈도즈 3.1은 386컴퓨터의 메모리 수준으로 작동이 거의 불가 능해진다. 이같은 프로그램에 의한 메모리 확장방식으로 286컴퓨터는 이론상 최대 16 M까지 사용할 수 있게 된다. XT컴퓨터의 1M에서 16배까지 향상된 셈.

386컴퓨터이상 모든 기종에서는 최대 실제메모리를 4기가바이트(4,096MB) 까지 늘릴 수 있다. 그러나 이것은 이론상의 수치로 386컴퓨터는 현실적으로 32MB까지만 메모리 확장이 가능하다.

메모리 확장은 CPU, 운용체계 등 PC환경의 급속한 발전으로 앞으로 프로그램사용에 메모리로 인한 제약이 거의 없을 것으로 기대된다. 신영복 기자