磁盘压缩(英语:disk compression)软件是一种可以增加硬盘存储信息量的技术。与需要用户指定要压缩文件的文件压缩工具不同,磁盘压缩工具自动完成压缩与解压,用户无需意识到其存在。
此类程序将在需要存储信息时压缩数据,而在读取信息时解压缩。磁盘压缩工具将覆盖操作系统的标准流程。因为几乎所有应用软件都使用这种流程访问磁盘,因此它们可以在安装磁盘压缩软件后继续正常工作。
磁盘压缩实用程序在1990年代受到欢迎,当时微型计算机的硬盘仍然较小(20至80百万字节),价格昂贵,每兆字节需要大约10美元)。对不少用户来说,相比购买更大容量的磁盘代替当前的驱动器,这种磁盘压缩软件是在短期内获取更多磁盘存储空间的有效且经济的手段。一个设计良好的磁盘压缩软件平均可将可用空间翻倍,而对速度的影响可以忽略不计。随着硬盘技术与制造业的进步和成本降低,磁盘压缩软件在1990年代后期被淘汰。
部分磁盘压缩解决方案需要硬件辅助,除软件驱动程序外还需使用额外的压缩/解压缩协处理器板卡。知名解决方案包括:
随着PC处理器性能增长,软件解决方案在大多数情况下开始达到或甚至超过硬件辅助解决方案的性能。这些压缩实用程序为独立销售。用户必须具体选择来安装和配置软件。
将磁盘压缩软件绑售到新计算机上的想法吸引了经销商和用户。经销商喜欢得到更多的存储空间来销售,而用户喜欢无需自行配置软件。捆绑的软件包含(按时间排序):
从Windows XP开始,微软为NTFS文件系统上的文件提供本地的压缩支持,但不是以“压缩驱动器”为标准来实现。
磁盘压缩程序会创建一个大的文件,使其成为一个虚拟硬盘。这类似将单个物理驱动器划分为多个虚拟驱动器。压缩的驱动器通过一个设备驱动程序访问(访问)。
所有驱动器最初都是空的。创建驱动器的实用程序通常会提供“压缩当前驱动器”功能。它的流程通常是:
需要注意的是,访问已压缩驱动器时必须已加载相应的设备驱动程序。已压缩驱动器C:需要按下列方法改变引导程序:
在硬盘性能缓慢的系统上,磁盘压缩可能增加系统性能。这是因为两个原因:
如果系统不得不频繁等待硬盘访问完成(I/O瓶颈(英语:I/O bound)),将硬盘转换为压缩状态或能显著增加系统速度。但数据的压缩和解压将增加CPU使用率。如果系统已遇到CPU瓶颈(英语:CPU bound),磁盘压缩会降低整体性能。
使用磁盘压缩也有一些常见的缺点: