不久前,一位高中电脑发烧友问我们,说他买了一台486多媒体电脑(主板是HIPPO-15,4M RAM,DOS版本6.0),看VCD、听CD都很好,但玩“三国”就出问题,屏幕上显示“not enough memory”(没有足够的内存),“演义”演不下去,他问这是怎么回事?怎样解决。
启动他的计算机到DOS状态,用EDIT编辑器列出Config.sys和Autoexec.bat文件,清单如下:
Config.sys
DEVICE=C:\DOS\SETVER.EXE
*装入版本校正文件。
DEVICE=C:\DOS\HIMEM.SYS
*装入内存管理程序。
DEVICE=C:\DEV\ATAPL_CD.SYS/D:MSCD000/I:0
*装入光驱管理程序。
DEVICE=C:\WINDOWS\SMARTDRV.EXE/DOUBLE- BUFFER *装入存取硬盘高速缓冲(DISK-CACHING)程序。
DOS=HIGH *响应HIMEM.SYS将DOS的常驻部分搬到HMA(高存区,High memory area)。
FILES=30 *设置打开文件数为30
STACKS=9,256
* * *
Autoexec.bat
@ECHO OFF
C:\DOS\MSCDEX.EXE/D:MSCD000/M:12/V
C:\WINDOWS\SMARTDRV.EXE/U
PROMPT $P$G
PATH=C:\WINDOWS;C:\DOS
看完文件,我们向他解释说:“这是由于系统配置文件Config.sys和自动批处理文件Autoexec.bat中写入的指令结构没有符合你的要求所造成的。”,接着键入mem命令检查内存使用状况,屏幕上显示如下数据:
MEMORY TYPE TOTAL=USED+FREE
——————————————————————————
Conventional 640k 96k 544k
Upper 0k 0k 0k
Adapter RAM/ROM 130k 130k 0k
Extended(XMS) 3326k 64k 3262k
——————————————————————————
TOTAL MEMORY 4096K 290K 3806K
TOTAL UNDER 1MB 640K 96K 544K
LARGEST EXEGUTABLE PROGRAM SIZE 544K
LARGEST FREE UPPER MEMORY BLOCK 0K
MS-DOS IS RESIDENT IN THE HIGH MEMORY AREA
“你瞧!”,640K的常规内存被用去了96k,只剩下544k自由内存,也就是说执行程序最大可占用的内存不能超过544k,而运行“三国演义”所要求的常规自由内存达576k,这肯定运行不下。
对于286以上微机,如果拥有足够的扩展内存,在安装5.0以上版本的DOS时,DOS会修改CONFIG.SYS,加上DEVICE=C:\DOS\HIMEM.SYS DOS=HIGH指令行,以便将DOS的常驻部分搬到HMA高存区(HIGH MEMORY AREA),节省常规内存的空间,自由内存一般可达620K,但是MPEG解压缩卡所用的驱动程序占据了部分常规自由内存,结果造成了看VCD与玩“三国演义”的矛盾冲突。
Config.sys是一个建立计算机系统的配置文件,写有一些配置系统的命令行,以用来改善或修改计算机性能,使用户使用时更感方便,灵活。它是一个文本文件,可使用编辑器来编写,建立在启动盘的根目录上,每次启动DOS时,DOS自动在系统盘上搜索、读入该文件,并按其指令对计算机系统进行初始化设置。在一个Config.sys文件中可以使用多条DEVICE(设备)指令行来定义多个扩充设备,如鼠标、MPEG卡、声卡等,由于该命令是将设备的驱动程序驻留在内存中,使用的设备驱动程序越多,所占用的内存也越多,使能够运行程序的自由内存空间越来越小。因此在安装扩充设备比较多的计算机系统中,最好编制一个能够针对不同应用程序的要求对计算机进行相应不同的系统配置的Config.sys文件。如果我们按照菜单选择模式来编写Config.sys和Autoexec.bat两个文件,就可以自动实现不同需要的系统配置。
在DOS6.0中,用于编写系统配置菜单的命令有:
MENUITEM :定义一个菜单项。
MENUDEFAULT :规定一个缺省菜单项。
MENUCOLOR :设置正文与莱单的背景颜色。
SUBMENU :规定一个选择的子菜单。
我们根据这位发烧友同学的计算机配置情况和应用要求,重新编写了Config.sys和Autoexec.bat文件,实际上是编写了一个能够根据不同的工作需要来获得不同大小的常规内存的DOS菜单,可在DOS状态下,通过对屏幕上显示的菜单项进行选择得到不同需要的系统配置,解决了看VCD碟与玩“三国演义”的矛盾冲突。清单如下:
CONFIG.SYS
[COMMON]
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE
DOS=HIGH
FILES=30
STACKS=9,256
[MENU]
MENUITEM=MS-DOS
MENUITEM=MPEG
MENUITEM=WPS
[MS
[MPEG]
DEVICE=C:\DEV\ATAPL_CD.SYS/D:MSCD000/I:0
DEVICE=C:\WINDOWS\SMARTDRV.EXE/DOUBLE_B
[WPS]
[COMMON]
* * *
AUTOEXEC.BAT
@ECHO OFF
C:\DOS\MSCDEX.EXE/D:MSCD000/M:12/V
C:\WINDOWS\SMARTDRV.EXE/U
PROMPT$P$G
PATH=C:\WINDOWS;C:\DOS
SET TEMP=C:\DOS
GOTO %CONFIG% *接收CONFIG.SYS中的信息。
:MS-DOS
CLS
GOT
:MPEG
CLS
WIN
:WPS
CD\SPDOS
SPDOS
WPSNT
WBX
WPS
:END
重新启动计算机后屏幕上显示如下菜单
MS-DOS 6 STARTUP MENU
1.MS-DOS
2.MPEG
3.WPS
Enter a Choice:1
光带停在菜单第一项上,可用上、下光标键移动光带到任意项进行选择。选择1项,直接进入DOS,这时没有配置MPEG驱动程序,用MEM命令检查内存使用情况得知,现在的常规内存中有620K自由内存,完全可以进行“三国演义”了。重新启动计算机后选择第二项,计算机进入WINDOWS,可以看VCD、听CD碟。选择3,计算机进入WPS字处理系统,操作者可直接进行字处理。(邝允谦 赵介眉)