sharksym's MSX World

sharksym.egloos.com

포토로그


구글 애드센스 (블로그 기본)


DOS2 램디스크 간단 활용 및 버그(?) 소개 by sharksym

일단 서론 나갑니다. ㅎ.ㅎㅋ

DOS2부터 커널에서 메모리 매퍼를 지원합니다.
근데, 대부분의 DOS프로그램들은 TPA(기본 메모리 64K 이하 영역) 만으로 구동되기 때문에,
메모리를 많이 확장하더라도 그다지 활용되지 않습니다.

20여년 전 국내 상황에서는 turboR 기종이 아니면, DOS2 사용하기가 힘들었던 것도 이유가 되겠구요.
DOS2 용 프로그램 만들어봐야 구동 가능한 사용자가 별로 없으니,
차라리 재미나 램카드를 활용하는 프로그램이 더 유용했을 것 같기도 하네요. ㅎ.ㅎ

어쨌거나 20여년이 지난 지금, 많은 분들이 DOS2 를 사용하고 계시지요. (맞나요? ㅋ)
DOS2는 자체적으로 램디스크를 지원합니다.
메모리 매퍼 일부분을 가상의 디스크로 만들어주는 것이지요.

기본적인 사용법은 DOS2 프롬프트에서 HELP RAMDISK 라고 입력하면, 도움말을 볼 수 있으니 참고하시구요.
그럼, 본론 나갑니다~

1) 램디스크 설정
   RAMDISK 숫자
   숫자는 KB단위로 인식됩니다. 128KB 램디스크를 만드려면, RAMDISK 128 입력하면 되겠습니다.
   램디스크는 항상 H: 드라이브로 생성이 됩니다.
   만약 H: 드라이브가 이미 존재한다면, 램디스크 추가가 불가능합니다.

2) 램디스크 해제
   RAMDISK /D
   입력하면 할당된 메모리가 해제되며, H: 드라이브는 더이상 사용 불가능합니다.
   임시로 저장했던 파일이 있다면, 미리 다른 물리 디스크로 복사해야 되겠지요.

3) 주의 사항
   FAT16 드라이버(Okei 씨 프로그램)를 함께 사용하려면,
     먼저 RAMDISK 설정 후 FAT16 드라이버를 실행해야합니다.
   FAT16 드라이버가 실행된 상태에서는 RAMDISK 설정/해제가 불가능합니다.

4) 실제 활용
   램디스크가 FDD보다는 훨 빠르지만,
     MMC/SD 드라이브, 선라이즈 IDE, OCM MEGA-SD 등의 기기보다는 느립니다.
   이 경우는 CPU, 메모리가 고속인 turboR에서만 램디스크 효과가 있겠습니다.

   DOS2에서 응용 프로그램 실행/종료가 되면 항상 COMMAND2 쉘 프로그램이 재로딩됩니다.
   이 때, COMMAND2가 램디스크에서 로딩되면 조금 더 쾌적한 환경이 됩니다.
   제 경우는 아래처럼 AUTOEXEC.BAT 및 REBOOT.BAT 설정하고 있습니다.
   SET SHELL 설정 참고하셔요.

[AUTOEXEC.BAT]
SET EXPERT=ON
SET SHELL=A:\COMMAND2.COM
SET PATH=B:\UTILS\;B:\M\;C:\
SET HELP=B:\HELP
MODE 80
VER
RAMDISK /D
RAMDISK 64
COPY COMMAND2.COM H:\
VOL H:RAM_Disk
FAT16
KS_SPE
KS_HANJA
REBOOT %1

[REBOOT.BAT]
SET SHELL=H:\COMMAND2.COM
SET PATH=H:\;B:\UTILS\;B:\M\;C:\
SET TEMP=H:\
C:
cd \
MODE 80
M


마지막으로, 램디스크의 버그로 보이는 동작 하나 소개합니다.
RAMDISK는 항상 H: 드라이브로 할당되도록 만들어져있는데요.
근데 램디스크 해제 명령인 RAMDISK /D는
 H: 드라이브가 실제 물리적인 디스크인 상태에서 실행하면, H: 드라이브를 날려버립니다.
H: 드라이브가 없어지면 접근이 불가능해집니다. 흐흠...

저는 요걸 터보알에서 유용하게 쓰고 있는데요.
부팅 시 MMC/SD 두대가 A: B: C: D: E: F: 로 할당되고,
G: H: 가 본체 내장 FDD로 할당됩니다. (FDD는 물리적인 디스크는 한개지만 가상으로 2개를 지원합니다.)

이 상태에서는 DOS2의 드라이브 문자가 모두 할당되어서 더이상 RAMDISK 설정이 불가능합니다.
근데 RAMDISK /D 를 실행하면, FDD인 H: 가 삭제됩니다. ㄷ ㄷ ㄷ
그러면 RAMDISK 설정 시, 에러나지않고 정상 할당이 됩니다.
저~~~기 위의 AUTOEXEC.BAT 내용에 RAMDISK /D가 포함된게 그 이유 때문이에요.

그럼, 줄입니다.
궁금한 점 있으시면, 덧글 달아주세요~ ㅎ.ㅎ






Title MSXrating email rss

CCL

크리에이티브 커먼즈 라이선스
Yeongman Seo에 의해 작성된 저작물은, 별도의 라이선스 조건이 없는 경우 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

ClusterMaps

구글 애드센스 (세로 큰직사각형)

통계 위젯 (화이트)

323
186
155633

이 이글루를 링크한 사람 (화이트)

25