Drive Space -- 圧縮ドライブについて
[←BACK][↑HOME]
bar
[→ Profile][→ System update notes][→ Computer at random][→ BBS][→ Software library][→ Index page]


※ 草稿段階で未完成です。

 Windows 95にはファイルを圧縮して格納することでドライブ内に格納できる容量を増やすことができるドライブスペース(DriveSpace)という機能が用意されています。
 ドライブスペースは MS-DOS や Windows 3.1 時代からありましたが、一部のユーザーの間ではトラブルが発生する可能性があることからドライブスペースを使うことは避けられていました。


● ドライブスペースの危険性

 確かにドライブスペースはその構造上、いったんトラブルが発生するとドライブスペースに格納されているファイルがすべて使えなくなってしまう可能性があります。この手の圧縮ツールの利用者には初心者が多かったためか、仕組みや構造を理解しないままインストールしてトラブルを起こし、必要以上に危険なツールという認識が生まれたように思います。
 かくいう、筆者も MS-DOS や Windows 3.1 を使っていた頃は、ドライブスペースに限らずファイルを圧縮したまま利用するツールはまったく使っていませんでした。
 ドライブスペースを使うことによる危険性というのは理由はいくつか考えられます。

    (1) ドライブスペースを使うと(ドライブスペースを使わないときよりも)CPUやI/O処理に負荷がかかるため、システムにトラブルが発生する可能性が高まる。
    (2) データの圧縮するとトラブルが発生した場合に復元が困難になる。
    (3) ドライブスペースの構造上、ファイルがひとつ壊れただけで、圧縮ドライブ内のすべてのファイルが壊れてしまう可能性がある。

 (1)については、OSやシステムが潜在的な障害を抱えている限りドライブスペースを使っても使わなくてもトラブルはいつか起こるでしょう。ドライブスペースを使っていると、トラブルが発生する確率が多少(?)高まるかもれしないといった程度のことです。
 (2)については、あるゆる圧縮データについていえることです。トラブルというのは必ず発生しますから、トラプルが発生したときにいかに対処するかという点も考えておく必要があります。たとえば、不慮の事故でテキストファイルの中身が1バイト書き換わってしまったとします。テキストファイルであれば文字が1文字だけ違うものになってしまうだけで、文書の大部分は問題なく読めるでしょう。しかし、このテキストファイルが圧縮されていたとすると、1バイト書き換わったために文書がまったく読めなくなる可能性があります。圧縮というのは一定の手順にしたがってデータを小さくして、必要なときには元に伸長(復元)しなければなりません。同じ1バイトでも、圧縮されていないテキストファイルなら文書中の1文字が読めなくなるか違い文字に書き換わってしまうだけですが、圧縮後のデータファイルが1バイト書き換わってしまうと、データを伸長(復元)できなくなるので、文書はまったく読めなくなります。
 プログラムによっては、多少データが壊れても復元できるように考慮されている場合もありますが、データを圧縮するとトラブルが発生したときの被害が拡大する可能性があるのは確かです。
 ドライブスペースでの最大の危険性というのは(3)です。ドライブスペースは既存のドライブ上にデータファイルを作成して、そのデータファイルを圧縮ドライブに見立てて使います。圧縮ドライブに格納されているファイルは、すべて1つのデータファイルに格納されていて、ドライバソフトがこれをドライブに見立てて読み書きしているわけです。したがって、圧縮ドライブの元になっているデータファイルが壊れたら、圧縮ドライブ内に格納されているすべてのファイルが壊れてしまいます。しかも、(2)の問題により圧縮されたデータはいったんトラブルが発生すると修復が困難です。

 ドライブスペースに限りませんが、パソコンを使うときにはファイルはいつか必ず壊れるということは考慮しておいたほうがいいでしょう。
 どんなユーザーがいくら慎重に使っていてもファイルはいつか必ず壊れます。
 ハードディスクが物理的にクラッシュしてしまうこともありますが、OSやアプリケーションのバグを完全に無くすことは難しいのと、ある程度信頼性を犠牲にして安価に販売されているパソコンは、ファイルを完全に保護すことは不可能です(このためにバックアップが重要となるわけですが)。
 したがって、多少なりともトラブルの原因となるものは避けるべきという発想から、ドライブスペースは危険とい結論は間違ってはいません。
 しかし、ドライブスペースは正常に機能しえすれば便利なツールなのも事実です。

