DriveSpace

title: 概述.
content: 最常见的使用场景为,用户的电脑中有一个硬盘,所有空间都已分配到一个分区(通常是驱动器C:)。该软件会压缩整个驱动器的内容到根分区中的一个大文件,然后在系统启动时,驱动程序将这个大文件分配为驱动器C:,使文件如往常一样访问。  微软决定开发DoubleSpace并将其添加到MS-DOS的原因很可能是,其他制造商(IBM和Novell)的基于DOS的操作系统事实上已开始在第三方产品中包含磁盘压缩软件。  相比从头开发自己的产品,微软取得了Vertisoft公司DoubleDisk产品的技术授权,并在将其调整后成为DoubleSpace。比如说,控制压缩、解压缩的驱动程序DBLSPACE.BIN更加深入地集成到操作系统(在CONFIG.SYS文件前加载)。  微软最初试图获得Stac Electronics的技术授权,它有一个名为Stacker的类似产品,但谈判失败了。微软后被Stac Electronics成功起诉产品侵犯某些压缩专利。在审理期间,Stac Electronics称微软试图获取Stacker授权时拒绝支付任何费用,仅提供Stac Electronics开发增强产品的可能性。
title: 消耗和兼容情况.
content: 有部分计算机程序(特别是游戏)与DoubleSpace不兼容,因为它们会绕过DoubleSpace的驱动程序。DoubleSpace也会显著消耗大量常规内存,因此将很难运行占用大量内存的程序。
title: 软件缺陷与数据丢失.
content: 在软件发布后不久,一些数据丢失的报告就已出现。一家名为Blossom软件的公司声称已发现了一个可能导致数据损坏的软件缺陷。该缺陷会在写入文件到严重碎片化的磁盘时出现,并用一个称为BUST.EXE的程序证明。这家公司出售一个名为DoubleCheck的程序,用途是检查可能导致此错误的碎片状况。微软的立场是,这个错误不太可能发生,但已在MS-DOS 6.2中修复此问题。  碎片状况与DoubleSpace压缩单个簇(大小8K)并将其适配到磁盘的方式有关, occupying fewer sectors (size 512 bytes) than the fixed number required without DoubleSpace (16 sectors in this example). 这导致可能发生一种内部碎片问题,即DoubleSpace将无法找到足够的连续扇区存储压缩的簇,即使有足够的可用空间。  其他潜在的数据丢失原因包括:DoubleSpace的内存区域被其他程序损坏。DoubleSpace的内存区域未受保护,因为在MS-DOS运行在真实模式下。微软已尝试在MS-DOS 6.2版本的DoubleSpace中弥补这一点,一项名为DoubleGuard的功能会检查此类损坏。  将整个驱动器压缩到单个文件意味着,用户有可能会意外地删除所有数据。这可能在用户无意间访问到包含此文件的托管驱动器时发生。托管驱动器通常被压缩驱动程序映射到H:,但如果压缩驱动程序加载失败,用户可能会看到它在驱动器C:  在DoubleSpace完成更新其数据结构前关闭计算机也可能导致数据丢失。此问题在微软默认启用MS-DOS 6.0中SMARTDRV磁盘缓存软件的写入缓存后更为严重。由于此更改,在退出应用程序后,MS-DOS提示符可能会在所有数据写入磁盘前出现。在那个时代,由于缺乏关机控制程序(现代操作系统中则很常见),许多用户会将看到MS-DOS提示符作为现在可安全关闭计算机的表象,而这在MS-DOS 6.0之前也基本正确。微软在MS-DOS 6.2中处理了此问题,写入缓存仍然默认启用,但缓存会在命令行提示符出现前被强制写入。
title: 附加组件.
content: AddStor提供了一个名为Double Tools for DoubleSpace的附加组件产品,它包含大量工具来增强MS-DOS 6.0中提供的DoubleSpace的功能。这包括各种诊断功能,已压缩可移动介质自动挂载为习惯布局,以及后台整理DoubleSpace已压缩驱动器的磁盘碎片。为了在后台整理文件碎片,它可能让DoubleTools替换底层的DoubleSpace驱动程序(DBLSPACE.BIN)为DoubleTools提供的版本。替换这个驱动程序也能启用此产品的其他增强功能,例如在检测到Intel 80386或更高级CPU时使用32位代码路径、缓存功能,以及它所支持的高端内存区——这也允许对它的某些缓冲区使用扩展内存(减少驱动程序在常规内存和高端内存区上占用的总空间,虽然这以稍微降低速度为代价)。另一个功能是在多个软盘上分割压缩卷,在插入第一个磁盘的情况下就能看到整个卷(并在需要时提示更换光盘)。也可以与远程计算机共享压缩卷。Double Tools还能够在压缩的软盘上放置一个特殊的实用程序,这样在即使没有DoubleSpace(或Double Tools)的计算机上也可以访问压缩的数据。  早前开发DoubleDisk并授权给微软的公司Vertisoft后来开发并出售一个名为SpaceManager的DoubleSpace的附加组件程序,其中包含大量可用性增强,并提供改进的压缩率。  其他产品(例如Stac Electronics的Stacker的晚期版本)可以转换现有的DoubleSpace已压缩驱动器到它们自己的格式。
title: 后期版本.
title: MS-DOS 6.2.
content: MS-DOS 6.2包含一个新的改进后的DoubleSpace版本。它已支持移除DoubleSpace。SCANDISK程序在此版本中引入,可以扫描压缩和非压缩的驱动器,包括检查DoubleSpace的内部结构。安全功能(称为DoubleGuard)被添加,以防止内存损坏导致数据丢失。与MS-DOS 6.0中提供的版本相比,DoubleSpace驱动程序的内存占用减少。上面讨论的碎片问题已修复。
title: MS-DOS 6.21.
content: 因为Stac Electronics就专利侵权的诉讼成功,微软发布了不含DoubleSpace的MS-DOS 6.21。法庭禁令也禁止再分发以前任何包含DoubleSpace的MS-DOS版本。
title: MS-DOS 6.22.
content: MS-DOS 6.22包含一个磁盘压缩软件的重新实现版本,但这次以DriveSpace为名发布。该软件从用户角度看与MS-DOS 6.2中的DoubleSpace基本相同,并且兼容之前的版本。
title: Windows 95中的DriveSpace.
content: Windows 95通过一个原生32位驱动程序以及图形版软件工具完全支持访问DoubleSpace/DriveSpace的压缩驱动器。MS-DOS DriveSpace用户可以无障碍升级到Windows 95。此外,Microsoft Plus! for Windows 95 包包含DriveSpace第三版。此版本引入了新的压缩格式(HiPack和UltraPack),具有不同的性能特性,可提供更高的压缩率,还有一种工具,可以根据文件的使用频率使用不同的格式重新压缩磁盘上的文件。可以从DriveSpace 2升级到DriveSpace 3,但没有降级到DriveSpace 2的路径。虽然,可以解压缩DriveSpace 3驱动器。因为新的功能,DriveSpace 3的DOS设备驱动程序的内存占用大约为150KB。这导致了用户难以重启到用于运行游戏的Windows 95的MS-DOS模式,因为可用的常规内存减少了。  DriveSpace 3也在Windows 95 OSR2中附带,但许多功能被禁用,除非Plus!也已安装。DriveSpace也不能与FAT32一起使用,这使其几乎不会用在大空间的PC硬盘。
title: Windows 98中的DriveSpace.
content: Windows 98附有DriveSpace 3作为操作系统的一部分。功能与Windows 95 with Plus!相同。
title: Windows Me中的DriveSpace.
content: 因为真实模式支持被移除、FAT32走向主流和DriveSpace不再受欢迎,Windows Me中的DriveSpace只有有限的支持。DriveSpace不再支持硬盘压缩,但仍支持读取和写入已压缩的可移动媒体,但除此之外,DriveSpace支持的操作是删除和重新分配已压缩驱动器。  复制Windows 98中的可执行文件替换Windows ME系统中的文件可以非正式的恢复DriveSpace 3的所有功能。这样做之后,可以在Windows 98上如往常一样压缩新的驱动器。
title: 微软外的支持.
content: DMSDOS是一个Linux内核驱动程序,开发于1990年代后期,支持读取和写入DoubleSpace/DriveSpace磁盘。不过,读取和写入到压缩的文件系统仅在内核版本为2.0、2.1和2.2时可靠。

Summary: DriveSpace(最初称为DoubleSpace,即双倍空间)是一个从MS-DOS 6.0版本开始提供的磁盘压缩实用工具。DriveSpace的目的是用户可在磁盘空间上存储的数据量,通过即时的透明压缩和解压。它主要用于硬盘,但也支持对软盘使用。

DriveSpace: DriveSpace (initially known as DoubleSpace) is a disk compression utility supplied with MS-DOS starting from version 6.0 in 1993. The purpose of DriveSpace is to increase the amount of data the user could store on disks by transparently compressing and decompressing data on-the-fly. It is primarily intended for use with hard drives, but use for floppy disks is also supported.