微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题SMARTDRV.EXE使用中的两个问题
栏目软件操作与技巧
作者湖北 钱庆
发布1995-09-29
  [drive:][path]SMARTDRV[[drive[+|-]]...][/E:ElementSize]
  [InitCacheSize][WinCachSize]][/B:<BufferSize>][/C][/R][/L][/Q][/V][/S]
  这里仅对容易产生问题的[InitCachesize]和[WinCacheSize]两个参数加以讨论。
  InitCacheSize:SMARTDRV运行时(Windows不在运行)高速缓存的大小(以KB为单位)。磁盘缓存的大小影响SMARTDRV运行的有效性。通常,缓存越大,SMARTDRV读取磁盘的次数就越少,从而提高了系统的运行效率。如果没有指定InitCacheSize的大小,SMARTDRV根据系统具有多少扩充内存来设置该值。
  WinCacheSize:Windows运行时,系统保留的高速缓存的大小(由于Windows尽可能多地使用扩充内存,因此系统要减少高速缓存的大小,多留一些扩充内存给Windows使用)。同样,如果没有特别指定,由系统设定缺省值。
  下表根据计算机具有的扩充内存容量,列出了InitCacheSize和WinCachSize的缺省值。
  扩充内存  InitCacheSize  WinCachSize
  最大为1MB 所有的扩充内存  0(无缓存)
  最大为2MB 1MB  256K
  最大为4MB 1MB  512K
  最大为6MB 2MB  1MB
  6MB以上  2MB  2MB
  根据笔者经验,如果扩充内存为2MB或2MB以上,则使用缺省配置就可以很好的工作,用户无需重新设定各个参数。但当系统的扩充内存仅有1MB时,就会带来一些问题。
  根据上表,当系统扩充内存为1MB时,所有的扩充内存全部都用作高速缓存,此时如果运行Windows不会产生问题,因为Windows运行后高速缓存自动减为0,Windows可用的扩充内存还是1MB。但其它的一些程序则往往因为不能使用扩充内存而不能运行或运行正常。如Borland C++2.0的集成开发环境的保护模式BCX.EXE此时就不能运行,去掉自动批处理文件中的C:\DOS\SMARTDRV后重新启动计算机,BCX.EXE就可以正常运行了。
  还有一个小问题是有的用户对以上两个参数不了解,以为是越大越好,于是将这两个参数设置得尽可能大。曾经碰到一台机子,显示扩充内存有3,264KB,该是够大了,可运行Windows时,却显示没有足够扩充内存。经过检查,原来是有人在自动批处理文件中加了一行: C:\DOS\SMARTDRV 3,264 3,264。这个命令的意思是启动时高速缓存的大小为3,264KB,Windows运行时高速缓存仍为3,264KB。这样一来Windows可用的扩充内存就为0了,怪不得显示没有足够扩充内存。解决的方法很简单,只要将参数去掉即可(当然进行合理设置亦可)。
  (湖北 钱庆)