Board logo

标题: [转帖]config系统的配置文件讲解 [打印本页]

作者: general    时间: 2004-9-18 07:12     标题: [转帖]config系统的配置文件讲解

[这个贴子最后由general在 2004/09/17 11:21pm 第 1 次编辑]

MSdos系统在启动时首先读入IO、sys--然后,依次是msdos、sys----config。sys--command、com--autoexec、bat。。。。。
       当然,目前本版块大多数同仁对IO、sys这样的启动核心文件还不能像站长wengier那样大刀阔斧地动手动脚。。。。那我们就在config文件里纵横驰骋地DIY吧。。
        pc机的系统启动时会自动寻找config.sys这个文件,如果没有它,系统就按默认的方式运行,但这种默认的方式在大部分情况下都不是最适合系统使用的,所以我们应对系统启动环境进行设置,比如设置对扩展内存的使用,加载光驱,usb驱动程序等。
   当您的系统出现系统使用不了、程序内存不够、设备找不到、声卡不能驱动,无法连接网络等等错误,合理修改config.sys也许能解决一半以上的问题。
  config.sys是文本文件,可以用任何文本编辑器编辑创建和修改。(建一个文本文件,写入内容后重命名为config、sys就行了)当然,同样的内容如果你把它叫了别的名字,像什么autoexec、sys之类。。。系统是肯定不会承认的啦。。呵呵。。。。如果你增添、更改或删除config.sys文件中的任一配置命令,则这种改变只在下一次启动DOS时才有效。这点大家可要记住哟。config文件只在系统初始化时载入执行。。。。
上面讲到了dos启动时在执行自动批处理命令前,在启动文件所在的根目录中自动检索config、sys文件。。。如果存在此文件系统就将此文件读入内存。。并逐行解释该文件中的每条命令。
(大家一定要记住“逐行解释”解释这四个字)设置当前的dos系统配置。。。
       一般来说,config、sys文件是ASCLL码文本文件。。。下面我们就讲讲config文件里的一些常规命令及其功能。
       1,检查命令
           BREAK命令用于指令dos经常不断地检查用户是否按下Ctrl_Break键。。
           其一般格式为:BREAK=ON/OFF
           break=on时,dos系统在任何时候都检查Ctrl_Break...这种状态下,用户可以通过按
Ctrl+Break组合键(即著名的CTRL+C)退出正谠诵械某绦蚪?程??br>           break=off时,dos系统只在满足下叙几个条件时才会检查用户是否按下Ctrl+Break组合键。  
           (1)标准输出操作;
           (2)标准输入操作;
           (3)标准打印操作;
           (4)标准辅助操作;
        2,缓冲命令
            BUFFERS执行dos启动后,在系统内存中建立磁盘缓冲区。磁盘缓冲区使用内存中某一区域,dos利用其进行数据操作。磁盘缓冲区是一块内存区,它用于存储从磁盘读入的数据或存储写到磁盘的数据。DOS在读或写一个记录时,先检查包含那个记录的数据块是否已在磁盘缓冲区中,如果不在,就从磁盘上将该数据块读入到磁盘缓冲区中,再将此记录传送给应用程序;如果数据已在磁盘缓冲区中,则不必从磁盘上读入,而是直接把数据传送给应用程序。由于从磁盘上读取数据是相对耗时较多的操作,所以增加磁盘缓冲区可以节省很多读盘的时间。但是要注意,增加磁盘缓冲区是要占用内存的,因之减少了应用程序所能够使用的内存,必然增加读写磁盘的次数,造成软件执行速度变慢甚或不能执行。所以,磁盘缓冲区的数值并不是设得越大越好,最佳的磁盘缓冲区数目要根据用户的机器配置和通常运行的程序类型来确定。buffers命令的一般格式为:
            BUFFERS=1-99之间的整数
            其缺省值为2,ibmdos为3。

作者: general    时间: 2004-9-18 07:15     标题: [转帖]config系统的配置文件讲解

