DriveSpace

Last updated

DriveSpace (DRVSPACE)
Other namesDoubleSpace (DBLSPACE)
Developer(s) Vertisoft, Microsoft
Initial release1993;31 years ago (1993)
Operating system MS-DOS, Windows 9x
Type Command

DriveSpace (initially known as DoubleSpace) is a disk compression utility supplied with MS-DOS starting from version 6.0 in 1993 and ending in 2000 with the release of Windows Me. 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. This feature was removed in Windows XP and later.

Contents

Overview

Microsoft advertised DoubleSpace on the cover of MS-DOS 6 distributions (user's guide for MS-DOS 6 with Windows 3.1 pack-in pictured, DoubleSpace sticker top-right) Microsoft Windows & MS-DOS 6 User's Guide cover.jpg
Microsoft advertised DoubleSpace on the cover of MS-DOS 6 distributions (user's guide for MS-DOS 6 with Windows 3.1 pack-in pictured, DoubleSpace sticker top-right)

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. 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 (DBLSPACE.BIN) became more deeply integrated into the operating system (being loaded through the undocumented pre-load API [1] 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.[ citation needed ]

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, 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. The bug occurred when writing files to heavily fragmented disks and was demonstrated by a program called BUST.EXE. 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. [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 (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. 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 SMARTDRV 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 as they were used, as well as support for background defragmentation of DoubleSpace compressed drives. [3] 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 code paths when it detected an Intel 80386 or higher CPU, caching capabilities and in addition to its supporting the use of the Upper Memory Area 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). [4] 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 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

DriveSpace running on Windows 3.1, Portuguese version. Left and right charts show disk usage before and after compacting, respectively.
.mw-parser-output .legend{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .legend-color{display:inline-block;min-width:1.25em;height:1.25em;line-height:1.25;margin:1px 0;text-align:center;border:1px solid black;background-color:transparent;color:black}.mw-parser-output .legend-text{}
Free space
Used space DriveSpace screenshot, Windows 95.png
DriveSpace running on Windows 3.1, Portuguese version. Left and right charts show disk usage before and after compacting, respectively.
  Free space
  Used space

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 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, Microsoft released MS-DOS 6.21 without DoubleSpace. A court injunction 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 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 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, making it of little use on PCs with large hard drives. [5]

DriveSpace in Windows 98

Windows 98 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 support, FAT32 going mainstream and the decreasing popularity of DriveSpace, DriveSpace in Windows Me 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 driver, [6] [7] 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 in order to provide seamless support for DoubleSpace as well. [1] 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. [8]

Related Research Articles

New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family. It superseded File Allocation Table (FAT) as the preferred filesystem on Windows and is supported in Linux and BSD as well. NTFS reading and writing support is provided using a free and open-source kernel implementation known as NTFS3 in Linux and the NTFS-3G driver in BSD. By using the convert command, Windows can convert FAT32/16/12 into NTFS without the need to rewrite all files. NTFS uses several files typically hidden from the user to store metadata about other files stored on the drive which can help improve speed and performance when reading data. Unlike FAT and High Performance File System (HPFS), NTFS supports access control lists (ACLs), filesystem encryption, transparent compression, sparse files and file system journaling. NTFS also supports shadow copy to allow backups of a system while it is running, but the functionality of the shadow copies varies between different versions of Windows.

<span class="mw-page-title-main">Disk partitioning</span> Creation of separate accessible storage areas on a secondary computer storage device

Disk partitioning or disk slicing is the creation of one or more regions on secondary storage, so that each region can be managed separately. These regions are called partitions. It is typically the first step of preparing a newly installed disk, before any file system is created. The disk stores the information about the partitions' locations and sizes in an area known as the partition table that the operating system reads before any other part of the disk. Each partition then appears to the operating system as a distinct "logical" disk that uses part of the actual disk. System administrators use a program called a partition editor to create, resize, delete, and manipulate the partitions. Partitioning allows the use of different filesystems to be installed for different kinds of files. Separating user data from system data can prevent the system partition from becoming full and rendering the system unusable. Partitioning can also make backing up easier. A disadvantage is that it can be difficult to properly size partitions, resulting in having one partition with too much free space and another nearly totally allocated.

<span class="mw-page-title-main">IBM PC DOS</span> Computer operating system

IBM PC DOS, an acronym for IBM Personal Computer Disk Operating System, is a discontinued disk operating system for the IBM Personal Computer, its successors, and IBM PC compatibles. It was manufactured and sold by IBM from the early 1980s into the 2000s. Developed by Microsoft, it was also sold by that company as MS-DOS. Both operating systems were identical or almost identical until 1993, when IBM began selling PC DOS 6.1 with new features. The collective shorthand for PC DOS and MS-DOS was DOS, which is also the generic term for disk operating system, and is shared with dozens of disk operating systems called DOS.

<span class="mw-page-title-main">Defragmentation</span> Rearrangement of sectors on a hard disk into contiguous units

In the maintenance of file systems, defragmentation is a process that reduces the degree of fragmentation. It does this by physically organizing the contents of the mass storage device used to store files into the smallest number of contiguous regions. It also attempts to create larger regions of free space using compaction to impede the return of fragmentation. Some defragmentation utilities try to keep smaller files within a single directory together, as they are often accessed in sequence.

<span class="mw-page-title-main">Windows 9x</span> Series of Microsoft Windows computer operating systems

Windows 9x is a generic term referring to a series of Microsoft Windows computer operating systems produced from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subsequent versions. The first version in the 9x series was Windows 95, which was succeeded by Windows 98 and then Windows Me, which was the third and last version of Windows on the 9x line, until the series was superseded by Windows XP.

Quarterdeck Expanded Memory Manager (QEMM) is a memory manager produced by Quarterdeck Office Systems in the late 1980s through the late 1990s. It was the most popular third-party memory manager for the MS-DOS and other DOS operating systems.

<span class="mw-page-title-main">Stac Electronics</span> Defunct American technology company

Stac Electronics, originally incorporated as State of the Art Consulting and later shortened to Stac, Inc., was a technology company founded in 1983. It is known primarily for its Lempel–Ziv–Stac lossless compression algorithm and Stacker disk compression utility for compressing data for storage.

Executable compression is any means of compressing an executable file and combining the compressed data with decompression code into a single executable. When this compressed executable is executed, the decompression code recreates the original code from the compressed code before executing it. In most cases this happens transparently so the compressed executable can be used in exactly the same way as the original. Executable compressors are often referred to as executable packers, runtime packers, software packers, software protectors, or even "polymorphic packers" and "obfuscating tools".

<span class="mw-page-title-main">PC Tools (software)</span> Collection of software utlities

PC Tools is a collection of software utilities for DOS developed by Central Point Software.

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 the files to be compressed—an on-the-fly disk compression utility works automatically through resident software without the user needing to be aware of its existence. On-the-fly disk compression is therefore also known as transparent, real-time or online disk compression.

<span class="mw-page-title-main">Microsoft Drive Optimizer</span> Windows utility which defragments a hard drive

Microsoft Drive Optimizer is a utility in Microsoft Windows designed to increase data access speed by rearranging files stored on a disk to occupy contiguous storage locations, a technique called defragmentation. Microsoft Drive Optimizer was first officially shipped with Windows XP.

SmartDrive is a disk caching program shipped with MS-DOS versions 4.01 through 6.22 and Windows 3.0 through Windows 3.11. It improves data transfer rates by storing frequently accessed data in random-access memory (RAM).

<span class="mw-page-title-main">Disk Cleanup</span> Computer maintenance utility

Disk Cleanup (cleanmgr.exe) is a computer maintenance utility included in Microsoft Windows designed to free up disk space. It was introduced in Windows 98 and has been a part of Microsoft Windows ever since.

<span class="mw-page-title-main">Double Tools for DoubleSpace</span>

Double Tools for DoubleSpace is a software utility released in 1993 by the Menlo Park-based company Addstor, Inc. The utility functioned as an add-on to the disk compression software DoubleSpace, supplied with MS-DOS 6.0, adding a number of features not available in the standard version.

<span class="mw-page-title-main">MS-DOS</span> Microsofts discontinued operating system

MS-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 operating systems attempting to be compatible with MS-DOS, are sometimes referred to as "DOS". MS-DOS was the main operating system for IBM PC compatibles during the 1980s, from which point it was gradually superseded by operating systems offering a graphical user interface (GUI), in various generations of the graphical Microsoft Windows operating system.

<span class="mw-page-title-main">DOS</span> Family of IBM PC-compatible operating systems

DOS is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible systems from other manufacturers include DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993), and FreeDOS (1998). MS-DOS dominated the IBM PC compatible market between 1981 and 1995.

DOS Protected Mode Services (DPMS) is a set of extended DOS memory management services to allow DPMS-enabled DOS drivers to load and execute in extended memory and protected mode.

A disk utility is a utility program that allows a user to perform various functions on a computer disk, such as disk partitioning and logical volume management, as well as multiple smaller tasks such as changing drive letters and other mount points, renaming volumes, disk checking, and disk formatting, which are otherwise handled separately by multiple other built-in commands. Each operating system (OS) has its own basic disk utility, and there are also separate programs which can recognize and adjust the different filesystems of multiple OSes. Types of disk utilities include disk checkers, disk cleaners and disk space analyzers

Virtual memory compression is a memory management technique that utilizes data compression to reduce the size or number of paging requests to and from the auxiliary storage. In a virtual memory compression system, pages to be paged out of virtual memory are compressed and stored in physical memory, which is usually random-access memory (RAM), or sent as compressed to auxiliary storage such as a hard disk drive (HDD) or solid-state drive (SSD). In both cases the virtual memory range, whose contents has been compressed, is marked inaccessible so that attempts to access compressed pages can trigger page faults and reversal of the process. The footprint of the data being paged is reduced by the compression process; in the first instance, the freed RAM is returned to the available physical memory pool, while the compressed portion is kept in RAM. In the second instance, the compressed data is sent to auxiliary storage but the resulting I/O operation is smaller and therefore takes less time.

References

  1. 1 2 Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Reading, Massachusetts: Addison Wesley. ISBN   0-201-63287-X. -- Andrew Schulman (1991-03-18). "Errata, Commentary, and Release Notes for UNDOCUMENTED DOS" . Retrieved 2019-08-04. -- Ralf Brown (1994-01-08). "Undocumented DOS, 2nd Edition Errata" . Retrieved 2019-08-04.
  2. Livingston, Brian (1993-09-20). "It's a good idea to 'DoubleCheck' your disk for fragmentation". InfoWorld : 20.
  3. Halfhill, Tom R. (February 1994). "How Safe Is Data Compression?". Archived from the original on 2008-06-19.
  4. Eglowstein, Howard (February 1994). "Data Loss: A Cautionary Tale". Archived from the original on 2005-02-19.
  5. www.helpwithwindows.com; HelpWithWindows.com, Arie Slob (1998-07-14). "Windows 98, FAT32". HelpWithWindows.com. Retrieved 2024-03-30.
  6. "DMSDOS - Linux kernel driver". 2005-03-18. Archived from the original on 2016-11-11. Retrieved 2016-05-25.
  7. "DMSDOS CVF module". 0.9.2.0. 1998-11-19. Archived from the original on 2016-11-02. Retrieved 2016-11-01.
  8. Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM". Archived from the original on 2003-10-04. Retrieved 2009-03-29.

Further reading