DriveSpace (initially known as DoubleSpace) is a
disk compression
A disk compression software utility increases the amount of information that can be stored on a hard disk drive of given size. Unlike a file compression utility, which compresses only specified files—and which requires the user to designate ...
utility supplied with
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
starting from
version 6.0 in 1993 and ending in 2000 with the release of
Windows Me
Windows Me (Millennium Edition) is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the successor to Windows 98, and was released to manufacturing on June 19, 2000, and t ...
. 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 disk
A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
s is also supported. This feature was removed in
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct successor to Windows 2000 for high-end and business users a ...
and later.
Overview
In the most common usage scenario, the user would have one hard drive in the computer, with all the space allocated to one
partition (usually as
drive C:). The software would compress the entire partition contents into one large file in the
root directory
In a Computing, computer file system, and primarily used in the Unix and Unix-like operating systems, the root directory is the first or top-most Directory (computing), directory in a hierarchy. It can be likened to the trunk of a Tree (data st ...
. On booting the system, the driver would allocate this large file as drive C:, enabling files to be accessed as normal.
Microsoft's decision to add disk compression to MS-DOS 6.0 was influenced by the fact that the competing
DR DOS had earlier started to include disk compression software since version
6.0 in 1991.
Instead of developing its own product from scratch, Microsoft licensed the technology for the
DoubleDisk product developed by
Vertisoft and adapted it to become DoubleSpace. For instance, the loading of the driver controlling the compression/decompression () became more deeply integrated into the
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
(being loaded through the undocumented pre-load API
even before the
CONFIG.SYS file).
Microsoft had originally sought to license the technology from
Stac Electronics, which had a similar product called Stacker, but these negotiations had failed. Microsoft was later successfully sued for patent infringement by Stac Electronics for violating some of its compression patents. During the court case Stac Electronics claimed that Microsoft had refused to pay any money when it attempted to license Stacker, offering only the possibility for Stac Electronics to develop enhancement products.
Consumption and compatibility
A few computer programs, particularly games, were incompatible with DoubleSpace because they effectively bypassed the DoubleSpace driver. DoubleSpace also consumed a significant amount of
conventional memory
In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory directly addressable by the processor for use by the operating system ...
, making it difficult to run memory-intensive programs.
Bugs and data loss
Shortly after its release, reports of data loss emerged. A company called Blossom Software claimed to have found a bug that could lead to
data corruption
Data corruption refers to errors in computer data that occur during writing, reading, storage, transmission, or processing, which introduce unintended changes to the original data. Computer, transmission, and storage systems use a number of meas ...
. The bug occurred when writing files to heavily
fragmented disks and was demonstrated by a program called . The company sold a program called DoubleCheck that could be used to check for the fragmentation condition that could lead to the error. Microsoft's position was that the error only occurred under unlikely conditions, but fixed the problem in
MS-DOS 6.2.
The fragmentation condition was related to the way DoubleSpace compresses individual
clusters (of size, say, 8 K), and fits them on the disk, occupying fewer
sectors
Sector may refer to:
Places
* Sector, West Virginia, U.S.
Geometry
* Circular sector, the portion of a disc enclosed by two radii and a circular arc
* Hyperbolic sector, a region enclosed by two radii and a hyperbolic arc
* Spherical sector, a ...
(size 512 bytes) than the fixed number required without DoubleSpace (16 sectors in this example). This created the possibility of a kind of internal fragmentation issue, where DoubleSpace would be unable to find enough consecutive sectors for storing a compressed cluster even if plenty of space was available.
Other potential causes of data loss included the corruption of DoubleSpace's memory areas by other programs, DoubleSpace's memory areas were not
protected, because MS-DOS ran in
real mode
Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20- bit s ...
. Microsoft attempted to remedy this in the MS-DOS 6.2 version of DoubleSpace (via a feature called ''DoubleGuard'' that would check for such corruption).
The fact that the compressed contents of a compressed drive was stored in a single file implied the possibility of a user accidentally deleting all of their data by deleting just that file. This could happen if the user inadvertently got access to the host drive, containing this file. The host drive was usually mapped to the letter H: by the compression driver. However, if the compression driver had failed to load the user might see it as drive C:.
Turning off the computer before DoubleSpace could finish updating its data structures could also result in data loss. This problem was compounded by Microsoft making write caching enabled by default in the disk cache software that came with MS-DOS 6.0. Because of this change, after exiting an application, the MS-DOS prompt might appear before all data had been written to the disk. However, due to the lack of a controlled
shutdown procedure (as found in modern operating systems), many users saw the appearance of the MS-DOS prompt as an indication that it was safe to switch off the computer, which was typically the case prior to MS-DOS 6.0.
Microsoft addressed this issue in MS-DOS 6.2 where the write caching was still enabled by default, but where the cache would be flushed before allowing the command prompt to reappear.
Add-ons
AddStor, Inc. offered an add-on product called
Double Tools for DoubleSpace. It contained a number of tools to enhance the functions of the version of DoubleSpace that came with MS-DOS 6.0. This included various diagnostic features, the ability to have compressed removable media auto-
mounted
Mount is often used as part of the name of specific mountains, e.g. Mount Everest.
Mount or Mounts may also refer to:
Places
* Mount, Cornwall, a village in Warleggan parish, England
* Mount, Perranzabuloe, a hamlet in Perranzabuloe parish, Co ...
as they were used, as well as support for background defragmentation of DoubleSpace compressed drives.
To defragment files in the background, it was possible to let DoubleTools replace the low-level DoubleSpace driver (DBLSPACE.BIN) with one supplied by DoubleTools. Replacing the driver also enabled other enhanced functionality of the product, such as the use of
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
code paths when it detected an
Intel 80386
The Intel 386, originally released as the 80386 and later renamed i386, is the third-generation x86 architecture microprocessor from Intel. It was the first 32-bit computing, 32-bit processor in the line, making it a significant evolution in ...
or higher
CPU, caching capabilities and in addition to its supporting the use of the
Upper Memory Area
In DOS memory management, the upper memory area (UMA) is the memory between the addresses of 640 KB and 1024 KB ( 0xA0000–0xFFFFF) in an IBM PC or compatible. IBM reserved the uppermost 384 KB of the 8088 CPU's 1024 KB ...
also permitted the use of
Extended Memory for some of its buffers (reducing the driver's total footprint in
conventional and
upper memory, albeit at the cost of somewhat reduced speed).
Another function was the ability to split a compressed volume over multiple floppy disks, being able to see the entire volume with only the first disk inserted (and being prompted to change discs as necessary). It was also possible to share a compressed volume with a remote computer. Double Tools also had the capability to put a special utility on compressed
floppy disks
A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
that made it possible to access the compressed data even on computers that didn't have DoubleSpace (or Double Tools).
Vertisoft, the company who developed the DoubleDisk program that Microsoft subsequently licensed and turned into DoubleSpace, developed and sold a DoubleSpace add-on program called SpaceManager, which contained a number of usability enhancements. It also offered improved compression ratios.
Other products, like later versions of Stacker from Stac Electronics, were capable of converting existing DoubleSpace compressed drives into their own format.
Later versions
MS-DOS 6.2
MS-DOS 6.2 featured a new and improved version of DoubleSpace. The ability to remove DoubleSpace was added. The program
SCANDISK introduced in this release was able to scan the non-compressed and compressed drives, including checks of the internal DoubleSpace structures. Security features (known as DoubleGuard) were added to prevent memory corruption from leading to data loss. The
memory footprint
Memory footprint refers to the amount of main memory that a program uses or references while running.
The word footprint generally refers to the extent of physical dimensions that an object occupies, giving a sense of its size. In computing, t ...
of the DoubleSpace driver was reduced compared to the version shipped in MS-DOS 6.0. A fix was made to the fragmentation issue discussed above.
MS-DOS 6.21
Following a successful lawsuit by
Stac Electronics regarding demonstrated
patent infringement
A patent is a type of intellectual property that gives its owner the legal right to exclude others from making, using, or selling an invention for a limited period of time in exchange for publishing an enabling disclosure of the invention."A ...
, Microsoft released
MS-DOS 6.21 without DoubleSpace. A court
injunction
An injunction is an equitable remedy in the form of a special court order compelling a party to do or refrain from doing certain acts. It was developed by the English courts of equity but its origins go back to Roman law and the equitable rem ...
also prevented any further distribution of the previous versions of MS-DOS that included DoubleSpace.
MS-DOS 6.22
MS-DOS 6.22 contained a reimplemented version of the disk compression software, but this time released under the name DriveSpace. The software was essentially identical to the MS-DOS 6.2 version of DoubleSpace from a user point of view, and was compatible with previous versions.
DriveSpace in Windows 95
Windows 95
Windows 95 is a consumer-oriented operating system developed by Microsoft and the first of its Windows 9x family of operating systems, released to manufacturing on July 14, 1995, and generally to retail on August 24, 1995. Windows 95 merged ...
had full support of DoubleSpace/DriveSpace via a native 32-bit driver for accessing the compressed drives, along with a graphical version of the software tools. MS-DOS DriveSpace users could upgrade to Windows 95 without any troubles. Furthermore, the
Microsoft Plus! for Windows 95 pack contained version 3 of DriveSpace. This version introduced new compression formats (HiPack and UltraPack) with different performance characteristics for even greater compression ratios along with a tool that could recompress the files on the disk using the different formats, depending on how frequently the files were used. One could upgrade from DriveSpace 2 to DriveSpace 3, but there was no downgrade path back to DriveSpace 2. One could, however, decompress a DriveSpace 3 drive. The DOS device driver of DriveSpace 3 had a memory footprint of around 150 KB because of all these new features. This caused difficulty for users rebooting into the MS-DOS mode of Windows 95 for running games, because of the reduced amount of
conventional memory
In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory directly addressable by the processor for use by the operating system ...
that was available.
DriveSpace 3 also shipped with
Windows 95 OSR2 but many features were disabled unless Plus! was also installed. DriveSpace could also not be used with
FAT32
File Allocation Table (FAT) is a file system developed for personal computers and was the default file system for the MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on ...
, making it of little use on PCs with large hard drives.
DriveSpace in Windows 98
Windows 98
Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
shipped with DriveSpace 3 as part of the operating system. Functionality was the same as in Windows 95 with Plus!.
DriveSpace in Windows Me
Because of the removal of
real mode
Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20- bit s ...
support, FAT32 going mainstream and the decreasing popularity of DriveSpace, DriveSpace in
Windows Me
Windows Me (Millennium Edition) is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the successor to Windows 98, and was released to manufacturing on June 19, 2000, and t ...
had only limited support. DriveSpace no longer supported hard disk compression, but still supported reading and writing compressed removable media, although the only DriveSpace operation supported beside that was deleting and reallocating compressed drives.
It is possible to restore full function of DriveSpace 3 (unofficially) in Windows Me, copying the executable file from a Windows 98 installation and using it to replace the executable included with Windows Me. After that, one could compress new drives as they could do on Windows 98.
Support outside Microsoft
''DMSDOS'', a
Linux kernel
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
driver,
was developed in the late 1990s to support both the reading and writing of DoubleSpace/DriveSpace disks. However, reading and especially writing to compressed filesystems is reliable only in specific versions of the 2.0, 2.1 or 2.2 versions of the kernel.
While DR-DOS supported its own disk compression technology (originally based on
SuperStor, later on
Stacker),
Novell DOS 7 in 1993 and higher introduced an emulation of the undocumented pre-load
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
in order to provide seamless support for DoubleSpace as well.
Since the DR-DOS drivers were
DPMS-enabled whereas the MS-DOS ones were not, this did not offer any advantages for DR-DOS users, but allowed easier coexistence or migration due to the possibility of shared use of already existing compressed volumes in multi-boot scenarios.
DR-DOS 7.02 and higher also added support for DriveSpace in 1998.
References
Further reading
*
*
External links
*
DoubleSpace Overview
{{Windows commands
Data compression
Compression file systems
DOS technology
Windows 95
Windows 98
Discontinued Windows components