ディスク圧縮 ソフトウェア ユーティリティは 、特定のサイズのハード ディスクドライブに保存できる情報量を増やします。指定されたファイルのみを圧縮し、ユーザーが圧縮するファイルを指定する必要があるファイル圧縮ユーティリティとは異なり、オンザフライ ディスク圧縮ユーティリティは、ユーザーがその存在を意識する必要なく、常駐ソフトウェアによって自動的に動作します。そのため、オンザフライ ディスク圧縮は、透過的、リアルタイム、またはオンライン ディスク圧縮とも呼ばれます。
情報をハード ディスクに保存する必要がある場合、ユーティリティは情報を圧縮します。情報を読み取る必要がある場合、ユーティリティは情報を解凍します。ディスク圧縮ユーティリティは、標準のオペレーティング システムルーチンをオーバーライドします。すべてのソフトウェア アプリケーションはこれらのルーチンを使用してハード ディスクにアクセスするため、ディスク圧縮をインストールした後も引き続き動作します。
ディスク圧縮ユーティリティは、マイクロコンピュータのハードディスクがまだ比較的小さかった (20 ~ 80 MB ) 1990 年代初頭に特に人気がありました。また、当時のハード ドライブはかなり高価で、1 MB あたり約 10 USDでした。ディスク圧縮アプリケーションを購入したユーザーにとって、このソフトウェアは、現在のドライブを大容量のドライブに交換するよりも、短期的にはディスク容量を増やすためのより経済的な手段であることがわかりました。優れたディスク圧縮ユーティリティは、平均して、速度の低下をほとんど伴わずに、使用可能な容量を 2 倍にすることができます。ハード ドライブの技術と製造の進歩により容量が増加し、価格が下がったため、1990 年代後半にはディスク圧縮は使用されなくなりました。
一般的なディスク圧縮ソリューション
スタンドアロンハードウェア
初期のディスク圧縮ソリューションの一部はハードウェア支援型で、ソフトウェア ドライバーに加えて アドオンの圧縮/解凍コプロセッサカードを使用していました。既知のソリューションには次のものがあります。
- Stacker XT/8およびStacker AT/16 (スタックエレクトロニクス製) [1] [2]
- InfoChip SystemsのExpanz!およびExpanz! Plus [1] [2] [3]
- Datran Corporation のDiskDoubler dd2000
- MicrosoftのMRCI (Microsoft Real-Time Compression Interface)
スタンドアロンソフトウェア
PC プロセッサのパワーが増大するにつれ、ソフトウェアのみのソリューションは、ほとんどのシナリオでハードウェア支援ソリューションのパフォーマンスに匹敵するか、それを上回るようになりました。これらの圧縮ユーティリティは個別に販売されていました。ユーザーは、ソフトウェアのインストールと構成を明示的に選択する必要がありました。
- Squish [4] [5]およびSundog SoftwareのSquish Plus [6]
- Stac Electronicsのスタッカー[2]
- 統合情報技術(IIT)のXtraDrive
- AddStorのSuperStorとSuperStor Pro [1] [2]
- Vertisoft SystemsのDoubleDiskとDoubleDisk Gold [1] [2]
- JAM (JAM.SYS)、JAM Software、キエフ、ウクライナ[7]
- Salient SoftwareのDiskDoubler
- Data BeckerのDouble Density
バンドルソフトウェア
新しいマシンにディスク圧縮機能をバンドルするというアイデアは、再販業者とユーザーに魅力的でした。再販業者はより多くのストレージ容量を要求できることを気に入り、ユーザーはソフトウェアを構成する必要がないことを気に入り、バンドルされたユーティリティには次のものが含まれていました (時系列順)。
- Digital ResearchのDR DOS 6.0 (1991) には、AddStor のSuperStorのカスタム バージョンが含まれていました。
- Novell (Digital Research を買収後)のPalmDOS 1.0 (1992) には、 SuperStorのDPMS対応バージョンが含まれていました。
- マイクロソフトのMS-DOS 6.0(1993年)には、 Vertisoft SystemsのDoubleDiskを部分的にベースとしたDoubleSpace [8]が含まれていました。MS-DOS 6.0では、DOSプリロードAPIと呼ばれる、文書化されていない[ 9] [10]チャレンジレスポンス型のインターフェイスが導入され、 CONFIG.SYSが処理される前でもディスク圧縮ソフトウェア(DBLSPACE.BIN )を自動的にロードできるようになりました。
- PC DOS 6.1 (1993)、IBM製。オリジナルリリースにはディスクコンプレッサーは含まれていなかったが、後のリリースではSuperStor/DSのカスタムバージョン(AddStor の買収後) が含まれ、PC DOS ラインにプリロード API も導入された。
- MicrosoftのMS-DOS 6.2 (1993) には、 DoubleSpaceの改良版が含まれていました。
- NovellのNovell DOS 7 (1993)には、 Stac ElectronicsのStacker 3.12(STACKER.BIN)のDPMS対応バージョンが含まれていました。これは、ファイルのコピー時に不要な再圧縮を回避するために、Stackerを実行しているリモートのNetWareおよびPNWサーバーとの圧縮データ交換もサポートしていました。 [11]また、マルチブートシナリオでMicrosoftのDoubleSpaceとの互換性を維持するために、DOS 6プリロードAPIのサポートも導入されました。[9] [11]同様のメカニズムが、オプションのシングルユーザーまたはマルチユーザーのSECURITYコンポーネントのロードにも使用されました。
- PhysTechSoftのPTS-DOS Extended 6.4(1994)には、 Folder(FOLDER.SYS)と呼ばれるディスク圧縮コンポーネントが含まれていました[12]
- IBM のPC DOS 6.3 (1994) には、 SuperStor/DSのバージョンが含まれていました。
- MS-DOS 6.21 は法的な理由によりディスク圧縮ソフトウェアを一切同梱せずに出荷せざるを得なかったため、 Microsoft のMS-DOS 6.22 (1994) にはDriveSpaceが含まれていました。これは、異なる圧縮アルゴリズム( DRVSPACE.BIN )を備えたDoubleSpace でした。
- IBM のPC DOS 7.0 (1995) には、Stac Electronics のStacker 4.02の DPMS 対応バージョンが含まれていました。
- Microsoft のWindows 95 (1995) には、 DriveSpace 2の更新バージョンが含まれていました。
- Microsoft のWindows 95 OSR2 (1996) には、 DriveSpace 3の簡易バージョンが含まれていました。
- Microsoft のWindows 95 Plus! (1996) には、 DriveSpace 3のフルバージョンが含まれていました。
- Caldera (Novell DOSを買収後)のOpenDOS 7.01(1997年)には、 Stacker 3.12のDPMS対応バージョンが含まれていました。[11]
- CalderaのDR-DOS 7.02 (1998年)には、 Stacker 3.12のDPMS対応バージョンが含まれていました。[13] DR-DOS 7.02では、MicrosoftのDriveSpaceのサポートも追加されました。[14]
- IBM のPC DOS 2000 (1998) には、 Stacker 4.02の DPMS 対応バージョンが含まれていました。
- Microsoft のWindows 98 (1998) には、 DriveSpace 3のフルバージョンが含まれていました。
- Caldera のDR-DOS 7.03 (1999) には、 Stacker 3.12の DPMS 対応バージョンが含まれていました。
- Microsoft のWindows 98 SE (1999) には、 DriveSpace 3のフルバージョンが含まれていました。
- Paragon Technology SoftwareのPTS-DOS Pro 2000 (1999) には、 DATACOMPというディスク圧縮コンポーネントが含まれていました。
その他の解決策
- Squeeze 、 Turner Hall PublishingのLotus 1-2-3およびLotus Symphonyファイル用の常駐DOSファイル圧縮プログラム[15]
- Sundog SoftwareのSquish Plus ROMは、 Personalized Software(現Thaddeus Computing )を通じてのみ配布され、HP Portable Plusに適合したわずか36KBのフットプリントのSquish Plusのカスタムバージョンを含む特別なROMチップでした。[6]
- Addstor のDouble Tools for DoubleSpaceは、 MS-DOS 6.0にバンドルされているDoubleSpaceの機能を強化するアドオン製品でした。
- Helix SoftwareのMultimedia Stacker は、Stac のDPMS対応 Stacker 4.01 とHelix Cloakingおよびユーティリティを組み合わせたバンドルであり、Cloaking の組み込み DPMS サーバーを利用して保護モードで再配置および実行します。
- THSファイルシステム(1994-1996年、Thomas Scheuermann作)、 Linux用の圧縮ファイルシステムドライバで、一部のCVFを読み取ることができた。[16] [17] [18]
- DMSDOS(1996)、Linuxカーネルドライバ[19] [20]は、 DoubleSpace、DriveSpace 2および3、Stacker 3および4のボリュームの読み取りと書き込みをサポートします。
Microsoft のWindows XPには、ネイティブ サポートと、NTFSシステム上のファイルを圧縮するcompactというコマンドの両方が含まれていますが、これは上記のように個別の「圧縮ドライブ」として実装されていません。
手術
ディスク圧縮では通常、1 つの大きなファイルが作成され、それが仮想ハード ドライブになります。これは、1 つの物理ハード ドライブを複数の仮想ドライブに分割する方法に似ています。圧縮されたドライブには、デバイス ドライバーを介してアクセスします。
既存のドライブを圧縮する
すべてのドライブは最初は空です。ドライブを作成するユーティリティは通常、「現在のドライブを圧縮する」ことを提案します。これは、ユーティリティが次のことを行うことを意味します。
- 既存のドライブに保存される空の圧縮ドライブを作成します。
- 古いドライブ上の既存のファイルを新しい圧縮ドライブに転送します。
- より多くのファイルを収容し、完了時に空き領域を確保するために、必要に応じて新しい圧縮ドライブのサイズを増やします。
- すべてのファイルが転送されると、ドライブ文字が入れ替わります。
通常、特定のシステム ファイルは転送されません。たとえば、OSスワップ ファイルはホスト ドライブにのみ残ります。
ブートドライブの圧縮
圧縮ドライブにアクセスするには、デバイス ドライバーをロードする必要がありました。圧縮ドライブ C: では、次のように ブート プロセスを変更する必要がありました。
- システムBIOS は、最初の物理ハード ドライブのセクター 0 (マスター ブート レコード) をロードします。
- パーティション セクターは、ブート可能なパーティション (ボリューム ブート レコード) のセクター 0 を読み込みます。この場合、それはホスト ドライブです。
- ホストドライブのセクター 0 は、( DOSの場合)DOS BIOS(IO.SYS、IBMBIO.COMなど)をロードします。バージョンによっては、ファイルの最初の数セクターのみがメモリにロードされる場合もあれば、ファイル全体がロードされる場合もあります。最初のケースでは、ロードされたスタブには、ディスクからファイルの残りの部分をロードする別のローダーが含まれています。DR-DOS の場合、BIOS はパックされており、埋め込まれた解凍ルーチンによって解凍されます。[14] [21]
- 次に、DOS BIOS は DOS カーネル ( MSDOS.SYS、IBMDOS.COMなど)をロードします。
- DOSがプリロードAPIをサポートしている場合、DOS BIOSはホストドライブのルートからプリロード可能な圧縮ドライバ[9] [10] ( DBLSPACE.BIN、DRVSPACE.BINまたはSTACKER.BIN )をロードし、DOSプリロードAPIを介して通信しようとします。 [14] [11]ドライバが期待どおりに応答した場合、DOS BIOSはそのドライバを保持し、そうでない場合は破棄します。[8]保持され、適切に構成されている場合、ドライブ文字が入れ替わり、圧縮ドライブがC:になることがあります。
- DOS BIOSは、ブートドライブのルートにあるファイルを検索してCONFIG.SYSの処理を開始します。DR-DOSの場合、DCONFIG.SYSが存在する場合はCONFIG.SYSよりも優先されます。[11] [14]
- プリロード API を通じてロードされない圧縮ドライバーは、DEVICEステートメントを通じてロードされる場合があります。
- 構成によっては、まだ行われていない場合はドライブ文字が入れ替わり、圧縮ドライブが C: になることがあります。
- 圧縮ドライブから処理が続行されます。
パフォーマンスへの影響
低速のハード ドライブを搭載したシステムでは、ディスク圧縮によってシステム パフォーマンスが向上する可能性があります。これは、次の 2 つの方法で実現されます。
- 圧縮されると、保存するデータが少なくなります。
- 効率化のため、ディスク アクセスはバッチ処理されることがよくあります。
システムがハードドライブのアクセスが完了するまで頻繁に待機する必要がある場合(I/Oバウンド)、ハードドライブを圧縮ドライブに変換すると、システムが大幅に高速化される可能性があります。データの圧縮と解凍によりCPU使用率が増加します。システムがすでにCPUバウンドである場合、ディスク圧縮により全体的なパフォーマンスが低下します。[11]
欠点
ディスク圧縮を使用する場合の一般的な欠点は次のとおりです。
- すべての圧縮ユーティリティが、ディスクを圧縮する前にFAT ファイルシステムにエラーがないことを確認するわけではありません。クロスリンクされたファイルなどの一部のエラーは、転送プロセス中に追加のデータ損失を引き起こす可能性があります。[nb 1]
- 圧縮ドライブは、デバイス ドライバーがロードされ、圧縮ドライブがマウントされている場合にのみ表示されます。たとえば、ブート ディスクにはドライバーが含まれていない可能性があります。(これは通常、オペレーティング システムにバンドルされているソリューションでは問題になりませんが、 SYSなどのシステム ユーティリティは圧縮ドライバーをデフォルトでブート ディスクにコピーするように変更されているため、外部のオペレーティング システムを起動する場合は問題になります。 [11] [21]また、対応するオペレーティング システムは、ブート ディスクで圧縮ドライバーが見つからない場合は、ブート ディスク以外のドライブで圧縮ドライバーを検索します。)
- 圧縮ディスク上のデータの展開サイズが通常のディスク容量より大きい場合、アンインストールに問題が発生していました。
- ユーザーは、ホスト ドライブ上の大きなファイルに圧縮ドライブが含まれていることに必ずしも気づいていませんでした。通常はデフォルトで「非表示」になっていますが、[注 2]大きなファイルを不思議に思ったり疑わしいと思ったりしたユーザーは、それを削除できました。通常、これはデータ損失につながります。
参照
- RAM圧縮
- データ圧縮
- ディスクの断片化
- 実行ファイルの圧縮
- 自己解凍アーカイブ
- 詰め込み
- e2compr
- スカッシュFS
- MDFAT (ダブルスペース)
- BitFAT (ダブルスペース)
- MDBPB (ダブルスペース)
注記
- ^ クロスリンクされたファイルでは、2 つのファイルが少なくとも一部のデータを同じ場所に保存しています。この場合、少なくとも 1 つのファイル (「不良」ファイル) の一部は常に失われます。ただし、「不良」ファイルがコピーされてから削除されると、「正常な」ファイルの一部も削除されます。Microsoft SCANDISK は、圧縮前にMS-DOS CHKDSKユーティリティよりも優れたファイル システム チェックを実行するために作成されました。
- ^ たとえば、DOS はファイルに最大 4 つの属性(システム、隠し、読み取り専用、アーカイブ) を関連付けました。システム属性または隠し属性を持つファイルは、デフォルトでは表示されないことがよくあります。システム属性または読み取り専用属性を持つファイルは、ERASEまたはDEL DOS コマンドでは削除できません。ほとんどの圧縮ユーティリティは、ドライブ ファイルにシステム属性、隠し属性、読み取り専用属性の少なくとも 1 つ以上 (多くは 3 つすべて) を設定します。ただし、このような属性でマークされたファイルは、他の方法で表示および削除できます。さらに、ユーザーは属性を削除することもできます。
参考文献
- ^ abcd Slovick, Linda (1992-02-17). 「The big squeeze」. InfoWorld . 14 (7): 57–63 . 2015年4月6日閲覧。
- ^ abcde Pastrick, Greg (1992-01-28). 「オンザフライデータ圧縮ユーティリティでハードディスク容量を2倍、いや3倍に」PC Magazine . 11 (2): 261 . 2015-04-06閲覧。
- ^ Mendelson, Edward (1990-11-13). 「Expanz! ボードはあらゆる種類のディスクのファイルを素早く圧縮しますが、DOS 互換性の一部を失います」。PC Magazine . 9 (19): 13 . 2015-04-06閲覧。
- ^ Walkenbach, John (1987-02-02). 「Squish - ファイル圧縮機はデータを小さなスペースに詰め込みますが、時間がかかります」。InfoWorld . 9 ( 6): 55. 2015-04-05に閲覧。
- ^ Davis, Stephen Randy (1987-02-24). 「Squish は、ファイルをディスクに書き込む前に圧縮します」。PC Magazine . 6 (4): 46 . 2015-04-06に閲覧。
- ^ ab Goldstein, Hal (1989-07-08). 「わずか 89.95 ドルでファイル容量が 50% 増加」(PDF)。The Portable Paper。4 ( 4)。Personalized Software、現在はThaddeus Computing : 46 。2015-04-05に取得。
- ^ http://files.mpoli.fi/unpacked/software/dos/compress/jam125sw.zip/readme.doc [単なる URL のプレーンテキスト ファイル]
- ^ ab Slivka, Benjamin W.; Straub, Eric; Freedman, Richard (1993 年 7 月)。「Hands on - Under the Hood: Inside MS-DOS 6 - The developer of MS-DOS describe the operating system's memory optimize and disk-compression technology」。BYTE Magazine。18 ( 8 ): 197–202。2016年 11 月 1 日閲覧。[1]
- ^ abc シュルマン、アンドリュー;ブラウン、ラルフ D. ; マクシー、デビッド; ミシェルズ、レイモンド J.; カイル、ジム (1994) [1993 年 11 月]。Undocumented DOS: 予約済みの MS-DOS 関数とデータ構造のプログラマー向けガイド - MS-DOS 6、 Novell DOS、Windows 3.1 に対応(第 2 版) 。Addison Wesley。ISBN 0-201-63287-X。(xviii+856+vi ページ、3.5 インチフロッピー) 正誤表: [2][3]
- ^ ab Chappell, Geoff (1994). DOS 内部構造. Addison Wesley . ISBN 978-0-201-60835-9。[4][5] 訂正: [6][7][8]
- ^ abcdefg ポール、マティアス R. (1997-07-30)。 NWDOS-TIP — Novell DOS 7 に関するヒントとコツ、詳細、バグ、回避策を含む Blick です。 MPDOSTIP (ドイツ語) (第 3 版)。 2017-09-10 のオリジナルからアーカイブ。2015 年 4 月 5 日に取得。NWDOSTIP.TXT はNovell DOS 7およびOpenDOS 7.01に関する包括的な作業であり、多くの文書化されていない機能と内部の説明が含まれています。これは、2001 年まで維持され、当時多くのサイトで配布されていた、著者のさらに大規模な MPDOSTIP.ZIP コレクションの一部です。提供されているリンクは、HTML に変換された NWDOSTIP.TXT ファイルの古いバージョンを指しています。
- ^ 「ロシア製MS-DOSクローン」Computerwoche 1994年5月6日2015年4月12日閲覧。
- ^ Caldera DR-DOS 7.02 ユーザーガイド。Caldera , Inc. 1998 [1993, 1997]。2016年11月5日時点のオリジナルよりアーカイブ。2013年8月10日閲覧。
- ^ abcd Paul, Matthias R. (1997-10-02). 「Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT」。2003-10-04 時点のオリジナルよりアーカイブ。2009-03-29閲覧。[9]
- ^ 「ディスク上のスプレッドシートを 10 倍圧縮 - SQZ! - Lotus 用データ圧縮ツール」。PC Magazine。Turner Hall Publishing: 155。1986 年 10 月 14 日。2016年 11 月 18 日閲覧。
- ^ ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/dosfs/thsfs.tgz [永久リンク切れ ]
- ^ 「Re: ディスク圧縮 - Stacker - Drivespace など」。
- ^ http://ftp.nluug.nl/ftp/ibiblio/system/filesystems/thsfs.lsm [単なる URL のプレーンテキスト ファイル]
- ^ 「DMSDOS - Linuxカーネルドライバー」 2005年3月18日。2016年11月11日時点のオリジナルよりアーカイブ。2016年5月25日閲覧。
- ^ 「DMSDOS CVF モジュール」(dmsdoc.doc)。0.9.2.0。1998-11-19。2016-11-02 にオリジナルからアーカイブ。2016-11-01に取得。
- ^ ab DR-DOS 7.03 WHATSNEW.TXT — DR-DOS 7.02 から DR-DOS 7.03 への変更。Caldera , Inc. 1998-12-24。2019-04-08 にオリジナルからアーカイブ。2019-04-08に取得。
外部リンク
- 「MS-DOS 6 テクニカル リファレンス」。Microsoft。
- 「DoubleSpace CVF ファイル レイアウト」。ff.
- 「ディスク圧縮はどの程度安全か?」BYTE Magazine 1994 年 2 月。2008 年 6 月 19 日のオリジナルからアーカイブ。
- 「ハード ドライブを圧縮する方法」。Smart Computing。1999年 4 月。
