第十七章 提高硬盘驱动器的速度和容量
17.1 磁盘压缩
磁盘空间管理工具是一个通过压缩存储的文件来增加硬盘 (或软盘 )存储能力的程序,磁盘空间管理工具在磁盘上创建一个“压 缩卷文件( CVF)”,
压缩 卷文件位于被称为主盘的未压缩盘中。 压缩后的所有文件存储在这个压缩卷文件中,磁盘的读写操作实际是与压缩卷文件的 某些片断打交道,当向 CVF 中存 储文件时,系统自动对文件压缩,当从 CVF 中读文件时,文件自动展开,所以用户是以通常的方式处理文件,但磁盘的空间看起来却有了成倍的增长 。
第十七章 提高硬盘驱动器的速度和容量
文件的压缩程度决定了能得到的磁盘额外空间大小,
高度结构化的文件(例如某些图像 文件 )比随机化的文件(例如程序文件)压缩比要大。经过 CVF
存取文件时,尽管计算机要进 行压缩及解压的工作,
但由于文件的大小发生了很大的变化,系统与硬盘交互的时间得到大幅度降低,所以不会对性能造成显著 影响。特别在磁盘可用空间比较小时,由于磁盘压缩的 结果,将使得系统运行中交换文件的空间得到保证,在这种情况下还会提高系统的性能。 在主盘包含压缩卷文件,通常还含有部分自由空间和不能压缩的系统文件。
第十七章 提高硬盘驱动器的速度和容量
作为压缩 磁盘的一种可选方式,可以只压缩当前未被使用的空间。在这种 压缩方式下,
自由空间压缩 成为一个新的盘,并给它一个未使用的驱动器字母 (例如 G),这时没有压缩的文件仍在原来的磁盘上,在存储新的文件时将要使用新 的压缩磁盘的盘符。 对压缩后的磁盘可以用解压缩恢复正常状态,但这时盘中必须有足够的空间来存放解压缩后的所有文件。
第十七章 提高硬盘驱动器的速度和容量
17.2 文件压缩
早期使用的压缩技术都基于统计模型,到 20世纪 80年代初基于字典压缩的新技术才慢慢推广开来。
不相同,但是大多数压缩软件都是基于 LZ77,LZ88算法并加以修正而成,而 LZ77是字典压缩的起源。大家都知道一个文本文件是由一些单词组成,而且必定有重复现象发生,例如我们这里经常出现的“压缩软件”一词,压缩的原理就是在文件的头部做一个类似字典的东西,把“压缩软件”这个词放在“字典”中,并为这个词指定一个占较少字节数的编码,而文章中的“压缩软件” 一词均用此编码代替,以达到压缩的目的。
第十七章 提高硬盘驱动器的速度和容量
当然压缩软件在实际运作中并非如此简单,
还要使用一些看了就头痛的演算方法,在此就不一一细述。也许有人会问,文本文件可用字典技术,那其它文件怎么办呢。这就无须操心了,因为对于压缩软件来说,一个文件中的“数据压缩”一词和,@#¥ %^” 是一样的,关键在于冗余码 (重复部分 )的多少。
第十七章 提高硬盘驱动器的速度和容量
按压缩方式分:有所谓的“透明压缩”和
“打包压缩”。
,exe和,com文件,
直接压缩。成功的话,文件体积变小,功能不变,运行速度还可能更快。但是,这种压缩方法的对象面很窄。如果压缩失败,还会造成文件不可用。所以,这一类程序总是强烈要求用户在压缩前将文件备份。
第十七章 提高硬盘驱动器的速度和容量
“打包压缩”就是现在常提到的压缩软件使用的压缩法。它把一个或多个文件压缩成一个文件 ——压缩包。要使用压缩后的文件,必须先解压将文件复原。它的特点是风险小,
适用于减小不常用的文件所占空间和传输数据。当然,按照压缩算法,我们还可以将压缩分成很多种。
第十七章 提高硬盘驱动器的速度和容量
17.3 磁盘碎片整理
一,磁盘碎片是怎么产生的?
其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。 当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。
虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。
第十七章 提高硬盘驱动器的速度和容量
二、磁盘读写操作的原理
知道了磁盘碎片的产生原因之后,我们还有必要了解一下程序运行时磁盘的读写动作。一般运行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,
然后读取数据,最后做读后处理 ——将数据传送至磁盘高速缓存 (Cache)和内存中。如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一地点再读取相同数据所需时间的五分之一。
读盘时,系统先检查数据是否在高速缓存中,如果有则直接读取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,Cache的作用很大,但对于第一次读取某个文件,Cache就无能为力了。于是搜索时间和读取时间在很大程度上影响着程序执行的效率。
第十七章 提高硬盘驱动器的速度和容量
三、该不该定期整理硬盘?
实际上,定期整理硬盘应该是毫无疑问的。如果说硬盘碎片整理真的会损害硬盘的话,那也将是在对硬盘进行近乎天文数字般次数的整理之后。
硬盘使用的时间长了,文件的存放位置就会变得支离破碎 ——文件内容将会散布在硬盘的不同位置上。这些“碎片文件”的存在会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。碎片整理程序把这些碎片收集在一起,
并把它们作为一个连续的整体存放在硬盘上。 Windows自带有这样的程序:磁盘碎片整理程序( DiskDefragmenter),
但在 NortonUtilities和 Nuts&Bolts中有更好的此类程序。
第十七章 提高硬盘驱动器的速度和容量
四、整理方法及注意
1、整理磁盘碎片的时候,要关闭其他所有的应用程序,包括屏幕保护程序,最好将虚拟内存的大小设置为固定值。不要对磁盘进行读写操作,一旦
Disk Defragment发现磁盘的文件有改变,它将重新开始整理。
2、整理磁盘碎片的频率要控制合适,过于频繁的整理也会缩短磁盘的寿命。一般经常读写的磁盘分区一周整理一次。
第十七章 提高硬盘驱动器的速度和容量
怎样既不用频繁地整理硬盘碎片,又不至于过分地降低程序执行速度?
1、虚拟内存管理程序虚拟内存管理程序会对硬盘频繁读写,
产生大量的碎片,这是产生硬盘碎片的主要原因。为避免临时交换文件在 C区频繁读写产生的大量的碎片,我们可以将临时交换文件指定在其他分区(如 D区)生成,
第十七章 提高硬盘驱动器的速度和容量
2,IE浏览器默认情况下,IE浏览器将 C:
\WINDOWS\Temporary Internet Files目录作为临时文件储存目录。若经常上网冲浪,IE浏览器会在该目录下生成大量的临时文件,同样会对硬盘频繁读写,产生大量的碎片。为避免这些临时文件在 C区频繁读写产生的大量的碎片,我们可以将该目录指定到其他分区(如 D区)。