● ドライブスペースのメリットとデミリット

 ドライブスペースを使うメリットは、ハードディスクの使用料を節約できるという点です。したがって、ハードディスクの容量が十分に足りていれば、あえてドライブスペースを使う必要はありません。
 ドライブスペースをハードディスクの容量は約2倍になりますが、これは格納するファイルの種類によります。文書などのテキストファイルは3分の1以下に圧縮できますが、プログラム等のバイナリデータは半分に圧縮できればいいほうです。また、WAVE形式の音声データファイルや、もともと圧縮されているJPEG形式の画像データファイルは、ほとんど圧縮できないので、圧縮ドライブに格納してもハードディスクの容量はまったく増えません。圧縮ドライブにテキストファイルだけ格納するのならハードディスクの容量は3倍にも4倍にも増えますが、画像データや音声データばかり格納すれば容量はまったく増えません。
 ドライブスペースを使うとハードディスクの容量が2倍に増えるというのは、色々な種類のファイルが格納されている状態での平均値のようなものです。

 ドライブスペースを使った場合のデミリットは、ファイルを読み書きする際に圧縮/伸長処理が必要なので通常のファイルを読み書きするよりも時間がかかるという点です。
 条件によっては圧縮ドライブを使ったほうがファイルの読み書きが速くなることもあります。ファイルを圧縮すると実際にハードディスクに転送するデータサイズが小さくなります。このため圧縮/伸長に要する時間の分だけ、データの転送時間が短縮できれば、圧縮ドライブを使ってもトータルのファイルの読み書きの速度は速くなります。
 たとえば、2Mバイトのデータを読み書きするのに1秒かかるディスクがあったとします。普通に2Mバイトのファイルを読み書きすると1秒かかるわけですが、圧縮することでデータサイズが半分の1Mバイトになったとすると、実際のディスクへの読み書きは0.5秒で済みます。したがって、圧縮/伸長に要する時間が0.5秒よりも短ければ、圧縮ドライブを使ったほうがファイルの読み書きは速くなるわけです。
 ハードディスクの読み書きの速度は十分に速いので、圧縮ドライブのほうが速くなるということはほとんどありません。先ほどの例でいえば、圧縮/伸長に要する時間が0.5秒よりも長くかかるため、トータルでは遅くなってしまうわけです。しかし、フロッピィディスクやMO/PDのように読み書きが遅いディスクなら圧縮ドライブを使ったほうが速くなる可能性もあります。

 いずれにしてもファイルを圧縮して格納する限り、ハードディスクに対してドライブスペースを使うと格納できる容量が増える代わりにファイルの読み書きの速度は遅くなると考えていいでしょう。 (*1)


● 安全なドライブスペースの使い方

 ドライブスペースのメリットを生かし、デミリットを補いつつ、トラブル時の危険性もなるべく回避するためには、ハードデスクに圧縮ドライブ専用のパーティション(区画)を用意したほうがいいでしょう。 (*2)
 そのパーティションは圧縮ドライブの元となるデータファイルだけ格納するようにして、多の用途には一切使いません。
 こうすることで、圧縮ドライブの元となるデータファイルが破壊される危険性はずっと低くなります。
 システムドライブのパーティションサイズは 250〜500Mバイトあれば十分で、システムドライブにその分だけ確保したら、残りのパーティションはすべての圧縮ドライブ用に割当てます。

 なお、ドライブスペースにはドライブスペース2とドライブスペース3のバージョンがありますが、ここではドライブスペース3を使うことを前提に説明します。 (*3)
 たとえば、2Gバイトのハードディスクがあるとしたら、

  • Cドライブ … 500Mバイト
  • Dドライブ … 1.5Gバイト
