複製鏈接
請複製以下鏈接發送給好友

DriveSpace

鎖定
DriveSpace(最初稱為DoubleSpace,即雙倍空間)是一個從MS-DOS 6.0版本開始提供的磁盤壓縮實用工具。DriveSpace的目的是用户可在磁盤空間上存儲的數據量,通過即時的透明壓縮和解壓。它主要用於硬盤,但也支持對軟盤使用。
中文名
DriveSpace
領    域
計算機

DriveSpace內容簡介

最常見的使用場景為,用户的電腦中有一個硬盤,所有空間都已分配到一個分區(通常是驅動器C:)。該軟件會壓縮整個驅動器的內容到根分區中的一個大文件,然後在系統啓動時,驅動程序將這個大文件分配為驅動器C:,使文件如往常一樣訪問。
微軟決定開發DoubleSpace並將其添加到MS-DOS的原因很可能是,其他製造商(IBMNovell)的基於DOS的操作系統事實上已開始在第三方產品中包含磁盤壓縮軟件。
相比從頭開發自己的產品,微軟獲取了Vertisoft公司DoubleDisk產品的技術授權,並在將其調整後成為DoubleSpace。比如説,控制壓縮、解壓縮的驅動程序DBLSPACE.BIN更加深入地集成到操作系統(在CONFIG.SYS文件前加載)。
微軟最初試圖獲得Stac Electronics的技術授權,它有一個名為Stacker的類似產品,但談判失敗了。微軟後被Stac Electronics成功起訴產品侵犯某些壓縮專利。在審理期間,Stac Electronics稱微軟試圖獲取Stacker授權時拒絕支付任何費用,僅提供Stac Electronics開發增強產品的可能性。 [1] 

DriveSpace消耗和兼容情況

有部分計算機程序(特別是遊戲)與DoubleSpace不兼容,因為它們會繞過DoubleSpace的驅動程序。DoubleSpace也會顯著消耗大量常規內存,因此將很難運行佔用大量內存的程序。 [1] 

DriveSpace軟件缺陷與數據丟失

在軟件發佈後不久,一些數據丟失的報告就已出現。一家名為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中處理了此問題,寫入緩存仍然默認啓用,但緩存會在命令行提示符出現前被強制寫入。 [2] 

DriveSpace附加組件

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已壓縮驅動器到它們自己的格式。 [2] 

DriveSpace對Windows其他文件系統的壓縮

  • DriveSpace工具不支持FAT32
  • NTFS在以Windows NT為基礎的操作系統上有自己本地的壓縮技術,不同於DriveSpace。 [2] 
參考資料
  • 1.    Livingston, Brian. It's a good idea to 'DoubleCheck' your disk for fragmentation. InfoWorld. 1993-09-20.
  • 2.    Halfhill, Tom R. How Safe Is Data Compression?. February 1994.