3,设置打开文件数
                   FILES命令和FCBS命令一般来说都是设置dos系统同时可处理文件的数目。当我们想装一些游戏(像DD的仙剑)的时候,要拷贝或解压缩大批的小文件文件数可能有几千,这时就可以增加FILES的上限。就会dos提高拷贝或解压缩的速度。不过要记住一点,这可是要占用很多内存的哟。
                   FILES命令只能控制文件管理器(字)能够同时打开的文件数目,不会影响文件控制块(FCB)所控制的同时打开文件数。
                   其命令的一般格式为:
                   FILES=(8-255之间的整数)其缺省值为8
                   FCBS=(1-255之间的整数),(0-255之间的整数)缺省值为40,0
(FCBS=)前面的数必须大于后面的数。其中前面的数指定文件控制块(FCB)同时打开的最多文件数,后面的数指定文件控制块(FCB)同时打开相当文件时,dos系统不可自动关闭的文件数。如果由于dos关闭某个FCBS文件引起错误,可以加大前面的数值。config文件里使用FCBS命令语句,dos的常驻空间会增大。
                   在这里再告诉大家一点,多数应用软件是使用 FILES来管理打开文件的。
4,驱动装载
                  我们知道pc机的各种外部设备都有相应的设备驱动程序,系统在使用这些设备时需要装入其驱动程序。DEVICE命令就是做这份工作的。它载入一切我们运行dos系统时需要的
标准设备驱动(软盘,硬盘及键盘等输入输出设备)支持的设备之外的一切设备驱动。而且可以装载我们自己编写的驱动文件哟。
                 其一般命令格式为:DEVICE=盘符/所在路径(文件夹)/设备驱动文件
                这条命令在config文件中是一个很独特的命令,因为它可以多次使用,以指定多个不同功能的设备的驱动程序。有的情况我们可以在DEVICE命令后加上HIGH,以将设备驱动调入高端内存区,节省dos的常规内存。
5,设置命令处理器
             SHELL命令用于设置dos系统所使用的命令解释器。一般dos默认command、com为最外层的命令处理程序。如果我们使用了其他兼容的dos系统的command(如我就曾在msdos中使用romdos的command、com)就应该使用SHELL命令在config文件中进行设置。我们也可以用该命令调用其他功能更强大的命令解释器,如4dos、exe等。。当然,有谁自己开发了更好用的命令解释器(如aommand、com或7dos、exe之类),同样可以用SHELL命令装载。。
             该命令一般格式为SHELL=盘符/所在路径(文件夹)/命令管理器程序
如果命令管理器和此config文件同在当前盘可以省略前面的路径指向。
6,设置变量
              SET命令用于改变dos系统环境内的字符串的限定。建立新的dos环境。这个命令所体现的就是真正意义上的人机交互。。。。操作者和系统间可以使用此命令所规定的内存区域来改变特定的限制和缺省设置。可以使用该命令建立从%0到%9的变量。
              此时格式为:SET 变量名(字符串)=%0至%9的任何设定值
              我们如果要使用这个变量,可以在批命令文件中在这个字符串(变量)前后加上%符使用它。例如:我们set tmp=c:\dos 之后就可以在批命令中用DIR  %tmp%语句打开查看  c:\dos文件夹里面的内容。。。
              这条命令在模式dos6 以前,是用在autoexec文件里呢。当然,现在在批命令里一样用。。。

作者: general    时间: 2004-9-18 07:17     标题: [转帖]config系统的配置文件讲解

在dos中有些命令是特定的。如command所包含的copy,del,type等被称为内部命令的y一些指令。。。autoexec文件里特定的。。for,call,lh,if······等等。。。。
       同样,有哪些命令是在config文件支持的呢?我在下面把名称一一列举出来,解说的工作就放在后面慢慢讲吧。。。。
       config配置文件命令列表:
               ACCDATE             BREAK               BUFFERS  
               COMMENT            COUNTRY          DEVICE   
               DOS                    DRIVPARM          FCBS
               FILS                    INCLUDE             INSTALL
               LASTDRIVE          LOGO                 MENUCOLOR  
               MENUDEFAULT     MENUITEM          NUMLOCK           
               REM                    SHELL                 STACKS
               SUBMENU            TCHES           SET   
     其中  BUFFERS,DEVICE, FCBS ,FILES,INSTALL,  LASTDRIVE ,   STACKS  等命令可以添加“HIGH”语句以使用dos的扩展内存。如:DEVICEHIGH=。当然一定是在存在dos的扩展内存的时候。。。。               
