|
|
急急急~smartdrv文件是干什么用的?
给个详细的解释吧,要不就误会了。
DOS6..22中有一个非常有用的常驻程序SMARTDRV.EXE,使用它可以大大加快磁盘的读写速度。其工作原理如下:
由于相对于内存而言,磁盘(包括硬盘)的读写速度要慢多了。为此SMARTDRV.EXE从XMS内存中外辟出一块区域(称之为高速缓冲区)作为主机与磁盘之间的一块中间区域,用来暂时存放上次从磁盘上读取的数据。这样,下次读取磁盘时,SMARTDRV.EXE首人查找一下要读取的数据在这块缓冲区中是否能找到,若能找到就没有必要再读取磁盘,就可直接把数据从缓冲区中取回了,这样可大大节省读取磁盘的时间。当然若在缓冲区中找不到,那就没办法了,还得读磁盘去。所以这就有个在缓冲区中是否能找到,即命中率的概念,显然重复读取的数据命中率就比较高。类似地,SMARTDRV.EXE对写磁盘也能进行高速缓存。当写磁盘时,主机只要把数据写到缓冲区中就可马上返回做其它事情,待CUP空闲时,再由SMARTDRV.EXE在后台偷偷把数据写到磁盘上,从而可大大加快写盘速度。
由于SMARTDRV.EXE只能使用XMS内存,所以事先必须在CONFIG.SYS文件中运行HIMEM.SYS程序,以开辟出XMS内存供SMARTDRV.EXE作高速缓冲区用.。注意SMARTDRV.EXE是个常驻程序,通常是写在AUTOEXEC..BAT中或在DOS提示符下单独运行,一般不应写在CONFIG.SYS文件中,只有写在AUTOEXEC.BAT中或在DOS提示符下运行才能起缓冲作用
另外,SMARTDRV.EXE 这个常驻程序很特殊,即使我们运行时不带LOADHIGH,它也会自动把自己装入到UMS中,(我们是说SMARTDRV.EXE程序本身会自动进入到UMB中,SMARTDRV.EXE所开辟的高速缓冲区依然在XMS内存,即扩展内存中)只有这一个特例,其它常驻程序若要装到UMB中,就都必须写上LADDHIGH。
SMARTDRV.EXE 程序的主要用法如下:
[盘行][路径] SMARTDRV.EXE[初始值][WINDOWS运行时的最小值] [L]
其中:
初始值(单位是Km一一是指使用多大的XMS内存作为磁盘高速缓冲区,越大当然越好,但若超过过2M,再增加效果就不明显了。若不给出最大值,SMARTDRV.EXE将视所配置的XMS内存的大小自动选择一个合适的值。
WINDOWS运行时的最小值(单位是KB)一一只有运行WINDOWS时才有可能用到这一参数。因为,WINDOWS要大量使用XMS内存,当调XMS内存紧张时,WINDOWS会自动地减少SMARTDRV.EXE所使用的高速缓冲区的大小,以便先满足自己对XMS的要求。规定一个最小值,就是给WINDOWS一个限制,高速缓冲区减少到这个最小值时,就不许WINDOWS再抢占SMARTDRV.EXE所用的高速缓冲区域了。
/L-――强行将SMARTDRV.EXE装入到常砚内存中(若不写,SMARTDRV.EXE自动将自己装到UMB中)
用法举例:
【例1】C:\DOS\ SMARTDRV.EXE(自动选择合适的高速缓冲区大小)
【例2】C:\DOS\ SMARTDRV.EXE 1024 502(初始值为1024K,WINDOWS行时的最小值为512K)
|
|