DriveSpace
Other names | DoubleSpace (DBLSPACE) |
---|---|
Developer(s) | Vertisoft, Microsoft |
Initial release | 1993 |
Operating system | MS-DOS, Windows 9x |
Type | Command |
DriveSpace (initially known as DoubleSpace) is a
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
Microsoft's decision to add disk compression to MS-DOS 6.0 was influenced by the fact that the competing
Instead of developing its own product from scratch, Microsoft licensed the technology for the
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
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
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
MS-DOS 6.21
Following a successful lawsuit by
MS-DOS 6.22
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
References
- ^ 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.
- ^ Livingston, Brian (1993-09-20). "It's a good idea to 'DoubleCheck' your disk for fragmentation". InfoWorld: 20.
- ^ Halfhill, Tom R. (February 1994). "How Safe Is Data Compression?". Archived from the original on 2008-06-19.
- ^ Eglowstein, Howard (February 1994). "Data Loss: A Cautionary Tale". Archived from the original on 2005-02-19.
- ^ www.helpwithwindows.com; HelpWithWindows.com, Arie Slob (1998-07-14). "Windows 98, FAT32". HelpWithWindows.com. Retrieved 2024-03-30.
- ^ "DMSDOS - Linux kernel driver". 2005-03-18. Archived from the original on 2016-11-11. Retrieved 2016-05-25.
- ^ "DMSDOS CVF module". 0.9.2.0. 1998-11-19. Archived from the original on 2016-11-02. Retrieved 2016-11-01.
- ^ 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. [1]
Further reading
- Cooper, Jim (2001). Special Edition Using MS-DOS 6.22, Third Edition. ISBN 978-0789725738.
- Tim O'Reilly; Troy Mott; Walter Glenn (1999). Windows 98 in a Nutshell: A Desktop Quick Reference. ISBN 978-1565924864.
External links
- "Microsoft DoubleSpace System Application Programming Interfaces (API) v1.00.05 and DoubleSpace Compressed Volume File (CVF) format" (ARJ). Microsoft. 1993 [1992]. Archived from the original on 2016-03-03.
- DoubleSpace Overview
- Mapping DOS FAT to MDFAT
- DoubleSpace Compressed Volume File Layout
- Microsoft Real-time Compression Interface (MRCI)