光驱高速缓存驱动程序SMARTCD简介

🏠 首页 《无线电》杂志 1997年 🔗 第4期 🔗 第28页 分类:无线电技术自学经验交流 🔗 史波 🔗

近年来,随着光电记录技术的迅速发展,光盘在微型计算机中的应用越来越得到普及。目前应用最广泛的是只读型光盘(CD-ROM),这种光盘因其造价低廉。存储量大、易于长期保存,深受广大用户的欢迎。

从只读型光盘上读取数据的CD-ROM驱动器已成为当今微型计算机中不可缺少的外设。光驱的数据传输率和平均读取时间是衡量其性能优劣的重要参数。在一般情况下,其数据传输率大约在150kbps~1000kbps之间,平均读取时间大约在100ms~400ms之间。这些指标与软盘驱动器相比有着明显的优越性,但同硬盘驱动器相比(IDE硬盘数据传输率一般在3.3Mbps左右,SCSI接口硬盘数据传输率一般大于10Mbps,平均存取时间约在12ms~19ms之间),仍然存在较大差距。于是设法提高光驱读取光盘数据的速度,缩小它与硬盘驱动器之间的读取速度的差距成为人们关注的课题。

目前,解决这个问题常见的做法是从硬件设计入手,通过加快光驱转速来提高光驱数据传输率。这一做法现在已被广泛采用,于是市场上出现了单速光驱、倍速光驱、三速光驱……乃至十二速光驱。但光驱转速的提高是有限度的,并不能无止境地加快。于是,在加快光驱转速的基础上,再从软件上挖掘潜力。由FarStone公司开发的光驱高速缓存驱动程序SMARTCD通过软件设计出色地解决了这一难题,极大地提高了上述两项参数的指标。

SMARTCD是一个独立的实用程序,仅由SMARTCD.EXE一个文件组成。它的运行要求系统至少有256kB的空闲扩展内存(XMS)。下面就以1995年推出的SMARTCD 3.0为例,简要介绍其工作原理、特点及使用方法:

一、工作原理

SMARTCD是一种利用富裕内存提高光验数据传输率的高性能软件。如同该公司开发的磁盘高速缓存驱动程序SMARTDRV一样,SMARTCD基于相同的工作原理:高速缓存技术(Cache)人。即在内存中开辟一块区域,作为光盘高速缓存区,用来存放刚刚使用且以后还要使用的光盘数据,以后访问光盘数据时,首先试图从内存(高速缓存区)中获取,在一般情况下,命中(所需数据已在高速缓存区)的概率高达90%以上;若不命中,再访问光盘上的数据。因为内存的数据平均存取时间仅约在60ns~120ns之间,所以系统采用这种措施之后,可以大幅度地加快平均访问数据的速度。

二、特点

1. SMARTCD可以把光驱的性能指标提高2~30倍。它采用先进的智能高速级存技术,包括提前读(Read-ahead)、数据哈希(Data Hashing)、数据处理优先(Priority Data Handling)等尖端技术,是一个相当成熟的专业化软件产品。

2.SMARTCD仅利用空闲扩展内存为光驱建立光盘高速缓存区,从而为用户节省了宝贵的常规内存。它允许用户在空闲扩展内存中开辟最大64MB(65535kB)的光盘高速缓存区,这意味着能够获得更高的命中率。

3.SMARTCD程序短小精悍,其驻留部分代码尤其简练、高效,仅占大约7kB的内存,同时,它还具有一套完整的安装、状态测试、卸载和在线帮助体系。

4.在特定情况下,SMARTCD能够自动检测内存的大小,并依此为建立光盘高速缓存区确定合理的内存分配方案。

三、使用方法:

SMARTCD有以下命令行用法:

l.当用户在DOS提示符下直接键入SMARTCD/setup并回车,可将SMARTCD自动安装到计算机上,其工作过程如下:程序首先报告当前空闲扩展内存的大小,然后提示用户输入光盘高速缓存区尺寸,在此之前,SMARTCD建议用户选择缓存区尺寸为1024kB,因为经过多次测试,这是比较合理的尺寸,当然用户也可自己根据计算机的配置状况做出更明智的选择,若用户直接回车,则将当前所有可分配的扩展内存都作为光盘高速缓存区,最后程序自动将自身复制到C盘根目录下,并修改自动批处理文件,安装完毕。需要强调的是,此时光驱高速缓存驱动程序并未驻留内存,因此光盘高速缓存区也不存在,这时只有重新启动机器,并执行自动批处理,才能使之生效。

2.用户也可以在使用计算机的过程中随时加载高速缓存驱动程序,为光驱建立高速缓存区。具体操作是:在DOS提示符下,键入SMARTCD[高速缓存区尺寸]并回车即可。缓存区尺寸以kB为单位,允许从256kB~65535kB中任选,但要考虑当前可分配的扩展内存的大小。

3.在上面的操作中,如果用户不指定高速缓存区尺寸,而是直接键入SMARTCD并回车,那么SMARTCD则会自动检测空闲扩展内存的大小,并为高速缓存区确定合理的内存分配策略。分配方法如下:若空闲XMS小于256kB,不分配XMS给高速缓存区;若空闲XMS大于等于256kB且小于1024kB,分配所有的空闲XMS给高速缓存区;若空闲XMS大于等于1024kB且小于等于4096kB,分配空闲XMS的一半给高速缓存区;若空闲XMS超过4096kB,则仅分配2048kB的空闲XMS给高速缓存区。

4.SMARTCD还支持以下参数:/?显示帮助信息,/ST显示高速缓存驱动程序的状态,/OFF暂时屏蔽高速缓存驱动,/ON取消屏蔽,高速缓存驱动使能,/MAX缓存所有从光盘读出的数据(当高速缓存区大于5l2kB时,系统自动默认为MAX),/MIN仅缓存光盘的目录信息(当高速缓存区小于等于512kB时,系统自动默认为MIN),/UN高速缓存驱动程序撤离内存,释放光驱高速缓存区。(史波)