といったように、パーティションを切ります。
 Dドライブはすべて圧縮ドライブとして設定するので、実際には Dドライブは使いません。Dドライブを圧縮ドライブとして設定した場合、新たな圧縮ドライブ用のドライブレター、たとえばHドライブを使ってアクセスします。圧縮ドライブであるHドライブは、通常の約2倍の容量が確保できますから、見かけ上 3Gバイトのドライブとして使えます。
 Cドライブが 500Mバイトしかないのは心もとないと思うかもしれませんが、アプリケーションやデータは圧縮ドライブに格納するようにすれば大丈夫です。Cドライブが 256Mバイトだと容量的に厳しいかもしれませんが、スワップファイルを圧縮ドライブに置くこともできるので、Cドライブに無条件にファイルを格納してしまう巨大なアプリケーションをインストールしなければまず大丈夫だと思います。
 このようにパーティションを分けるとCドライブがコンパクトになり、FAT32 を使わなくてもクラスタサイズが小さくなるというミリットも生まれます。 (*4)

 4Gバイトクラスのハードディスクでドライブスペースを使う場合は、パーティションの切り分け方が難しいかもしれません。
 OSR2 以降であれば FAT32 が使えるので、4Gバイトも容量があれば圧縮ドライブは使う必要ないかもしれません。また、FAT32ファイルシステム上ではドライブスペースは使えないので、ドライブスペースを使う場合は2Gバイト以内のパーティションを圧縮ドライブ用に作成することになるでしょう。

 問題は FAT32 が使えないときですが、FAT16 ファイルシステムはパーティションサイズが2Gバイト以内という制限があるので、最低でも2つパーティションを用意する必要があります。システムドライブを1Gバイトとかにしてしまうと、まだ3Gバイトの容量が残りますので、合計で3つのパーティションを作成する必要があります。
 結局、Cドライブのパーティションサイズをいくつにするかで自然と残りのパーティションの切り方は決まると思いますが、2Gバイトの最大容量で圧縮ドライブ用のパーティションを作ることになると思います。2Gバイトの圧縮ドライブ用パーティションを作成しても、なお容量が余っている場合は作業のドライブとして、スワップファイルやインターネットのキャッシュファイル等を格納するドライブとして使うといいと思います。


● ファイルは壊れる

 ドライブスペースはこれまで説明したように1個のファイルを仮想的なドライブとしてみなして使います。ドライブスペースを安全に使うためには、ファイルシステムが安定している必要があります。ここでいうファイルシステムの安定とうのは、ファイルが壊れにくいということです。

 ファイルが壊れてしまう原因はいくつも考えられますが、もっとも多いのはファイルを書き込みモードで開いたままOSがハングアップしたりリセットしてしまい、ファイルシステムに何らの矛盾が発生してしこうことでしょう。

 ファイルの書き込みは、

    (1) ファイルを開く(オープン)
    (2) ファイルにデータを書き込む(ライト)
    (3) ファイルを閉じる(クローズ)
という手順で行われています。
 しかし、(3)のクローズ処理行う前にパソコンをリセットしたり電源を切ってしまうと、書き込みの途中だったファイルは壊れてしまう可能性があります。

 普通はこのような事態になってもクローズ処理ができなかったファイルが壊れるだけなのですが、こうしたことが何度も続くとファイルシステム全体に影響が及ぶこともあります。最悪の場合、ファイルシステム全体が破壊されてしまう可能性もあります。
 ファイルシステム全体が壊れてしまうことは滅多に起こることはないと思いますが、細かいファイルの矛盾は必ず起こります。

 ドライブスペースを使う場合は圧縮ドライブ専用のパーティションを作成したほうがいいというのは、このトラブルを避けるためです。圧縮ドライブ専用のパーティションには通常のファイルの読み書きは行われないので、パソコンがハングアップしたとしても被害の拡大を防げます。

 MS-DOS/Windows 3.1ではアプリケーションがハングアップするとパソコンをリセットしたり電源を切らないと復帰できない状態になることがありました。しかし、Windows 95は仮にアプリケーションがハングアップしても、OSがハングアップしない限り復帰させることができるようになっています。
 アプリケーションがハングアップしてしまうとアプリケーションが開いていたファイルはクローズ処理がされないままの状態となりますからトラブルの元になりますが、Windows 95ではOSが正常に機能していれば仮にアプリケーションがハングアップしてもOSが代わってファイルのクローズ処理を行ってくれます。これにより、Windows 95はMS-DOS/Windows 3.1に比較するとファイルが壊れにくくなっています。
 とはいってもOSそのものがハングアップしてしまえば同じことなので、定期的にスキャンディスクを実行してドライブの検査を行うことをお勧めします。

● ドライブスペースの使用例

 うちで使っているWindows 95マシンは、ほとんどすべてドライブスペースを使っています。
 ここでは、どのようにパーティションを切ってドライブスペースを使っているか紹介したいと思います。


Case 1: Pentium MMX 200MHz PC/AT機、HDD 1.2Gバイト

    パーティション・イメージ
    1 2
    FAT16: 509M (C:) FAT16: 710M (D:)
    圧縮ドライブ 約1.4G (H:)

     システムドライブ(C:)はクラスタサイズが8Kバイトに収まる上限の509Mバイトで確保し、残りはすべて圧縮ドライブ(H:)として使っています。


Case 2: Pentium 166MHz PC/AT機、HDD 2.0Gバイト

    パーティション・イメージ
    1 2 3
    FAT16: 509M (C:) NTFS: 509M
    Windows NT用
    FAT16: 992M (D:)
    圧縮ドライブ 約2G (H:)

     2GバイトのハードディスクにWindows 95をWindows NTをインストールしています。Windows NT用の509Mバイトのパーティションを確保している点を除けば、構成はCase 1と同じです。


