메모리에(EXTENDED & EXPANDED MEMORY, XMA, UMB)에 대한글
메모리에 관한 용어:
===================
현재 국제적으로 사용되는 메모리에 대한 용어들은 우리의 짐작보다 훨
씬 더 복잡하고 다양하게 표현되고 있다. 그 이유는 메모리에 관한 개념이
아직 정립되어 있지 않기 때문이다. 머릿말에서 언급한 것처럼 메모리에 대
한 관심이 일기 시작한 것이 최근의 일이므로 메모리 위치에 대한 설명을
하려는 것조차 이해시키기가 쉽지 않기 때문에 상황에 따라 그에 맞추어 다
양한 말로 나타내고 있다. 예를 들면, 0-640KB 사이에 있는 메모리를
Conventional, Base, DOS, Low 메모리 등으로 나타낸다. 용어에 대한 이해
를 바르게 하지 않으면 메모리에 관한 개념을 이해하기 어려워진다.
3.1 메모리의 종류
메모리의 종류를 기능에 따라 주 메모리와 보조 메모리로 구분하는데,
CPU(중앙 처리 장치, 마이크로프로세서를 뜻함)의 실질적인 작업 공간이 되
는 RAM을 주 메모리라하고 주 메모리에서 처리한 자료를 영구 보존하는 디
스크를 보조 메모리라고 한다. 또한 메모리의 종류를 저장 시간에 따라 두
가지로 구분하는데, 그 한가지는 임시 저장 메모리이고, 다른 한가지는 영
구 저장 메모리이다. 영구 저장 방식은 주로 디스크를 사용하며, 대표적인
매체로는 플로피 디스크와 하드 디스크가 있다. 임시 저장 방식은 RAM이라
부르는 메모리 IC(Intergrated Circuit,집적회로)라고 부르는 반도체칩
(Semi-conductor Chip)을 쓴다.
메모리 반도체 칩은 ROM과 RAM 두가지로 나눈다.
1) ROM:
Read Only Memory의 약자로써 읽을 수만 있도록 만든 메모리이다. 한 번
기억시키면 다시 바꿀 때까지 그 기억을 보존하는 영구 기억 장치이다. IMB
PC에서는 주로 BIOS 용으로 사용된다. ROM BIOS는 컴퓨터의 가장 기본적인
기능을 담당하며, 컴퓨터를 켰을 때 시스템의 각 부분과 주변 장치들을 점
검한 다음에 이상이 없으면 DOS의 시스템 화일을 찾아내어 컴퓨터가 정상적
으로 가동되도록 인도하는 역할을 한다. 최근에 만들어진 AMI사의 ROM BIOS
는 사용자가 부분적으로 자신의 시스템에 맞추어 쓰기(Write)를 할 수 있
도록 기능을 늘렸다.
2) RAM:
RAM은 Random Access Memory의 약자이다. RAM은 읽기 뿐만 아니라 쓰기도
가능하기 때문에 RWM(Read Write Memory)이라고도 한다. RAM은 임시 기억장
치이므로 ROM과는 달리 컴퓨터를 끄면(전류가 끊어지면) 기억하고 있던 것
들을 모두 잃게 된다. RAM에는 DRAM과 SRAM이 있다. 일반적으로 'RAM'이라
고 말하면 DRAM을 뜻한다.
(1) SRAM:
SRAM은 Static RAM의 약자이다. 대부분 20 nano second (나노 초)의
SRAM을 사용한다. SRAM은 DRAM 보다 4-5 배 쯤 더 빠르지만 가격은 그 비율
이상으로 비싸기 때문에 386은 32 KB-64 KB, 486은 128 KB-256 KB 정도의
양을 주로 CPU의 처리속도 향상을 위한 캐쉬(Cache)용으로 사용한다.
(2) DRAM:
DRAM은 Dynamic RAM의 약자이다. 흔히 우리가 RAM이라 부르는 것으로써
70-100 nano second(나노초)의 것을 주로 쓰고 있다. SRAM에 비하여 속도는
느리지만 가격이 싸므로 실용적이어서 임시 기억장치로 가장 많이 사용된
다. 우리가 이번 장에서 다루고져하는 메모리는 바로 이 DRAM이다. (앞으로
는 'DRAM'을 'RAM' 또는 그냥 '메모리'로 부르겠다.)
{{ 3.2 RAM
--------------------------------------------------------------------------------
}}3.2 RAM
IBM PC의 RAM은 크게 세종류로 나누는데 그 첫번째는 전통(상용)메모리
(Conventional Memory)이고, 두번째는 연장메모리 (eXtended Memory)이며
마지막 세번째는 확장메모리 (Expanded Memory)이다.
메모리의 크기는 byte(바이트), KB(킬로 바이트, 1KB = 1,024bytes),
MB(메가 바이트, 1MB = 1,024KB), GB(기가 바이트,1GB = 1,024MB)로 표시한
다. 감을 잡아보면 2D 디스켓은 360KB = 0.36MB, 2HD 디스켓은 1.2MB정도이
다.
1) Conventional memory (전통(상용)메모리)
0 KB 에서 1024 KB 사이에 있는 1 MB (1024 KB) 크기의 메모리
----------------------------------------------------------
* Conventional Memory (전통 메모리):
컨벤셔널 메모리란 본래 0KB 부터 1024KB 사이에 있는 1MB 크기의 메모리
를 일컫는 말이다. 'conventional'이란 '관습적인', '전통적인'이란 뜻을
가진 단어이다. 1978년, Intel에서 처음으로 16 bit PC용 8086마이크로 프
로세서를 만들었을때 주소를 기록 할 수 있는 공간이 1MB뿐이었다. 1981년
IBM에서 인텔의 8086마이크로 프로세서를 사용하여 IBM PC를 만들었고,
1983년 8088프로세서로 IBM XT를 만들어 지금까지 사용하고 있기 때문에
'지금까지 전통적으로 써온 메모리'란 뜻으로 그렇게 부르는 것이다.
기본메모리 (0-640KB)를 전통 메모리라고도 하는데, 그 이유는 전통 메모
리 가운데 기본 메모리를 제외한 나머지의 384KB는 오랫동안 사용자가 손
쓸 일이 거의 없었으므로 1MB의 전통 메모리를 점차 축소하여 640KB로 생각
하였기 때문이다. 그러나 이제는 Upper메모리를 제대로 활용하므로 이를 명
확히 구분하는 것이 바람직하다.
* 0KB에서 640KB 사이에 있는 640KB 크기의 메모리:
-------------------------------------------------
이 구역에 있는 용어가 가장 다양하다. Base, DOS, Low, Conventional 메
모리 등으로 불린다.
(1). Base Memory (기본 메모리):
0-640KB 사이에 있는 메모리가 전체 메모리의 아래에 기초(base)를 이루
고 있으므로 근본이 된다는 뜻으로 Base 메모리라고 부른다. 전체의 메모리
가운데에서 이 구역을 지칭할 때 가장 확실하게 구분짓는 용어이다.
(2). DOS Memory:
DOS로 관리할 수 있는 메모리 지역을 말한다. 전에는 그 한계가 640KB까
지였기 때문에 DOS메모리라고 하였다. 그러나 DOS로 관리할 수 있는 메모리
의 영역이 점차 증가하고 있는 요즈음에는 오히려 혼돈을 가중시키는 것 외
에 도움이 되지 않으므로 쓰지 않는 편이 낫다.
(3). Low Memory:
Low(아래에 있는) Memory란 말 그대로 전통메모리의 640KB를 아래(low)
와 위(high) 두가지로 나누어 부를 때 쓰는 말이다. 그러나 이 말도 high의
개념이 상대적인 것이므로 혼돈을 주는데, 1MB를 기준으로 하여 0-1024KB
사이의 메모리를 low memory라 하고 1024 KB 이상의 메모리를 high memory
라 부르기도 한다.
* 640KB에서 1024KB 사이에 있는 384KB 크기의 메모리:
-------------------------------------------------------
(1) Upper Memory (상위메모리):
'Upper'란 Base 메모리를 기준으로 하여 그 '위에 있는' 메모리란 뜻으
로 쓰인 말이며, 상위메모리 지역(UMA, Upper Memory Area) 384KB 전체를
일컫는 대표적인 말이다. Upper Memory는 컴퓨터에 내장된 ROM BIOS, video
adapter card, hard disk controller, EMS page frame 그리고 그밖의 다른
확장용 하드웨어들을 위하여 쓸 곳을 미리 예약하여 둔(reserved)메모리 블
럭(Block)들로 구성되어 있다. 처음에는 이 부분을 여러가지 목적으로 쓰기
위하여 예약하여 두었지만, 메모리 보유량이 점차 늘면서 처음의 계획과는
다르게 전혀 쓰지 않는 부분을 조금씩 활용하기 시작하였고, 기본 메모리가
많이 필요한 요즈음에는 매우 유용하게 쓰이고 있다.
UMBs:
UMBs란 Upper Memory Blocks의 약자이다. UMB에 's'를 붙이는 이유는
Upper Memory가 적은 여러 개의 조각 (Block)들이 모여서 이루어진 메모리
들의 집단이기 때문이다. UMB는 이 Block들 가운데 하나를 지칭하는 것이
되므로 전체를 말할 때는 복수를 나타내는 's'를 붙여야 한다. 메모리에 상
주할 필요가 있는 device driver들이나 TSR 프로그램들을 이곳에 옮겨두면
기본 메모리의 크기를 늘리는 효과가 있다. UMBs는 Upper 메모리의 일부이
다. (UMBs는 이론적으로 어느 PC에서나 사용이 가능하지만 실제적으로
8086/8088에서는 거의 사용이 안되고 있으며 일부, 칩세트(Chipset)를 가진
PC AT Clone과, 386/486에서 확장메모리 에뮬레이터가 있는 경우 사용이 가
능하다.)
(2) High Memory:
low memory에 상대적으로 쓰이는 말이다. 그러나 이 구역을 high memory
라 부르는것은 바람직하지 않다; 앞에서 언급한 것과 같이, 1MB를 기준으로
하여 1MB이상의 메모리를 high memory라 부르기도 하기 때문이다. 그 뿐 아
니라 High Memory Area (HMA, 1024-1088KB)와도 어휘가 비슷하여 메모리 위
치을 이해하는데 혼돈을 주기 쉬우므로 쓰지 않는 편이 바람직하다.
2) eXtended Memory (연장메모리)
1 MB (1024 KB) 이상의 메모리
---------------------------
eXtended Memory (연장 메모리):
286 이상의 기종에서 1MB 위에 주소(address)를 가지고 있는 모든 메모리
를 익스텐디드 메모리라고 부른다. 이 지역을 EMA(Extended Memory Area,연
장메모리 지역)라고 부른다. 'eXtend'란 단어는 '연장하다', '길이를 늘리
다'의 뜻을 가지고 있다. 1MB로 제한하여 사용하던 Conventional메모리의
크기를 2MB, 4MB 등으로 '더 늘려' 사용하게 된 메모리란 의미이다. 그렇다
고 해서 기본 메모리와 같이 추가하는 대로 그냥 쓸 수는 없다; eXtended
Memory를 구입하여 설치하였더라도 이 메모리를 찾아내어(인식하여) 활용할
수 있도록 특수하게 만들어진 프로그램들만이 이 메모리를 쓸 수 있다. 다
시 말해서 연장메모리를 쓸 수 있는 프로그램이 없다면 이 메모리들은 없는
것과 마찬가지다. 연장메모리 관리자(XMM, eXtended Memory Manager)는 연
장 메모리를 한 block을 64KB 크기로 나누고서, 같은 블럭을 서로 다른 두
개의 프로그램이 동시에 차지하고서 싸우지 않도록 관리해 준다.
도움말: eXtended의 표기에 대하여
--------------------------------
eXtended memery를 표기할 때 'e' 대신에 'X'에 대문자를 쓰는 이유는
Expanded memory와 혼돈을 피하기 위해서 이다. 두 용어의 철자가 스펠 한
자 씩만 제외하고는나머지가 똑 같기 때문에 대부분의 영어권에서 이 방
식을 즐겨 쓴다. 한글로 번역하더라도 두 용어의 뜻이 비슷하다.
HMA (High Memory Area):
HMA는 1024 KB 부터 1088 KB 사이에 있는 64 KB 크기 (실제로는 16
bytes가 부족함)의 메모리이다. HMA는 64 KB가 한개의 메모리로 구성되었으
므로 단수를 사용하고 있다.
XMS:
XMS는 'eXteded Memory Specification'의 약자로써 직역하면 '연장 메모
리 특성'이란 뜻이다. 이것은 eXtended메모리 관리방법에 대한 규약을 말하
는 것으로써 메모리의 종류,구역을 나타내는 말은 아니다. eXtended Memory
를 EMBs(Extended Memory Blocks, 64KB를 하나의 block으로 정하여 나눈
연장 메모리의 블럭들)로 나누어 관리하기로 약속한 것이다. XMM과 XMS를
지원하는 프로그램들도 이에 맞추어 연장메모리를 사용한다.
3) Expanded Memory (확장 메모리)
확장 메모리는 페이지 프레임(Page Frame)이라고 부르는 64KB 크기의 지
정된 메모리 구역을 통하여 연장 메모리를 EMM이 16KB 블럭(Block)으로 잘
라서 메모리를 매핑 (mapping, 16KB 크기로 나뉜 메모리들의 위치를 정하여
주는 일)한 다음, 확장 메모리를 쓰기 위하여 기다리고 있는 프로그램들에
게 나누어 주는 방식으로 관리한다. 확장 메모리는 반드시 EMM(Expanded
Memory Manager, 확장메모리 관리자)에 의하여서만 관리될 수 있다. 이론상
AT는 16MB 크기까지, 386 이상의 컴퓨터는 4GB(4,096MB)크기 까지의
Expanded Memory를 설치할 수 있다. 386의 경우 현실적으로 설치할 수 있는
확장 메모리의 양은 32MB 정도이다. AT/286은 add-on board(EMS용 보드)와
그 보드를 지원하는 프로그램이 있어야 확장메모리를 쓸 수 있다. 그러나
386과 486은 별도의 하드웨어가 없더라도 EMM만으로 확장메모리를 쓸 수 있
도록 설계하였다.
EMS:
Expanded Memory Specification'의 약자이다. 직역하면 '확장 메모리 특
성'이 되지만 본래의 뜻은 '확장 메모리에 관한 규약'이다. 이 규약은
Lotus, Intel, Microsoft의 세 컴퓨터 관련 회사가 확장 메모리를 프로그램
이나 유틸리티를 통하여 공유하기 위하여 개발하였는데 이것이 EMS 버전
3.2이다. 그 후에 AST 와 Ashton-Tate 두 회사가 그 보다 더 개선된 EEMS
(개선한 EMS)를 개발하였다. EMS 3.2와 EEMS를 통합하여 현재 사용되고 있
는 EMS 버전 4.0을 만든 것이다. 구 버전 (EMS 3.2, LIM EMS)의 경우에는
오직 Upper Memory Area에 있는 Page Frame에서만 확장 메모리를 매핑할 수
있었으나, 최근에 주로 사용되고 있는 EMS 4.0은 전통 메모리의 아무 곳에
서나 매핑할 수가 있다.
도움말: 연장 (eXtended)과 확장 (Expanded) 두 낱말의 차이점
----------------------------------------------------------
두 낱말이 모두 '늘리다, 늘어나게 하다'라는 뜻을 지니고 있다. 그렇다
고 해서 두 낱말이 동의어는 아니다. 분명한 차이점이 있다. 영어의
'eXtend'란 단어는 '뻗치다', '연장하다', '잡아 늘리다', '길이를 늘어나
게 하다'와 같이 길이가 늘어나는 것을 나타낸다.
이에 반하여 'expand'는 '확장하다, 부풀리다, 부피가 팽창하다, 펼치다,
꽃이 피다'와 같이 부피가 늘어나는 것을 나타낸다. 이 말에 대한 차이점을
도로에 비유하여 보면 이해가 쉽다: 도로 공사를 할 때 1 Km의 길을 4 Km로
길게 만든 것을 '연장한 도로'(eXtended Road)라고 하며, 1차선 도로를 4차
선 도로로 늘린 것을 '확장한 도로' (Expanded Road)라고 한다. 즉, 길이가
늘어나면 '연장', 폭이 늘어나면 '확장'이라고 표현하는 것이다. 이에 따라
eXtended Memory는 '연장 메모리', Expanded Memory는 '확장 메모리'로 번
역하는 것이 문자적인 뜻으로 보나 두 메모리의 구조적인 특성으로 보나 가
장 본래의 뜻에 가깝다.
{{ 3.3 기타 메모리에 관한 용어들
--------------------------------------------------------------------------------
}}3.3 기타 메모리에 관한 용어들
Memory Manager (메모리 관리자):
메모리 관리자란 뜻이며 메모리를 관리하여 주는 프로그램들을 일컫는 말
이다. 여러 종류의 응용 프로그램들이 같은 메모리를 공유하게 되면 충돌하
므로 이를 방지하기 위하여 적절하게 배정하는 역할을 한다. 각각 관리하는
프로그램의 종류에 따라 XMM(XMS Memory Manager, 연장메모리 관리자)
EMM(EMS Memory Manager, 확장메모리 관리자),로 구분한다.
Device (장치):
디바이스(Device)는 장치란 말이다. 컴퓨터의 본체인 CPU(Central
Processing Unit : Microprocessor)와 버스(Bus)를 제외한 나머지는 모두
Device라고 볼 수 있다. 마더보드에 달려있는 메모리, 케이스 안에 들어있
는 디스크 드라이브들, 컴퓨터 밖에 달려있는 키보드, 모니터, 프린터, 모
뎀 등을 모두 디바이스라고 부른다. 컴퓨터 본체의 주변에 달려 있다고 하
여 '주변 장치', 또는 '주변 기기'란 말도 쓴다. 디바이스는 보거나 만질
수 있는 하드웨어이다.
Device Driver (장치 구동자):
메모리에 상주하면서 컴퓨터에 딸린 Device(장치)를 사용자가 원하는 대
로 움직이게 만들어 주는 프로그램을 디바이스 드라이버라고 한다. 디바이
스는 하드웨어이고 디바이스 드라이버는 소프트웨어이다. 대부분의 디바이
스들은 전용 디바이스 드라이버에 의하여 제 성능을 발휘하게 된다. 디바이
스 드라이버용 화일들은 대부분 루트 디렉토리에 있는 config.sys 화일의
DEVICE 명령에 의하여 등록되며 확장자가 .SYS인 경우가 많고 경우에 따라
서는 .EXE .COM인 경우도 있다. 디바이스 드라이버를 동작하게 만들려면 컴
퓨터를 다시 켜거나(cold booting) 웜부팅(warm booting)을 다시 해야 된
다. 디바이스 드라이버들은 컴퓨터를 처음 동작시킬 때 가장 먼저 메모리를
차지하고서 일을 시작한다.
HIMEM.SYS나 EMM386.EXE와 같은 Memory Manager들도 RAM이란 디바이스를
움직이게 하므로 드라이버에 속한다.
TSR:
TSR은 Terminate and Stay Resident의 약자이다. 전체 또는 부분적으로
항상 메모리에 거주하고 있다가 필요할 때 부르면 즉시 나타나 일을 하고
서, 마친 후에는 다시 부를 때까지 뒷편에 대기하는 프로그램들을 말한다.
단축 키를 사용하여 나타나거나 사라지게 만든 TSR 프로그램들이 많다.
메모리에 관한 용어:
===================
현재 국제적으로 사용되는 메모리에 대한 용어들은 우리의 짐작보다 훨
씬 더 복잡하고 다양하게 표현되고 있다. 그 이유는 메모리에 관한 개념이
아직 정립되어 있지 않기 때문이다. 머릿말에서 언급한 것처럼 메모리에 대
한 관심이 일기 시작한 것이 최근의 일이므로 메모리 위치에 대한 설명을
하려는 것조차 이해시키기가 쉽지 않기 때문에 상황에 따라 그에 맞추어 다
양한 말로 나타내고 있다. 예를 들면, 0-640KB 사이에 있는 메모리를
Conventional, Base, DOS, Low 메모리 등으로 나타낸다. 용어에 대한 이해
를 바르게 하지 않으면 메모리에 관한 개념을 이해하기 어려워진다.
3.1 메모리의 종류
메모리의 종류를 기능에 따라 주 메모리와 보조 메모리로 구분하는데,
CPU(중앙 처리 장치, 마이크로프로세서를 뜻함)의 실질적인 작업 공간이 되
는 RAM을 주 메모리라하고 주 메모리에서 처리한 자료를 영구 보존하는 디
스크를 보조 메모리라고 한다. 또한 메모리의 종류를 저장 시간에 따라 두
가지로 구분하는데, 그 한가지는 임시 저장 메모리이고, 다른 한가지는 영
구 저장 메모리이다. 영구 저장 방식은 주로 디스크를 사용하며, 대표적인
매체로는 플로피 디스크와 하드 디스크가 있다. 임시 저장 방식은 RAM이라
부르는 메모리 IC(Intergrated Circuit,집적회로)라고 부르는 반도체칩
(Semi-conductor Chip)을 쓴다.
메모리 반도체 칩은 ROM과 RAM 두가지로 나눈다.
1) ROM:
Read Only Memory의 약자로써 읽을 수만 있도록 만든 메모리이다. 한 번
기억시키면 다시 바꿀 때까지 그 기억을 보존하는 영구 기억 장치이다. IMB
PC에서는 주로 BIOS 용으로 사용된다. ROM BIOS는 컴퓨터의 가장 기본적인
기능을 담당하며, 컴퓨터를 켰을 때 시스템의 각 부분과 주변 장치들을 점
검한 다음에 이상이 없으면 DOS의 시스템 화일을 찾아내어 컴퓨터가 정상적
으로 가동되도록 인도하는 역할을 한다. 최근에 만들어진 AMI사의 ROM BIOS
는 사용자가 부분적으로 자신의 시스템에 맞추어 쓰기(Write)를 할 수 있
도록 기능을 늘렸다.
2) RAM:
RAM은 Random Access Memory의 약자이다. RAM은 읽기 뿐만 아니라 쓰기도
가능하기 때문에 RWM(Read Write Memory)이라고도 한다. RAM은 임시 기억장
치이므로 ROM과는 달리 컴퓨터를 끄면(전류가 끊어지면) 기억하고 있던 것
들을 모두 잃게 된다. RAM에는 DRAM과 SRAM이 있다. 일반적으로 'RAM'이라
고 말하면 DRAM을 뜻한다.
(1) SRAM:
SRAM은 Static RAM의 약자이다. 대부분 20 nano second (나노 초)의
SRAM을 사용한다. SRAM은 DRAM 보다 4-5 배 쯤 더 빠르지만 가격은 그 비율
이상으로 비싸기 때문에 386은 32 KB-64 KB, 486은 128 KB-256 KB 정도의
양을 주로 CPU의 처리속도 향상을 위한 캐쉬(Cache)용으로 사용한다.
(2) DRAM:
DRAM은 Dynamic RAM의 약자이다. 흔히 우리가 RAM이라 부르는 것으로써
70-100 nano second(나노초)의 것을 주로 쓰고 있다. SRAM에 비하여 속도는
느리지만 가격이 싸므로 실용적이어서 임시 기억장치로 가장 많이 사용된
다. 우리가 이번 장에서 다루고져하는 메모리는 바로 이 DRAM이다. (앞으로
는 'DRAM'을 'RAM' 또는 그냥 '메모리'로 부르겠다.)
{{ 3.2 RAM
--------------------------------------------------------------------------------
}}3.2 RAM
IBM PC의 RAM은 크게 세종류로 나누는데 그 첫번째는 전통(상용)메모리
(Conventional Memory)이고, 두번째는 연장메모리 (eXtended Memory)이며
마지막 세번째는 확장메모리 (Expanded Memory)이다.
메모리의 크기는 byte(바이트), KB(킬로 바이트, 1KB = 1,024bytes),
MB(메가 바이트, 1MB = 1,024KB), GB(기가 바이트,1GB = 1,024MB)로 표시한
다. 감을 잡아보면 2D 디스켓은 360KB = 0.36MB, 2HD 디스켓은 1.2MB정도이
다.
1) Conventional memory (전통(상용)메모리)
0 KB 에서 1024 KB 사이에 있는 1 MB (1024 KB) 크기의 메모리
----------------------------------------------------------
* Conventional Memory (전통 메모리):
컨벤셔널 메모리란 본래 0KB 부터 1024KB 사이에 있는 1MB 크기의 메모리
를 일컫는 말이다. 'conventional'이란 '관습적인', '전통적인'이란 뜻을
가진 단어이다. 1978년, Intel에서 처음으로 16 bit PC용 8086마이크로 프
로세서를 만들었을때 주소를 기록 할 수 있는 공간이 1MB뿐이었다. 1981년
IBM에서 인텔의 8086마이크로 프로세서를 사용하여 IBM PC를 만들었고,
1983년 8088프로세서로 IBM XT를 만들어 지금까지 사용하고 있기 때문에
'지금까지 전통적으로 써온 메모리'란 뜻으로 그렇게 부르는 것이다.
기본메모리 (0-640KB)를 전통 메모리라고도 하는데, 그 이유는 전통 메모
리 가운데 기본 메모리를 제외한 나머지의 384KB는 오랫동안 사용자가 손
쓸 일이 거의 없었으므로 1MB의 전통 메모리를 점차 축소하여 640KB로 생각
하였기 때문이다. 그러나 이제는 Upper메모리를 제대로 활용하므로 이를 명
확히 구분하는 것이 바람직하다.
* 0KB에서 640KB 사이에 있는 640KB 크기의 메모리:
-------------------------------------------------
이 구역에 있는 용어가 가장 다양하다. Base, DOS, Low, Conventional 메
모리 등으로 불린다.
(1). Base Memory (기본 메모리):
0-640KB 사이에 있는 메모리가 전체 메모리의 아래에 기초(base)를 이루
고 있으므로 근본이 된다는 뜻으로 Base 메모리라고 부른다. 전체의 메모리
가운데에서 이 구역을 지칭할 때 가장 확실하게 구분짓는 용어이다.
(2). DOS Memory:
DOS로 관리할 수 있는 메모리 지역을 말한다. 전에는 그 한계가 640KB까
지였기 때문에 DOS메모리라고 하였다. 그러나 DOS로 관리할 수 있는 메모리
의 영역이 점차 증가하고 있는 요즈음에는 오히려 혼돈을 가중시키는 것 외
에 도움이 되지 않으므로 쓰지 않는 편이 낫다.
(3). Low Memory:
Low(아래에 있는) Memory란 말 그대로 전통메모리의 640KB를 아래(low)
와 위(high) 두가지로 나누어 부를 때 쓰는 말이다. 그러나 이 말도 high의
개념이 상대적인 것이므로 혼돈을 주는데, 1MB를 기준으로 하여 0-1024KB
사이의 메모리를 low memory라 하고 1024 KB 이상의 메모리를 high memory
라 부르기도 한다.
* 640KB에서 1024KB 사이에 있는 384KB 크기의 메모리:
-------------------------------------------------------
(1) Upper Memory (상위메모리):
'Upper'란 Base 메모리를 기준으로 하여 그 '위에 있는' 메모리란 뜻으
로 쓰인 말이며, 상위메모리 지역(UMA, Upper Memory Area) 384KB 전체를
일컫는 대표적인 말이다. Upper Memory는 컴퓨터에 내장된 ROM BIOS, video
adapter card, hard disk controller, EMS page frame 그리고 그밖의 다른
확장용 하드웨어들을 위하여 쓸 곳을 미리 예약하여 둔(reserved)메모리 블
럭(Block)들로 구성되어 있다. 처음에는 이 부분을 여러가지 목적으로 쓰기
위하여 예약하여 두었지만, 메모리 보유량이 점차 늘면서 처음의 계획과는
다르게 전혀 쓰지 않는 부분을 조금씩 활용하기 시작하였고, 기본 메모리가
많이 필요한 요즈음에는 매우 유용하게 쓰이고 있다.
UMBs:
UMBs란 Upper Memory Blocks의 약자이다. UMB에 's'를 붙이는 이유는
Upper Memory가 적은 여러 개의 조각 (Block)들이 모여서 이루어진 메모리
들의 집단이기 때문이다. UMB는 이 Block들 가운데 하나를 지칭하는 것이
되므로 전체를 말할 때는 복수를 나타내는 's'를 붙여야 한다. 메모리에 상
주할 필요가 있는 device driver들이나 TSR 프로그램들을 이곳에 옮겨두면
기본 메모리의 크기를 늘리는 효과가 있다. UMBs는 Upper 메모리의 일부이
다. (UMBs는 이론적으로 어느 PC에서나 사용이 가능하지만 실제적으로
8086/8088에서는 거의 사용이 안되고 있으며 일부, 칩세트(Chipset)를 가진
PC AT Clone과, 386/486에서 확장메모리 에뮬레이터가 있는 경우 사용이 가
능하다.)
(2) High Memory:
low memory에 상대적으로 쓰이는 말이다. 그러나 이 구역을 high memory
라 부르는것은 바람직하지 않다; 앞에서 언급한 것과 같이, 1MB를 기준으로
하여 1MB이상의 메모리를 high memory라 부르기도 하기 때문이다. 그 뿐 아
니라 High Memory Area (HMA, 1024-1088KB)와도 어휘가 비슷하여 메모리 위
치을 이해하는데 혼돈을 주기 쉬우므로 쓰지 않는 편이 바람직하다.
2) eXtended Memory (연장메모리)
1 MB (1024 KB) 이상의 메모리
---------------------------
eXtended Memory (연장 메모리):
286 이상의 기종에서 1MB 위에 주소(address)를 가지고 있는 모든 메모리
를 익스텐디드 메모리라고 부른다. 이 지역을 EMA(Extended Memory Area,연
장메모리 지역)라고 부른다. 'eXtend'란 단어는 '연장하다', '길이를 늘리
다'의 뜻을 가지고 있다. 1MB로 제한하여 사용하던 Conventional메모리의
크기를 2MB, 4MB 등으로 '더 늘려' 사용하게 된 메모리란 의미이다. 그렇다
고 해서 기본 메모리와 같이 추가하는 대로 그냥 쓸 수는 없다; eXtended
Memory를 구입하여 설치하였더라도 이 메모리를 찾아내어(인식하여) 활용할
수 있도록 특수하게 만들어진 프로그램들만이 이 메모리를 쓸 수 있다. 다
시 말해서 연장메모리를 쓸 수 있는 프로그램이 없다면 이 메모리들은 없는
것과 마찬가지다. 연장메모리 관리자(XMM, eXtended Memory Manager)는 연
장 메모리를 한 block을 64KB 크기로 나누고서, 같은 블럭을 서로 다른 두
개의 프로그램이 동시에 차지하고서 싸우지 않도록 관리해 준다.
도움말: eXtended의 표기에 대하여
--------------------------------
eXtended memery를 표기할 때 'e' 대신에 'X'에 대문자를 쓰는 이유는
Expanded memory와 혼돈을 피하기 위해서 이다. 두 용어의 철자가 스펠 한
자 씩만 제외하고는나머지가 똑 같기 때문에 대부분의 영어권에서 이 방
식을 즐겨 쓴다. 한글로 번역하더라도 두 용어의 뜻이 비슷하다.
HMA (High Memory Area):
HMA는 1024 KB 부터 1088 KB 사이에 있는 64 KB 크기 (실제로는 16
bytes가 부족함)의 메모리이다. HMA는 64 KB가 한개의 메모리로 구성되었으
므로 단수를 사용하고 있다.
XMS:
XMS는 'eXteded Memory Specification'의 약자로써 직역하면 '연장 메모
리 특성'이란 뜻이다. 이것은 eXtended메모리 관리방법에 대한 규약을 말하
는 것으로써 메모리의 종류,구역을 나타내는 말은 아니다. eXtended Memory
를 EMBs(Extended Memory Blocks, 64KB를 하나의 block으로 정하여 나눈
연장 메모리의 블럭들)로 나누어 관리하기로 약속한 것이다. XMM과 XMS를
지원하는 프로그램들도 이에 맞추어 연장메모리를 사용한다.
3) Expanded Memory (확장 메모리)
확장 메모리는 페이지 프레임(Page Frame)이라고 부르는 64KB 크기의 지
정된 메모리 구역을 통하여 연장 메모리를 EMM이 16KB 블럭(Block)으로 잘
라서 메모리를 매핑 (mapping, 16KB 크기로 나뉜 메모리들의 위치를 정하여
주는 일)한 다음, 확장 메모리를 쓰기 위하여 기다리고 있는 프로그램들에
게 나누어 주는 방식으로 관리한다. 확장 메모리는 반드시 EMM(Expanded
Memory Manager, 확장메모리 관리자)에 의하여서만 관리될 수 있다. 이론상
AT는 16MB 크기까지, 386 이상의 컴퓨터는 4GB(4,096MB)크기 까지의
Expanded Memory를 설치할 수 있다. 386의 경우 현실적으로 설치할 수 있는
확장 메모리의 양은 32MB 정도이다. AT/286은 add-on board(EMS용 보드)와
그 보드를 지원하는 프로그램이 있어야 확장메모리를 쓸 수 있다. 그러나
386과 486은 별도의 하드웨어가 없더라도 EMM만으로 확장메모리를 쓸 수 있
도록 설계하였다.
EMS:
Expanded Memory Specification'의 약자이다. 직역하면 '확장 메모리 특
성'이 되지만 본래의 뜻은 '확장 메모리에 관한 규약'이다. 이 규약은
Lotus, Intel, Microsoft의 세 컴퓨터 관련 회사가 확장 메모리를 프로그램
이나 유틸리티를 통하여 공유하기 위하여 개발하였는데 이것이 EMS 버전
3.2이다. 그 후에 AST 와 Ashton-Tate 두 회사가 그 보다 더 개선된 EEMS
(개선한 EMS)를 개발하였다. EMS 3.2와 EEMS를 통합하여 현재 사용되고 있
는 EMS 버전 4.0을 만든 것이다. 구 버전 (EMS 3.2, LIM EMS)의 경우에는
오직 Upper Memory Area에 있는 Page Frame에서만 확장 메모리를 매핑할 수
있었으나, 최근에 주로 사용되고 있는 EMS 4.0은 전통 메모리의 아무 곳에
서나 매핑할 수가 있다.
도움말: 연장 (eXtended)과 확장 (Expanded) 두 낱말의 차이점
----------------------------------------------------------
두 낱말이 모두 '늘리다, 늘어나게 하다'라는 뜻을 지니고 있다. 그렇다
고 해서 두 낱말이 동의어는 아니다. 분명한 차이점이 있다. 영어의
'eXtend'란 단어는 '뻗치다', '연장하다', '잡아 늘리다', '길이를 늘어나
게 하다'와 같이 길이가 늘어나는 것을 나타낸다.
이에 반하여 'expand'는 '확장하다, 부풀리다, 부피가 팽창하다, 펼치다,
꽃이 피다'와 같이 부피가 늘어나는 것을 나타낸다. 이 말에 대한 차이점을
도로에 비유하여 보면 이해가 쉽다: 도로 공사를 할 때 1 Km의 길을 4 Km로
길게 만든 것을 '연장한 도로'(eXtended Road)라고 하며, 1차선 도로를 4차
선 도로로 늘린 것을 '확장한 도로' (Expanded Road)라고 한다. 즉, 길이가
늘어나면 '연장', 폭이 늘어나면 '확장'이라고 표현하는 것이다. 이에 따라
eXtended Memory는 '연장 메모리', Expanded Memory는 '확장 메모리'로 번
역하는 것이 문자적인 뜻으로 보나 두 메모리의 구조적인 특성으로 보나 가
장 본래의 뜻에 가깝다.
{{ 3.3 기타 메모리에 관한 용어들
--------------------------------------------------------------------------------
}}3.3 기타 메모리에 관한 용어들
Memory Manager (메모리 관리자):
메모리 관리자란 뜻이며 메모리를 관리하여 주는 프로그램들을 일컫는 말
이다. 여러 종류의 응용 프로그램들이 같은 메모리를 공유하게 되면 충돌하
므로 이를 방지하기 위하여 적절하게 배정하는 역할을 한다. 각각 관리하는
프로그램의 종류에 따라 XMM(XMS Memory Manager, 연장메모리 관리자)
EMM(EMS Memory Manager, 확장메모리 관리자),로 구분한다.
Device (장치):
디바이스(Device)는 장치란 말이다. 컴퓨터의 본체인 CPU(Central
Processing Unit : Microprocessor)와 버스(Bus)를 제외한 나머지는 모두
Device라고 볼 수 있다. 마더보드에 달려있는 메모리, 케이스 안에 들어있
는 디스크 드라이브들, 컴퓨터 밖에 달려있는 키보드, 모니터, 프린터, 모
뎀 등을 모두 디바이스라고 부른다. 컴퓨터 본체의 주변에 달려 있다고 하
여 '주변 장치', 또는 '주변 기기'란 말도 쓴다. 디바이스는 보거나 만질
수 있는 하드웨어이다.
Device Driver (장치 구동자):
메모리에 상주하면서 컴퓨터에 딸린 Device(장치)를 사용자가 원하는 대
로 움직이게 만들어 주는 프로그램을 디바이스 드라이버라고 한다. 디바이
스는 하드웨어이고 디바이스 드라이버는 소프트웨어이다. 대부분의 디바이
스들은 전용 디바이스 드라이버에 의하여 제 성능을 발휘하게 된다. 디바이
스 드라이버용 화일들은 대부분 루트 디렉토리에 있는 config.sys 화일의
DEVICE 명령에 의하여 등록되며 확장자가 .SYS인 경우가 많고 경우에 따라
서는 .EXE .COM인 경우도 있다. 디바이스 드라이버를 동작하게 만들려면 컴
퓨터를 다시 켜거나(cold booting) 웜부팅(warm booting)을 다시 해야 된
다. 디바이스 드라이버들은 컴퓨터를 처음 동작시킬 때 가장 먼저 메모리를
차지하고서 일을 시작한다.
HIMEM.SYS나 EMM386.EXE와 같은 Memory Manager들도 RAM이란 디바이스를
움직이게 하므로 드라이버에 속한다.
TSR:
TSR은 Terminate and Stay Resident의 약자이다. 전체 또는 부분적으로
항상 메모리에 거주하고 있다가 필요할 때 부르면 즉시 나타나 일을 하고
서, 마친 후에는 다시 부를 때까지 뒷편에 대기하는 프로그램들을 말한다.
단축 키를 사용하여 나타나거나 사라지게 만든 TSR 프로그램들이 많다.
다음검색