使用DOS=HIGH命令的“额外”收益

Author: 吉林 陈 健 Date: 1996-08-23

        BUFFERS是用来设置缓冲区的数量的系统配置命令。缓冲区用来暂存从磁盘上读出或要写入硬盘的数据,CPU在读取数据时,会先到缓冲区中寻找,如果没有才会到磁盘中搜索,因此BUFFERS的值设得越大(可为1~99之间的某一值),则在内存中查找到所需的数据的可能性越大,从而提高程序的执行速度。但是,每增加一个缓冲区数都要多占用512字节内存空间,并且在缺省情况下是占用常规内存,而占用常规内存空间过多又会使程序的执行速度减慢。所以,BUFFERS的值既要尽可能地大,以加快程序执行速度;又要尽可能少地占用常规内存空间。如何设置一个适当的BUFFERS值呢?
        表1中的各项数据是在CONFIG.SYS文件中没有设置DOS=HIGH命令行时得到的,它表明,常规内存空间占用的数量与BUFFERS的值成正比。表2中的数据是在CONFIG.SYS文件中设置了DOS=HIGH命令后得到的,其中的数据说明了只要将DOS装入高端内存区,而BUFFERS的值不超过45,就仅会占用512字节的常规内存。可以设置这样大的BUFFERS值,同时又这样少地占用常规内存,不能不说是一个大的收益。事实上,DOS=HIGH命令在将DOS装入高端内存区的同时也将BUFFERS带入了高端内存区,使得这一部分一般应用程序难于使用的扩展内存得到了较充分的利用。但如表2所示,如果BUFFERS的值设置过大(46),则将大量占用常规内存。
        另外,有兴趣的读者不妨一试,只要你降低一些鼠标驱动程序的版本,在DOS=HIGH的前提下,鼠标驱动程序的大部分也会装入高端内存区,这样又可减少对常规内存空间的占用。例如,MSDOS 6.2自带的鼠标驱动程序的版本为MICROSOFT(R) MOUSE DRIVE VOSION 8.20,它不能使用高端内存区。但是,如果使用MICROSOFT(R) MOUSE DRIVE VOSION 8.0版本的鼠标驱动程序,在DOS=HIGH的前提下就可以通过给MOUSE加入参数/U把它分成两部分,使之分别占用常规内存和高端内存。结果是,由原来需占用常规内存约15KB,变为只占用常规内存4KB,其余部分装入高端内存区。