Case 3: DynaBook PORTAGE 650CT、HDD 1.3G

    パーティション・イメージ
    1 2
    FAT16: 509M (C:) FAT16: 783M (D:)
    圧縮ドライブ 約1.5G (H:)

     ドライブスペースを恩恵を一番受けているノートパソコンです。外出先からでもあらゆる用途に対応できるように色々なアプリケーションやデータを詰め込んでいます。格納されているファイルサイズの合計は1.5Gバイトあり、実際の容量を越えています。


Case 4: DynaBook SS433、HDD 500M

    パーティション・イメージ
    1 2
    FAT16: 255M (C:) FAT16: 248M (D:)
    圧縮ドライブ 約500M (H:)

     ハードディスク容量は500Mバイトという貧弱な環境ですが、ドライブスペースを導入することで見かけ上のハードディスク容量は700Mバイト相当になっています。巨大なデータを保存しなければ、十分実用になります。

● まとめ


 うちにあるWindows 95マシンにはすべてドライブスペースを使っていますが、今のところドライブスペースが原因と見られるトラブルには遭遇していません。
 手持ちのアプリケーションはたいてい圧縮ドライブにインストールしてみましたが、今のところ圧縮ドライブにインストールして動作しなかったのは Inetrnet Explorer 4.01 だけです( 関連記事)。
 筆者はスワップファイルも圧縮ドライブ上に作成していますが、これも特に問題はないようです(デフラグの表示を見ている限りにおいては、圧縮ドライブ上に作成されたスワップファイルはデフラグにより再配置されるようです)。

 Windows 95においてはシステムドライブ(Cドライブ)を圧縮して使うという無茶なことをやらなければドライブスペースは安定して動作するようです。


注釈・用語解説

(*1) 圧縮エージェントについて

     ドライブスペース3に用意されている機能に圧縮エージェントというものがあります。
     ドライブスペース3ではは容量を増やすことを優先するか、速度を優先すねか、あるいはその中間で使うかといった圧縮の微調整も可能ですが、圧縮エージェントを使うことでファイルを更に圧縮して容量を増やすことができます。
     ドライブスペース3では、標準圧縮、HiPack、UltraPack の3つの圧縮方式がサポートされており、後者になるほど高い圧縮率が得られます(よりドライブの空き容量が増える)。ただし、圧縮率の高い方式を使うと速度は遅くなる可能性があります。
     圧縮ドライブにファイルを書き込むと標準圧縮が使われますが、圧縮エージェントを実行すると HiPack や UltraPack にファイルを圧縮し直すことができます。圧縮エージェントでは圧縮なしという指定もでき、容量よりも速度を優先することもできます。
     圧縮エージェントではファイルの種類やフォルダ毎に圧縮方式を指定できます。また、一定期間使われていないファイルを UltraPack で圧縮するといった指定も可能です。
     JPEG形式や GIF形式の画像データや WAVE形式の画像データファイルは、圧縮してもファイルサイズはまったくといっていいほど小さくならないので、このようなファイルは圧縮エージェントで圧縮しないように指定しておくといいでしょう。また、頻繁に利用するアプリケーションは、そのアプリケーションが格納されているフォルダを圧縮なしに設定しておくと速度の低下なしに利用することができます。

(*2) ドライブスペースのバージョンについて

     現在の Windows 95 で利用されているドライブスペースはドライブスペース2あるいはドライブスペース3です。
     Windows 95 の OSR2 以降にはドライブスペース3が標準でついてきますが、それ以前の Windows 95 に標準で用意されているのはドライブスペース2です。OSR2 よりも以前の Windows 95では Microsoft Plus! をインストールすることでドライブスペース3を使うことができます。
     ドライブスペース2では 256Mバイト(圧縮後は約 512Mバイト)までの圧縮ドライブしか作成することができません。ドライブスペース3にはこの制限がありませんが、FAT32 ファイルシステム上では利用できないので、利用できる大きさは 2Gバイト(圧縮後は約 4Gバイト)となります。
     また、ドライブスペース3では容量を増やすことを優先すねか、速度をするか、あるいはその中間で使うかといった圧縮の微調整も可能となっています。

(*3) パーティションについて

     ハードディスクは領域を分割することで、1台のハードディスクで複数のドライブがあるかのように使うことができます。
     このように分割されたハードディスクの領域のことをパーティション(区画)と呼びます。

(*4) クラスタサイズについて




bar
PAGE HIT: 00043452 [←BACK][↑HOME]