- 참고 - 도스 상태에서 메모리 부족 문제 해결...
일단 위의 메시지가 나오는 경우에는 크게 두 종류의 메시지가 부족하기 때문에 나타납니다.
먼저 emm386 을 이용하는 EMS 메모리 부족입니다. EMS 는 연속 확장 메모리라고 해서 도스가 아무리 메모리가 많아도 사용가능한 메모리가 640KB 라는 점을 개선한거라고 보시면 됩니다.
도스는 기본메모리라고 해서 아무리 메모리가 많아도 명령어를 처리할 때는 640KB (MB 아닙니다.) 내에서 처리를 합니다. 그러다보니 용량이 크거나 더많은 메모리를 요구하는 프로그램을 사용할 수 없는 단점이 나타났습니다. EMS 는 그런문제의 해결을 위해 나온 것으로 기본적인 명령의 실행에는 관여하지 않지만 명령이 실행된 후에 나머지로 필요한 부분을 확장 메모리로 끌어와 프로그램이 실행 되게 끔 합니다.
- 명령의 실행과 프로그램의 실행이 일치하는게 아닙니다. -
다음으로 위에서 언급한 기본 메모리가 있습니다. 이것은 위에서도 말했지만 도스가 어떤 명령을 실행할 때 필요한 메모리 입니다. 기본적으로 도스의 기본 메모리는 640KB 이지만 도스로 부팅하게 되면 그 중 일부는 램 상주 프로그램이 계속적으로 사용을 합니다. 그렇기 때문에 램 상주 프로그램이 사용하고 남은 용량이 사용가능한 도스의 기본 메모리입니다. 보통 그냥 메모리가 부족하다는 메시지는 사용가능한 기본 메모리가 부족하다는 메시지 입니다.
서두가 지루하게 길었네요 --;;;;;
본론으로 들어가서 이제 메모리를 확장하는 방법을 알려드리겠습니다.
먼저 메모리 확장에 필요한 파일이 있습니다. EMM386.EXE , HIMEM.SYS , CONFIG.SYS 이 세 파일이 필요 합니다.
방법은 간단합니다. CONFIG.SYS 파일을 열어서 다음의 내용을 추가 하면 됩니다. 가급적 제일 윗 줄에 써주세요...
DEVICE=A:\HIMEM.SYS (A:\ 에 HIMEM.SYS 가 있을 경우)
DEVICE=C:\WINDOWS\EMM386.EXE RAM (C:\WINDOWS 에 있을 경우)
- 위에서 경로를 쓰는 부분에 맞춰서 쓰면 됩니다.
DOS=HIGH,UMB (HMA 와 UMB 를 사용하라는 명령)
FILES=40 (동시에 열수 있는 파일의 갯수)
BUFFERS=40,0 (도스에서 사용하는 디스크의 버퍼양)
기타 및 줄에 써있는 DEVICE 항목을 DEVICEHIGH 로 바꿔줍니다.
HIMEM.SYS 는 HMA (High Memory Area) 과 UMB (Upper Memory Block) 을 사용하기 위해 필요합니다.
도스의 기본 메모리가 부족하기 때문에 램상주 프로그램이 사용하는 용량을 줄이기 위해서는 램상주 프로그램을 기본 메모리에서 사용하지 않게 하는게 좋습니다. 그래서 나온것이 HMA 와 UMB 입니다. UMB 는 640KB 와 712KB 사이의 공간이고 직접적으로 램상주 프로그램을 이곳에서 쓰겠금 할 수 있습니다. 그 명령어가 DEVICEHIGH 입니다.
HMA 는 원래 640KB 와 1MB 사이의 공간입니다. UMB 를 사용하면 712KB 와 1MB 사이의 공간이 되죠.
아무튼 이 공간에 램상주 프로그램을 올려놓게 되면 상대적으로 기본메모리의 공간이 확보 됩니다.
주의 하실 것은 DEVICE=경로\EMM386.EXE RAM 에서 옵션 RAM 인데 실질적으로 RAM 과 AUTO 라는 옵션은 EMS 메모리를 자동으로 잡아준다는 것이 같습니다. 하지만 AUTO 를 쓰게 되면 640KB 이후의 공간부터 EMS 메모리를 잡기 때문에 HMA 나 UMB 를 사용하지 못합니다. 그말은 EMS 는 확보되지만 기본 메모리는 여전히 부족할 수 있다는 겁니다.
많은 사용자 분들 중에 98 을 사용하시는 분들은 제가 알려드린 것을 이용해 도스의 메모리가 올라가는 것을 직접 확인해 보십시요.
일단 현 상태에서 F8 을 눌러 도스 부팅후 MEM 명령으로 메모리가 어느 정도인지 확인 하시고 제가 알려드린 방법으로 수정하신 후에 도스부팅을 하셔서 MEM 명령으로 기본메모리가 올라 간 것을 확인해 보십시요.
별로 필요성이 없는 자료이지만 혹시나 도움이 될 까해서 글 올립니다.