7,设置时间和日期格式
                 这里讲一个我们中国人不常用的命令COUNTRY.这是一个设置时间和日期格式的命令。我们大家都知道因为地球物理的原因,各个国家的人种,风俗,时间都不尽相同,所以各国的币制也各各有差。dos缺省的是使用usa的。。COUNTRY可以改变缺省的时间,日期和币制。。所使用格式为:
                  COUNTRY=(001-972等规定的国家代码)没有中国的。所以具体代码我记不很清楚了。这条命令我基本上不用,只记得E国好像是044。可能wengier会很清楚吧。
                 8,低部内存管理
                 这是一个很有趣的命令。dos中的dos命令。前面的dos是指dos系统。后面的dos管理释放低部内存给应用程序。这个dos建立,维护低部内存,并建立低部内存和上部内存间的联系。可以把dos系统自己的一部分装入umb(高内存区)。
                 其一般格式为:
                  DOS=HIGH\LOW\AUTO[,UMB,NOUMB,]
                  HIGH   把部分dos装入高内存区(HMB)
                  LOW   限制dos在低内存区
                  AUTO  自动选择将dos放在哪里。
                  UMB    维护低端内存和保留内存之间的连接关系。。让dos能够使用   LOADHIGH 和DEVICEHIGH等命令将设备或程序装入高内存区。
                 NOUMB   禁止dos使用高内存区。限制低端内存和高部内存的连接。
                 此命令中一般不互相矛盾的参数可以连用,连用时请用“,”将它们隔开。使用HIGH和UMB参数时注意应该最少已加载HIMEM.SYS。这条命令可以存在于CONFIG文件中的任何位置。。
9,安装TSR
     一般我们把内存驻留程序称为tsr。我们知道多数程序调用是通过批处理命令来完成的。install就是在dos系统启动执行config文件时就安装一些tsr(内存驻留)程序在内存中。此时,install命令的执行不通过command(命令管理器)也不需要使用环境变量。
     其一般格式为:
     INSTALL=路径/TSR程序 [参数]
    10,包含命令
     config有一个选单功能,其目的是为了配置在不同环境下使用机器的相应配置文件。这样难免就会,有一些相互重复的命令语句。而config文件是认死理依次执行语句的。但,如果我们把这些相同的语句重复N次后。相信脾气再好的朋友也会骂一句“bill——该死”可是聪明的bill给我们提供了这样的一个命令INCLUDE。它指明config文件里选项方式存在时,在设定的一个配置块中包含另一个配置块的所有内容。此命令允许我们将几个配置块共同使用的配置语句组,设置成一个单块。在适当的时候用INCLUDE命令包含该块。这样大大减少了我们的重复劳动和config文件的长度。
       其命令一般格式为:
       INCLUDE=设定的所需包含的块名。

作者: general    时间: 2004-9-18 07:19     标题: [转帖]config系统的配置文件讲解

11,注释命令
        config文件在dos系统中可谓千差万别。为了让用户了解config文件中设置的意义和原理甚或目的。我们可以在config文件里使用REM命令添加注释语句。这类语句不参与执行。只是让用户更快的了解config文件配置的内容和将要进行的操作等等。。
        其命令一般格式为:
        REM  注释语句。。
        rem命令允许重复使用。每一个命令语句后的字符最大可以达到123个字符。对dos有特殊意义的字符应该用双引号引起来。
       此命令在.bat文件和config文件里通用。在批文件里(。bat文件)可以配合ECHO命令显示rem所注释的内容。此时ECHO在ON状态。我们可以通过EDIT等文本编辑器浏览rem命令所注释的内容。而且可以使用不带注释的REM命令在.bat文件和config文件中添加空行。但dos启动时会忽略空行。所以这点一般没有多大意义。

