DriveSpace

DriveSpace是一個從MS-DOS 6.0版本開始提供的磁碟壓縮實用工具。DriveSpace的目的是使用者可在磁碟空間上儲存的資料量，透過即時的透明壓縮和解壓。它主要用於硬碟，但也支援對軟盤使用。概述.最常見的使用場景為，使用者的電腦中有一個硬碟，所有空間都已分配到一個分割槽。該軟體會壓縮整個驅動器的內容到根分割槽中的一個大檔案，然後在系統啟動時，驅動程式將這個大檔案分配為驅動器C:，使檔案如往常一樣訪問。微軟決定開發DoubleSpace並將其新增到MS-DOS的原因很可能是，其他製造商的基於DOS的作業系統事實上已開始在第三方產品中包含磁碟壓縮軟體。相比從頭開發自己的產品，微軟取得了公司DoubleDisk產品的技術授權，並在將其調整後成為DoubleSpace。比如說，控制壓縮、解壓縮的驅動程式DBLSPACE.BIN更加深入地整合到作業系統。微軟最初試圖獲得的技術授權，它有一個名為Stacker的類似產品，但談判失敗了。微軟後被Stac Electronics成功起訴產品侵犯某些壓縮專利。在審理期間，Stac Electronics稱微軟試圖獲取Stacker授權時拒絕支付任何費用，僅提供Stac Electronics開發增強產品的可能性。消耗和相容情況.有部分計算機程式與DoubleSpace不相容，因為它們會繞過DoubleSpace的驅動程式。DoubleSpace也會顯著消耗大量，因此將很難執行佔用大量記憶體的程式。軟體缺陷與資料丟失.在軟體釋出後不久，一些資料丟失的報告就已出現。一家名為Blossom軟體的公司聲稱已發現了一個可能導致資料損壞的軟體缺陷。該缺陷會在寫入檔案到嚴重碎片化的磁碟時出現，並用一個稱為BUST.EXE的程式證明。這家公司出售一個名為DoubleCheck的程式，用途是檢查可能導致此錯誤的碎片狀況。微軟的立場是，這個錯誤不太可能發生，但已在MS-DOS 6.2中修復此問題。碎片狀況與DoubleSpace壓縮單個簇並將其適配到磁碟的方式有關， 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中處理了此問題，寫入快取仍然預設啟用，但快取會在命令列提示符出現前被強制寫入。附加元件.AddStor提供了一個名為的附加元件產品，它包含大量工具來增強MS-DOS 6.0中提供的DoubleSpace的功能。這包括各種診斷功能，已壓縮可移動介質自動掛載為習慣佈局，以及後臺整理DoubleSpace已壓縮驅動器的磁碟碎片。為了在後臺整理檔案碎片，它可能讓DoubleTools替換底層的DoubleSpace驅動程式的計算機上也可以訪問壓縮的資料。早前開發DoubleDisk並授權給微軟的公司Vertisoft後來開發並出售一個名為SpaceManager的DoubleSpace的附加元件程式，其中包含大量可用性增強，並提供改進的壓縮率。其他產品可以轉換現有的DoubleSpace已壓縮驅動器到它們自己的格式。後期版本.MS-DOS 6.2.MS-DOS 6.2包含一個新的改進後的DoubleSpace版本。它已支援移除DoubleSpace。SCANDISK程式在此版本中引入，可以掃描壓縮和非壓縮的驅動器，包括檢查DoubleSpace的內部結構。安全功能被新增，以防止記憶體損壞導致資料丟失。與MS-DOS 6.0中提供的版本相比，DoubleSpace驅動程式的記憶體佔用減少。上面討論的碎片問題已修復。MS-DOS 6.21.因為就的訴訟成功，微軟釋出了不含DoubleSpace的MS-DOS 6.21。法庭禁令也禁止再分發以前任何包含DoubleSpace的MS-DOS版本。MS-DOS 6.22.MS-DOS 6.22包含一個磁碟壓縮軟體的重新實現版本，但這次以DriveSpace為名釋出。該軟體從使用者角度看與MS-DOS 6.2中的DoubleSpace基本相同，並且相容之前的版本。Windows 95中的DriveSpace.Windows 95透過一個原生32位驅動程式以及圖形版軟體工具完全支援訪問DoubleSpace/DriveSpace的壓縮驅動器。MS-DOS DriveSpace使用者可以無障礙升級到Windows 95。此外， 包包含DriveSpace第三版。此版本引入了新的壓縮格式，具有不同的效能特性，可提供更高的壓縮率，還有一種工具，可以根據檔案的使用頻率使用不同的格式重新壓縮磁碟上的檔案。可以從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硬碟。Windows 98中的DriveSpace.Windows 98附有DriveSpace 3作為作業系統的一部分。功能與Windows 95 with Plus!相同。Windows Me中的DriveSpace.因為真真實模式支援被移除、FAT32走向主流和DriveSpace不再受歡迎，Windows Me中的DriveSpace只有有限的支援。DriveSpace不再支援硬碟壓縮，但仍支援讀取和寫入已壓縮的可移動媒體，但除此之外，DriveSpace支援的操作是刪除和重新分配已壓縮驅動器。複製Windows 98中的可執行檔案替換Windows ME系統中的檔案可以非正式的恢復DriveSpace 3的所有功能。這樣做之後，可以在Windows 98上如往常一樣壓縮新的驅動器。微軟外的支援.DMSDOS是一個Linux核心驅動程式，開發於1990年代後期，支援讀取和寫入DoubleSpace/DriveSpace磁碟。不過，讀取和寫入到壓縮的檔案系統僅在核心版本為2.0、2.1和2.2時可靠。