第四节 中文Windows XP和控制台命令 |
|
§2-4-5 如何进行系统配置
|
☆为什么要做系统配置 电脑在启动时会自动寻找config.sys这个文件,如果没有它,电脑就按默认的方式运行,但这种默认的方式在大部分情况下都不是最适合电脑使用的,所以我们应对电脑进行设置,比如设置对扩展内存的使用,加载光驱驱动程序等。
如果您的电脑出现Windows使用不了、游戏报告内存不够、光驱找不到、无法连接网络等等错误,合理修改config.sys也许能解决一半以上的问题。
config.sys是文本文件,可以用任何编辑器编辑修改。如果你增添、更改或删除config.sys文件中的任一配置命令,则这种改变只在下一次启动DOS时才有效。
☆用CONFIG.SYS配置
根据以前的介绍,大家都知道可以在config.sys中可以对系统进行配置,下面我们先学一学基本命令,在第五节将详细介绍一个多种系统配置的例子。
files=[数字] |
表示可同时打开的文件数, 一般可选择20到50,如果要拷贝或解压缩大批的小文件(在安装台湾的一些游戏时经常会遇到这种情况,文件数可能有几千),可以把
files的值设为上限值255,这样可以提高拷贝或解压缩的速度。但是要注意,如果把files的值设得过大会占用过多的基本内存。如果不加设定,系统缺省为files=8,该缺省值足以满足多数操作环境的需要。
有的系统配置文件里可能会出现 FCB=[数字]这条语句,它也是用于确定DOS可同时打开的文件最大数,
它与files= [数字]的区别在于打开文件的方式不同。一些旧的应用程序会要求用FCB方式打开多个文件,这样,在config.sys里就要使用FCBS命令。 |
buffers=[数字] |
表示设置磁盘缓冲区的数目,通常设置为20-30左右。缺省值一般为15。
磁盘缓冲区是一块内存区,它用于存储从磁盘读入的数据或存储写到磁盘的数据。DOS在读或写一个记录时,先检查包含那个记录的数据块是否已在磁盘缓冲区中,如果不在,就从磁盘上将该数据块读入到磁盘缓冲区中,再将此记录传送给应用程序;如果数据已在磁盘缓冲区中,则不必从磁盘上读入,而是直接把数据传送给应用程序。由于从磁盘上读取数据是相对耗时较多的操作,所以增加磁盘缓冲区可以节省很多读盘的时间。但是要注意,增加磁盘缓冲区是要占用内存的,所以,磁盘缓冲区的数值并不是设得越大越好,最佳的磁盘缓冲区数目要根据用户的机器配置和通常运行的程序类型来确定。
|
device和devicehigh |
加载一些内存驻留程序,用于管理设备。比如内存管理程序和光驱驱动程序等。 如:
device=c:\dos\himem.sys device=c:\dos\emm386.exe ram devicehigh=c:\cdrom\cdrom.sys
devicehigh 与device的不同是前者将程序加载入高端内存。 |
himem.sys和emm386.exe |
DOS只能直接使用640K的内存,即基本内存,必须依靠其它内存管理程序来使用更多的内存,这两条命令就是最常用的内存管理程序。
640K到1M之间的内存叫高端内存,是系统保留使用的;1M以上的内存叫扩展内存;在早期还有一种内存,是要在主机内安装一块内存板的,叫扩充内存,现在已经很少使用。
himem.sys负责管理扩展内存。
emm386.exe负责管理高端内存并在扩展内存中模拟扩充内存供某些软件使用。
为了使用更多的内存,配置文件中应有: device=c:\dos\himem.sys
device=c:\dos\emm386.exe ram
注意:EMM386.exe要求先安装himem.sys,因而必须确保安装himem.sys的配置命令在emm386.exe之前。
|
dos=high,umb |
这两个参数也可以分开写成两条语句,即: dos=high
dos=umb 应在config.sys中加入这条命令,这样会将DOS的系统文件移入高端内存,空出更多的基本内存给其它软件使用。
注意,如果用户没有安装emm386.exe,umb这个参数是没有实际意义的。 |
lastdriver |
lastdriver规定用户可以访问的最大驱动器符数目,也就是DOS所能识别的最后的驱动器符(字母)。如果设定的驱动器符数目小于本机上的实际驱动器数,则此lastdriver命令会被忽略掉。缺省的最大驱动器符数目为本机的实际驱动器数目加一。 |
rem |
它和批处理文件中的rem含义相同,即注释。 |
一个典型的config.sys文件内容如下:
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE
NOEMS
buffers=15,0
files=50
dos=UMB
lastdrive=Z
dos=HIGH
DEVICEHIGH=C:\DOS\ATAPI_CD.SYS /D:MSCD000 /I:0
STACKS=9,256
☆了解DOS下的内存
DOS操作系统最早设计时,PC机的硬件系统只支持1M字节的寻址空间,所以DOS只能管理最多1M字节的连续内存空间。在这1M内存中,又只有640K被留给应用程序使用,它们被称为常规内存或基本内存,其它384K被称为高端内存,是留给视频显示和BIOS等使用的。在1982年,640K内存对微型计算机来说显得绰绰有余,人们甚至认为,640K的内存可以用来干任何事。现在看起来有些可笑,但在当时,情况确实如此。
现在的情况是,即使你的电脑装有几兆或几十兆内存,但如果你使用DOS操作系统,那么你也只有640K的内存可以直接使用,1M以上的内存要通过一些内存管理工具才能使用。值得庆幸的是,Windows
95已经不存在常规内存的限制了,你所有的内存,不管是8M还是128M,都可以被直接使用。
在DOS下,系统中存在以下四种内存:
常规内存(Conventional Memory);
高端内存(Upper Memory);
扩充内存(Expanded Memory);
扩展内存(Extended Memory)。
常规内存指的是0-640K的内存区。在DOS下,一般的应用程序只能使用系统的常规内存,因而都要受到640KB内存的限制。而且由于DOS本身和config.sys文件中的安装的设备驱动程序和autoexec.bat文件中执行的内存驻留程序都要占用一些常规内存,所以应用程序能使用的常规内存是不到640K的。有很多时候,我们都要想方设法地整理内存,好为一些“胃口”比较大的应用程序留出足够的常规内存,这一点想必是许多DOS时代的电脑爱好者最熟悉不过的了。
高端内存是指位于常规内存之上的384K内存。程序一般不能使用这个内存区域,但是EMM386.exe可以激活高端内存的一部分,并且它允许用户将某些设备驱动程序和用户程序用Devicehigh或LH(即loadhigh)装入高端内存。dos=high,umb也是把DOS的一部分装到高端内存里。这里的umb是高端内存块(Upper
Memory Block)的缩写。
扩充内存是一种早期的增加内存的标准,最多可扩充到32M。使用扩充内存必须在计算机中安装专门的扩充内存板,而且还要安装管理扩充内存板的管理程序。由于扩充内存是在扩展内存之前推出的,所以大多数程序都被设计成能使用扩充内存,而不能使用扩展内存。由于扩充内存使用起来比较麻烦,所以在扩展内存出现后不久就被淘汰了。
扩展内存只能用在80286或更高档次的机器上,目前几乎所有使用DOS的机器上超过1M的内存都是扩展内存。扩展内存同样不能被DOS直接使用,DOS5.0以后提供了Himem.sys这个扩展内存管理程序,我们可以通过它来管理扩展内存。emm386.exe可以把扩展内存(XMS)仿真成扩充内存(EMS),以满足一些要求使用扩充内存的程序。
最后再强调一下,不管扩充内存或扩展内存有多大,DOS的应用程序只能在常规内存下运行。有的程序可以通过DOS扩展器(比如DOS4GW.exe等程序)使CPU进入保护模式,从而直接访问扩展内存;但是要注意,进入保护模式以后,计算机就脱离了DOS状态。
☆获得更多常规内存
DOS环境下的大部分程序都是在常规内存中运行,如果某个程序由于内存不够而运行失败,最常见的问题就是常规内存不足。下面介绍几种常用的释放常规内存的方法:
一、当系统配置有扩展内存时,可以将DOS的大部分代码和Command.com的暂驻内存部分安装在高内存区(HMA)。
这要求在config.sys中包含有下述命令:
device=Himem.sys
dos=high
虽然Himem.sys本身也要占用少量的常规内存,但可以使用HMA将为我们节省出更多的常规内存。
二、精简config.sys和autoexec.bat文件的内容,不启动那些不必要的内存驻留程序,这些内存驻留程序往往占用很多常规内存。
如果config.sys文件中含有安装smartdrv.exe或ramdrive.sys的device命令,可以取消它们以节省常规内存。特别是smartdrv.exe要使用大量的常规内存。如果一定要使用ramdrive.sys,应保证RAM盘建在扩展内存中,而不是在常规内存中。
如果config.sys文件含有buffers命令,应减少buffers指定的磁盘缓冲区数目,每一个缓冲区会占用532个字节的常规内存。但是过多地减少盘缓冲区的个数会造成一些程序不能正常运行,一般buffers不宜小于15。
如果config.sys文件中包含lastdriver命令,取消该命令或将lastdriver设成J或K,而不要设成Z。因为DOS为每个允许访问的逻辑驱动器在内存中建立一个对应的管理块CDS,每个CDS大约占用80多个字节的常规内存。
config.sys文件中的device和devicehigh命令的次序是很重要的,它将影响内存的有效使用和config.sys启动时的一系列程序的正确运行。在config.sys文件中最好按以下次序安装设备驱动程序:
1 Himem.sys;
2 使用扩展内存的的设备驱动程序;
3 emm386.exe,如果使用emm386仿真扩充内存并提供对高内存块(UMBs)的存取功
能,那么EMM386命令行应包括RAM开关而不用NOEMS。NOEMS禁止emm386.exe仿真
扩充内存,但它为安装设备驱动程序和运行其它程序提供最大的可用高内存块。
4 使用扩充内存的的设备驱动程序;
5 使用高内存块(UMBs)的设备驱动程序。
对于autoexec.bat,我们的建议是:去掉用户不需要的那些内存驻留程序;如果只在Windows中使用鼠标,不要安装任何鼠标设备驱动程序,比如mouse.com,因为Windows有一个内置的鼠标设备驱动程序。
三、尽可能地在高端内存区(UMB)中安装设备驱动程序和运行其它的内存驻留程序。
☆进行多种系统配置
由于软件的增多,而不同软件所需的系统配置并不相同,致使我们需要经常改变配置,如果每次都改写config.sys是相当麻烦的,于是DOS设计了菜单式多重任务选择的配置,就方便多了,比如有些游戏无需扩展内存,有些又必须有扩展内存,有些汉字系统还必须设置虚拟盘等,采用多重设置将是一劳永逸的事。
例:两种设置
[menu]
menuitem=nomal ,nomal configuration
设置第一种配置
menuitem=myself ,configuration for myself
设置第二种配置
menudefault=nomal,5
设置默认的配置和自动选择的时间
menucolor=15,1
设置菜单的颜色
[nomal]
此处为第一种配置, [ ]中的内容需与menuitem后的字符相同
files=30
buffers=30
device=c:\dos\hime.sys
device=c:\dos\emm386.exe ram
lastdrive=z
[myself]
此处为第二种配置
files=35
buffers=20
device=c:\dos\hime.sys
device=c:\dos\emm386.exe noems
[common]
[]中为common则表示此处为各种配置都使用到的配置项
dos=high,umb
其中[menu]区中为菜单的设计:
menuitem 表示设置对应的配置区,可以有多个配置区,逗号后是菜单上显示的内容。
menudefault 设置默认的菜单选项,逗号后是自动选择的时间。
menucolor 设置菜单颜色,逗号前为文字色,后为背景色。
这样在电脑起动时,就会有菜单显示以供用户选择了。对应的,在autoexec.bat中也可以进行多任务选择,比如:
@ECHO OFF
PROMPT $p$g
set blaster=a220 i5 d1
此处为公用设置区
set temp=c:\dos\temp
goto %config%
转至标号%config%
其中%config%的值是由选择某一菜单项时自动确定的
:nomal 此处为对应的第一个设置,:后的字符需与config.sys中的配置区名相同
LH /L:0;1,45456 /S C:\DOS\SMARTDRV.EXE
PATH C:\WINDOWS;C:\DOS;C:\UCDOS;c:\tools;c:\tools\vpic
lh c:\mouse\amouse.com
goto end
:myself
此处为对应的第二个设置
PATH C:\DOS;c:\tools
lh c:\mouse\amouse.com
goto end
:end
|
7上一页 1 2 3 4
5 6 下一页8 |