作者: general    时间: 2004-9-18 07:20     标题: [转帖]config系统的配置文件讲解

接着讲讲内存吧。我们在dos下如何获得更多的常规内存呢?前文我们提到DOS环境下的大部分程序都是在常规内存中运行,如果某个程序由于内存不够而运行失败,最常见的问题就是常规内存不够。所以我们今天介绍几种尽量释放常规内存的方法:
       一、当系统配置有扩展内存时,可以将DOS的大部分代码和Command.com的暂驻内存部分安装在高内存区(HMA)。 这要求在config.sys中包含有下述命令:       
  device=Himem.sys
  dos=high
  虽然Himem.sys本身也要占用少量的常规内存,但可以使用HMA将为我们节省出更多的常规内存。而且在msdos7 以上的版本中我们可以用devicehigh=himem.sys将Himem.sys放置在高端内存区。有关dos这个config文件中的特殊命令我们已经在前面讲了。这里就简单的讲讲Himem.sys。
       Himem.sys管理扩充内存和高端内存(HMA)的使用。通过device命令在config文件里配置这个设备驱动程序。如果我们使用扩充内存和高端内存,那麽安装Himem.sys的device命令必须先于任何其他驱动的安装。
      其命令一般格式为:
       device=Himem.sys  /选项
      选项:
      hmamin=0到63的整数,缺省值为0
改选项指定Himem.sys使用HMA(高内存区)之前,dos必须使用的常规内存量。以KB为单位。
      numhandles=1到128之间的整数,缺省值为32
该选项指定dos最大可以同时使用的EMB(扩充内存块)柄的数目。每个柄要占用6字节常规内存。
     int15=64到65535的整数,缺省值为0
该选项指定15h中断口分配的扩充内存大小。为了保证足够内存可用这个值必须大于64。
     machine:相应a20处理器的代码。(这个选项我也不是很清楚)
a20处理器是能够存取高内存区的一种微机部件吧。。。
     a20 control:on/off
该选项指定Himem.sys是否获得a20处理器的控制权。缺省值为on。
     shadowram:on/off
该选项指定Himem.sys是否关闭ROM(只读存取器)的RAM(随机存取器)部分。
     cpuclock:on/off
该选项用于指定Himem.sys是否影响cpu的时钟速度。。。。
    dos在同一时刻只允许一个程序使用高内存区。如果我们不指定/hmamin=xxx那么Himem.sys为第一个需要她的程序保留HMA。。
作者: lucky0504    时间: 2004-9-18 16:22     标题: [转帖]config系统的配置文件讲解

支持!
作者: general    时间: 2004-9-18 18:25     标题: [转帖]config系统的配置文件讲解

忘了告诉大家,这是如是大师的作品
作者: tfn2000    时间: 2004-9-18 23:55     标题: [转帖]config系统的配置文件讲解

在菜单制作中还是MENUDEFAULT     MENUITEM用得多 也顶一下!
作者: LiLianjiang    时间: 2004-10-7 18:39     标题: [转帖]config系统的配置文件讲解

好!顶!
作者: 虎哥    时间: 2005-7-10 00:36     标题: [转帖]config系统的配置文件讲解

顶!
作者: czlwb    时间: 2005-7-21 17:12     标题: [转帖]config系统的配置文件讲解

还是MENUDEFAULT     MENUITEM用得多 也顶一下!

作者: yummyfeiyang    时间: 2005-7-25 21:07     标题: [转帖]config系统的配置文件讲解

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: gshavzhog    时间: 2005-10-14 19:05     标题: [转帖]config系统的配置文件讲解

得好好学学!
作者: utempygl    时间: 2005-12-31 18:10

谢谢提供
作者: Clang    时间: 2006-1-4 00:04

顶楼主!
作者: MaxQuarz    时间: 2006-1-4 10:05

学习了~~~~~~~~~~
作者: nicomet    时间: 2006-1-5 10:22     标题: [原创]

提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 EZB 论坛 (http://ultraiso.net/ezbbbs/) Powered by Discuz! 6.1.0