추억의 컴퓨터 이야기

메모리의 개념

nullzone 2017. 12. 25.
반응형

메모리의 개념

 

원본은 http://pcnt.com.ne.kr/dos.htm 에서 발췌한 글입니다.


메모리의 개념

여기서 말하는 메모리는 주기억장치인 RAM을 말하며,

일반적으로 프로그램이나 데이터를 올려 놓고 컴퓨터가 작업하는 작업테이블과 같습니다. 

그러므로, 메모리른 많을수록 좋지만, 도스에서는 일반적으로 1MB까지만 사용(?)하며, 

그것도 다 사용하지 못하고 640KB까지 사용할 수밖에 없습니다. 


이것을 '도스메모리의 한계'라고 부릅니다.왜 그럴까요 ? 아득한 옛날(?) 인텔에서 8086 CPU가 처음나왔을 때, 

그 당시에 메모리 가격이 엄청 비쌌고, 그에따라 프로그램들은 보통 기능면에서만 신경을 쓰고 겉모습등은 무시함으로써, 

프로그램의 크기를 대폭 줄였습니다. 또한 그때의 프로그램의 크기가 기껏해야 수십 킬로바이트가 될까 말까 하였습니다.


그 후 인텔은 8088 CPU를 만들면서 메모리 관리를 하는주소를 1024KB(1MB)로 한정 해 버렸습니다. 

그리고 그것도많다(?) 싶었는지 640KB까지는 프로그램이 실제로 사용하고 나머지 384KB 중 128KB는 비디오 램의 주소로 쓰고,

64KB는 롬-바이오스를 위해 쓰고, 나머지는 혹시라도 컴퓨터의 확장을 위해 롬을 꽂았을 때 그롬을 위한 주소로쓰게 일방적(?)으로 결정해 버렸습니다.

이러한 인텔 CPU를 사용하여 만들어진 IBM-PC(IBM-PC호환기종 포함)에 맞추어 만들어진 DOS는 당연히(?) 640KB 만사용하도록 만들어 졌습니다.

이러한 제조 업체의 횡포(?)로 인하여 과거(현재에도) 도스를 사용한 사람들은 메모리관리에 엄청난 고통(?)을 감내해야만 했습니다. 

물론 요즈음 만들어진 DOS의 후계자(?)라고 할 수 있는 Windows 95/98이나, LINUX등은 이러한 메모리 관리에 신경을 안써도됩니다만, 어찌되었던 도스나 윈도우즈 95/98을 사용하시는 분들은 메모리 관리에 신경을 써야할 때가 종종 있을것입니다.



 도스에서의 메모리 용어 및 관리




① Conventiol Memory(CM ; 상용메모리)

도스의 작업영역을 말하며, 640KB로 고정되어 있습니다그러나, 일부 시스템파일이나, 램상주프로그램들이 사용하고 있기 때문에, 실제 프로그램이 사용하는 메모리는 600KB 안팎일 경우가 대분일 것입니다. 정규메모리,기본메모리라고도 부릅니다.


② UMB(Upper Memory Block ; 상위메모리)

1024KB 메모리 중 640KB를 빼고 남은 384KB 메모리 중시스템에 의해 사용되고 남은 메모리 영역을 말하며,도스에서 램상주프로그램들이 사용할 수 있다.


③ Expanded Memory(EMS ; 확장메모리)

인텔, 마이크로소프트, 로터스 3사에서 제안하여 만든확장메모리 규격을 말하며, 확장 롬을 위한 공간(640KB에서1024KB 사이의 메모리)을 특별한 하드웨어의 도움을 받아 뱅크스위칭(Bank Switching)이라는 기술로활용 합니다. 그러나, 확장메모리(EMS)는 별도의 하드웨어 구입을 해야 했고, EMS에서 만들어진 프로그램을DOS가 인지할 수 있는 하드웨어가 거의 없었기 때문에널리 이용되지는 못 하였습니다.

80386이상의 시스템에서는 특별한 하드웨어 없이 도스의 「EMM386.EXE」라는 소프트웨어를 사용하여 사용할 수 있습니다.


④ Extended Memory(XMS ; 연장메모리)

기존 memory(1024KB) 외에 추가로 설치된 메모리 영역을 말하며 특별히 하드웨어가 필요치 않고「HIMEM.SYS」라는 소프트웨어로 관리 합니다.


⑤ High Memory Area(HMA ; 위쪽메모리)

기존의 1024KB 메모리와 추가로 설치된 연장메모리(XMS)가 겹쳐지는 64KB의 영역을 말합니다.


⑥ HIMEM.SYS

도스가 관리하는 1024KB 이외의 추가로 설치된 연장메모리(XMS)를 관리하는 소프트웨어로 도스에서 제공합니다.


⑦ EMM386.EXE

386이상의 기종에서 연장메모리(XMS)중 일부를 확장메모리(EMS)로 사용할 수 있게 하고 상위메모리(UMB)또한 관리하는 소프트웨어를 말합니다.



기종에 따라 사용할 수 있는 메모리

① XT에서 사용할 수 있는 메모리

상용메모리(CM)만을 사용할 수 있으며, 확장메모리카드를 추가로 장착하였을 때는 확장메모리(EMS)를 사용할수 있습니다.


② AT에서 사용할 수 있는 메모리

상용메모리(CM)와 HMA,그리고 연장메모리(XMS)를 사용할 수 있으며, 연장메모리 관리자인 HIMEM.SYS가 있어야 합니다.


③ 386이상의 기종에서 사용할 수 있는 메모리

모든메모리를 사용할 수 있으며, XMS 관리자인HIMEM.SYS를 설치하면 HMA와 연장메모리를 사용할 수있고, UMB와 확장메모리를 사용하려면 EMS관리자인 EMM386.EXE를 설치해야 합니다.
















반응형

'추억의 컴퓨터 이야기' 카테고리의 다른 글

[Game] 상하이마작 게임  (0) 2017.12.25
[Game] 그날이오면3  (0) 2017.12.25
[Game] 패크맨II  (0) 2017.12.25
[Game] 스코치라는 게임입니다.  (0) 2017.12.25
DOS의 파일시스템이란?  (0) 2017.12.25
디스크(DISK)란?  (0) 2017.12.25
DOS Booting이란?  (0) 2017.12.25
도스(DOS)란 무엇인가?  (0) 2017.12.25

댓글