ディスク圧縮は、データの書き込み時と読み取り時に自動的に圧縮・解凍を行うことで、ディスクに保存できる情報量を増加させます。ディスク圧縮ユーティリティは、システムのファイルアクセス層をオーバーライドすることでディスク圧縮を提供するソフトウェアであり、すべてのプログラムが圧縮に参加できるようにします。プログラムがファイルに書き込む際、ユーティリティはデータを圧縮してから保存します。プログラムがファイルを読み取る際、ユーティリティは保存されたデータを解凍してからプログラムに渡します。
ディスク圧縮では、ディスクボリュームの論理ファイル(ユーザーに見えるファイル)を単一の通常ファイルに保存します。このファイルは比較的大きく、仮想ドライブとして機能します。通常、圧縮されたストレージへのアクセスはデバイスドライバーを介して行われます。同様のユーティリティは、単一の大きなファイルを使用する代わりに、各ファイルを自動的に圧縮および解凍しますが、このようなユーティリティはディスク圧縮とは分類されません。
一般的に対話型(ユーザーが圧縮するファイルと圧縮タイミングを指定する)であるファイル圧縮ユーティリティとは異なり、ディスク圧縮ユーティリティは非対話型(通常のファイル使用の一環として自動的に処理される)です。この自動動作は、オンザフライ、透過的、リアルタイム、オンラインなどと呼ばれることもあります。
ディスク圧縮は、特に1990年代初頭、マイクロコンピュータのハードディスクが比較的小容量(20~80メガバイト)で、高価(1メガバイトあたり約10ドル)だった時代に人気がありました。[ 1 ] このようなユーティリティは、より大容量のディスクを購入するよりも、ディスク容量を増やすためのより経済的な手段となる傾向がありました。優れたディスク圧縮ユーティリティは、速度の低下をほとんど伴わずに、平均して利用可能な容量を2倍に増やすことができました。しかし、ハードドライブの技術と製造の進歩により、単位容量あたりのコストが低下したため、ディスク圧縮は1990年代後半には使われなくなりました。
使用
既存のドライブでディスク圧縮の使用を開始するには、ユーティリティは次のような手順に従います。
- 空の圧縮された仮想ドライブ (ホスト ドライブ上の通常のファイル) を作成します。
- スワップ ファイルなどの特定のシステム ファイルを除くファイルをホスト ドライブから圧縮ドライブに転送します。
- ファイルを収容し、完了時に空き領域を確保するために、圧縮ドライブのサイズを増やします。
圧縮ドライブにアクセスするにはデバイス ドライバーが必要なので、圧縮ブート ドライブ (C:) ではブート プロセスが次のように変更される必要があります。
- システムBIOS は、最初の物理ハード ドライブのセクター 0 (マスター ブート レコード) をロードします。
- パーティションセクターは、ブート可能なパーティション(ボリュームブートレコード)のセクター0をロードします。この場合、セクター0はホストドライブです。
- ホストドライブのセクタ0は( DOSの場合)、DOS BIOS(IO.SYS、IBMBIO.COMなど)をロードします。バージョンによっては、ファイルの最初の数セクタのみがメモリにロードされる場合もあれば、ファイル全体がロードされる場合もあります。最初のセクタの場合、ロードされたスタブには、ディスクからファイルの残りの部分をロードする別のローダーが含まれています。DR-DOSの場合、BIOSはパックされており、埋め込まれた解凍ルーチンによって自動的に解凍されます。[ 2 ] [ 3 ]
- 次に、DOS BIOS は DOS カーネル ( MSDOS.SYS、IBMDOS.COMなど)をロードします。
- DOSがプリロードAPIをサポートしている場合、DOS BIOSはホストドライブのルートからプリロード可能な圧縮ドライバ[ 4 ] [ 5 ](DBLSPACE.BIN、DRVSPACE.BIN、またはSTACKER.BIN )をロードし、DOSプリロードAPIを介して通信を試みます。 [ 2 ] [ 6 ]ドライバが期待どおりに応答した場合、DOS BIOSはそのドライバを保持しますが、そうでない場合は破棄します。[ 7 ]保持され、適切に構成されている場合、ドライブ文字が入れ替わり、圧縮ドライブがC:になることがあります。
- DOS BIOSは、ブートドライブのルートにあるCONFIG.SYSファイルを検索して処理を開始します。DR-DOSの場合、DCONFIG.SYSが存在する場合は、CONFIG.SYSよりもDCONFIG.SYSが優先されます。[ 6 ] [ 2 ]
- プリロード API を通じてロードされない圧縮ドライバーは、DEVICEステートメントを通じてロードされる場合があります。
- 構成によっては、まだ行われていない場合はドライブ文字が入れ替わり、圧縮ドライブが C: になることがあります。
- 圧縮ドライブから処理が続行されます。
考慮事項
- パフォーマンス
- システムが一般的にCPU依存型の場合、ディスク圧縮はデータ圧縮にかなりのCPU時間を要するため、全体的なパフォーマンスを低下させる傾向があります。しかし、I/O依存型でストレージアクセスの完了を頻繁に待つシステムでは、ドライブを圧縮することで全体的なパフォーマンスを向上させることができます。圧縮されたデータにより、ドライブから読み書きするデータ量が少なくなります。[ 6 ]
- クロスリンクされたファイルによるデータ損失
- すべての圧縮ユーティリティが、ディスクを圧縮する前にFATファイルシステムにエラーがないか確認するわけではありません。クロスリンクファイルなどのエラーは、転送プロセス中にデータ損失につながる可能性があります。
- ブートドライブのアクセスは別のドライブに依存する可能性があります
- 圧縮ドライブは、デバイスドライバがロードされ、圧縮ドライブがマウントされている場合にのみ表示されます。例えば、ブートディスクにはドライバが含まれていない場合があります。これは通常、オペレーティングシステムにバンドルされたソリューションでは問題になりませんが、SYSなどのシステムユーティリティは、圧縮ドライバをデフォルトでブートディスクにコピーするように変更されており、ブートディスクに見つからない場合は、対応するオペレーティングシステムはブートディスク以外のドライブでドライバを探します。[ 6 ] [ 3 ]
- アンインストールはホストドライブのサイズによって制限されます
- 圧縮ディスク上のデータの展開サイズが通常のディスク容量より大きい場合、アンインストールに問題が発生していました。
- 誤って仮想ドライブファイルを削除した
- ユーザーは、ホストドライブ上の大きなファイルに圧縮ドライブが含まれていることに必ずしも気づいていませんでした。圧縮ユーティリティによって通常は隠されていましたが、大きなファイルに好奇心や疑わしさを感じたユーザーはそれを削除することができ、その結果、そこに保存されていたすべてのファイルが失われました。
例
ハードウェア支援
初期のディスク圧縮ソリューションの中には、ドライバソフトウェアを介してコプロセッサを使用するものがありました。以下に例を示します。
- スタッカー
- スタックエレクトロニクスより。[ 8 ] [ 9 ]
- エクスパンズ!
- InfoChip Systemsより。[ 8 ] [ 9 ] [ 10 ]
- ディスクダブラー dd2000
- Datran Corporationより。
ソフトウェアのみ
プロセッサの性能が時間とともに向上するにつれ、ソフトウェアのみのソリューションはハードウェア支援型ソリューションの性能に匹敵し、あるいはそれを上回るようになりました。これらのユーティリティはサードパーティ製のコンポーネントであり、OSディストリビューションにバンドルされているか、別途インストールされていました。
- スクイッシュ
- サンドッグソフトウェアから。[ 11 ] [ 12 ] [ 13 ]
- スタッカー
- スタックエレクトロニクスより。[ 9 ]
- エクストラドライブ
- 統合情報技術より。
- スーパーストア
- AddStorより。[ 8 ] [ 9 ]
- ダブルディスク
- Vertisoft Systemsより。[ 8 ] [ 9 ]
- ダブルスペース
- 一部はVertisoft SystemsのDoubleDiskに基づいています。[ 7 ]
- ドライブスペース
- 異なる圧縮アルゴリズムを使用した DoubleSpace ( DRVSPACE.BIN )。
- ジャム
- (JAM.SYS) JAM Software(ウクライナ、キエフ)[ 14 ]
- ディスクダブラー
- Salient Softwareより。
- 二重密度
- Data Beckerより。
バンドル
ディスク圧縮機能を新品コンピュータにバンドルすることは、販売店とユーザーの両方にとって魅力的でした。販売店はより多くのストレージ容量を要求でき、ユーザーはソフトウェアのインストールや設定が不要であることを高く評価しました。ディスク圧縮機能がバンドルされた新品コンピュータにプリインストールされていたオペレーティングシステムには、以下のものがありました。
- DR DOS 6.0 (1991)
- SuperStor のカスタム バージョンがバンドルされています。
- PalmDOS 1.0 (1992)
- DPMS対応バージョンの SuperStorがバンドルされています。
- MS-DOS 6.0 (1993)
- DoubleSpaceにバンドルされています。(MS-DOS 6.0では、いわゆるDOSプリロードAPIが導入されました。これは、CONFIG.SYSが処理される前にDoubleSpaceをロードできるようにする、文書化されていない[ 4 ] [ 5 ]チャレンジレスポンス型のインターフェースです。)
- PC DOS 6.1 (1993)
- オリジナルリリースにはディスクコンプレッサーは含まれていなかったが、SuperStor/DS はその後のリリースに含まれ、PC DOS ラインにプリロード API も導入されました。
- MS-DOS 6.2 (1993)
- DoubleSpace の改良バージョンがバンドルされています。
- ノベル DOS 7 (1993)
- DPMS対応版のStacker (3.12)がバンドルされ、同じくStackerを実行しているリモートのNetWareおよびPersonal NetWareサーバーとの圧縮データ交換もサポートされ、ファイルのコピー時に不要な再圧縮を回避しました。[ 6 ]また、マルチブートシナリオでMicrosoftのDoubleSpaceとの互換性を維持するために、DOS 6プリロードAPIのサポートも導入されました。[ 4 ] [ 6 ]同様のメカニズムを使用して、オプションのシングルユーザーまたはマルチユーザーのSECURITYコンポーネントをロードしました。
- PTS-DOS 拡張 6.4 (1994)
- ディスク圧縮コンポーネントがバンドルされていますフォルダ( FOLDER.SYS) [ 15 ]
- PC DOS 6.3 (1994)
- SuperStor/DS にバンドルされています。
- MS-DOS 6.22 (1994)
- DriveSpace にバンドルされています。(法的な理由により、 MS-DOS 6.21にはディスク圧縮ソフトウェアが付属していませんでした。)
- PC DOS 7.0 (1995)
- Stacker 4.02 (DPMS 対応) にバンドルされています。
- ウィンドウズ95(1995年)
- DriveSpace 2 にバンドルされています。
- Windows 95 OSR2 (1996)
- DriveSpace 3 の簡易バージョンがバンドルされています。
- Windows 95 プラス! (1996)
- DriveSpace 3 のフルバージョンにバンドルされています。
- OpenDOS 7.01 (1997)
- Stacker 3.12(DPMS対応)にバンドルされています。[ 6 ]
- DR-DOS 7.02 (1998)
- Stacker 3.12(DPMS対応)にバンドルされました。[ 16 ] DR-DOS 7.02ではDriveSpaceのサポートも追加されました[ 2 ]
- PC DOS 2000 (1998)
- Stacker 4.02 (DPMS 対応) にバンドルされています。
- ウィンドウズ98(1998年)
- DriveSpace 3 にバンドルされています。
- DR-DOS 7.03 (1999)
- Stacker 3.12 (DPMS 対応) にバンドルされています。
- Windows 98 SE (1999)
- DriveSpace 3 にバンドルされています。
- PTS-DOS Pro 2000 (1999)
- 同梱データコンプ。
関連している
ディスク圧縮に関連する注目すべきソフトウェアには次のようなものがあります。
- 絞る
- Squeeze(Turner Hall Publishing社製)は、 Lotus 1-2-3およびLotus Symphonyファイル用のDOS常駐ファイル圧縮ソフトでした。[ 17 ]
- スクイッシュプラスROM
- この特別なROMチップ(Sundog Software製、Personalized Softwareを通じて配布)には、 HP Portable Plusに適合した36KBのフットプリントを持つSquish Plusのカスタムバージョンが含まれていました。[ 13 ]
- DoubleSpace 用ダブルツール
- Double Tools (Addstor 製) は、MS-DOS 6.0にバンドルされているDoubleSpaceユーティリティの機能を強化します。
- マルチメディアスタッカー
- Multimedia Stacker ( Helix Software製) には、Stac のDPMS対応 Stacker 4.01 がHelix Cloakingおよびユーティリティとバンドルされており、Cloaking の組み込み DPMS サーバーを利用して保護モードで再配置および実行されます。
- THSファイルシステム
- THS(トーマス・シューアマン、1994-1996年)は、 Linux用の圧縮ファイルシステムドライバで、一部の圧縮ボリュームファイルを読み取ることができました。[ 18 ] [ 19 ] [ 20 ]
- DMSDOS
- DMSDOS(1996)は、DoubleSpace、DriveSpace 2および3、Stacker 3および4ボリュームの読み書きをサポートするLinuxカーネルドライバーでした。[ 21 ] [ 22 ]
- NTFS圧縮
- Windowsは、NTFSパーティション内のファイルとフォルダの圧縮をサポートしています。そのため、ファイル圧縮とディスク圧縮の両方の側面を備えています。
参照
参考文献
- ^ Kozierok, Charles M. (2001-04-17). 「ディスク圧縮」 . PCガイド.
- ^ a b c d Paul, Matthias R. (1997年10月2日). 「Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT」 . 2003年10月4日時点のオリジナルよりアーカイブ。2009年3月29日閲覧。[1]
- ^ a b DR-DOS 7.03 WHATSNEW.TXT — DR-DOS 7.02 から DR-DOS 7.03 への変更点。Caldera , Inc. 1998年12月24日。2019年4月8日時点のオリジナルよりアーカイブ。 2019年4月8日閲覧。
- ^ a b cシュルマン, アンドリュー;ブラウン, ラルフ D. ; マクシー, デイビッド; ミシェルズ, レイモンド J.; カイル, ジム (1994) [1993年11月]. 『Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - extending to include MS-DOS 6, Novell DOS and Windows 3.1 (第2版). Addison Wesley . ISBN 0-201-63287-X。(xviii+856+viページ、3.5インチフロッピーディスク) 正誤表: [2] [3]
- ^ a b Chappell, Geoff (1994). DOS 内部構造. Addison Wesley . ISBN 978-0-201-60835-9。[4] [5]訂正: [6] [7] [8]
- ^ a b c d e f gポール、マティアス 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ファイルへのリンクです。
- ^ a b Slivka, Benjamin W.; Straub, Eric; Freedman, Richard (1993年7月). 「Hands on - Under the Hood: Inside MS-DOS 6 - The developers of MS-DOS describe the operating system's memory optimization and disk-compression technology」 . BYTE Magazine . 18 (8): 197– 202. 2016年11月1日閲覧。[9]
- ^ a b c d Slovick, Linda (1992-02-17). 「The big squeeze」 . InfoWorld . 14 (7): 57– 63. 2015年4月6日閲覧。
- ^ a b c d e Pastrick, Greg (1992年1月28日). 「オンザフライデータ圧縮ユーティリティでハードディスク容量を2倍、いや3倍に」 . PC Magazine . 11 (2): 261. 2015年4月6日閲覧。
- ^ Mendelson, Edward (1990-11-13). 「Expanz!ボードはあらゆる種類のディスク上のファイルを高速に圧縮しますが、DOSとの互換性は一部失われます」 . PC Magazine . 9 (19): 13. 2015年4月6日閲覧。
- ^ Walkenbach, John (1987-02-02). 「Squish - ファイル圧縮ソフトはデータをより小さなスペースに詰め込むが、処理速度は遅い」 InfoWorld 9 ( 6 ): 55 . 2015年4月5日閲覧。
- ^ Davis, Stephen Randy (1987年2月24日). 「Squishはファイルをディスクに書き込む前に圧縮する」 . PC Magazine . 6 (4): 46. 2015年4月6日閲覧。
- ^ a b Goldstein, Hal (1989-07-08). 「わずか89.95ドルでファイル容量が50%増加」(PDF) . The Portable Paper . 4 (4). Personalized Software , 現在はThaddeus Computing : 46. 2015年4月5日閲覧。
- ^ http://files.mpoli.fi/unpacked/software/dos/compress/jam125sw.zip/readme.doc
- ^ 「ロシア製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日閲覧。
- ^ 「ディスク上のスプレッドシートを10倍圧縮 - SQZ! - Lotus用データスクイーザー」 PC Magazine Turner Hall Publishing: 155. 1986年10月14日. 2016年11月18日閲覧。
- ^ 「FTPリンク」。sunsite.unc.edu ( FTP ) 。(ドキュメントを表示するには、ヘルプ:FTPを参照してください)
- ^ 「Re: ディスク圧縮 - スタッカー - ドライブスペースなど」。
- ^ http://ftp.nluug.nl/ftp/ibiblio/system/filesystems/thsfs.lsm
- ^ 「DMSDOS - Linuxカーネルドライバー」 2005年3月18日. 2016年11月11日時点のオリジナルよりアーカイブ。2016年5月25日閲覧。
- ^ 「DMSDOS CVFモジュール」 (dmsdoc.doc). 0.9.2.0. 1998年11月19日. 2016年11月2日時点のオリジナルよりアーカイブ。2016年11月1日閲覧。
外部リンク
- 「MS-DOS 6 テクニカル リファレンス」。Microsoft 。
- 「DoubleSpace CVF ファイル レイアウト」。以降。
- 「ディスク圧縮はどの程度安全か?」 BYTE Magazine 、1994年2月。2008年6月19日時点のオリジナルよりアーカイブ。
- 「ハードドライブを圧縮する方法」 Smart Computing 1999年4月