2009-10-06

PIO病、再び

予備自補の訓練から帰ってきて、PCを起動して、ふと思った。やけに動作が遅くないだろうか。少し前から、動作が遅いとは思っていたが、五日ぶりにPCを触ってみて、特に遅いと感じる。確かに、起動直後は、多数のプロセスからのディスクアクセスが集中するので、多少遅くなるのは分かる。しかし、これは不思議に遅い。第一、見えているウインドウ自体がハングアップしている。4コアのCPUを使っているし、CPU時間を浪費しているプロセスもないのに、ディスクアクセスの必要ない操作まで、何故遅いのだろうか。

この挙動には、覚えがある。HDDの転送モードが、PIOになっている時の挙動だ。デバイスマネージャを開いてみたが、どうもVistaでは、転送モードの確認ができない。

とりあえず、デバイスマネージャからHDDを削除して、再起動してみる。動作が極端に速くなった。やはり、HDDの転送モードがPIOになっていたのだろう。再びPIOにならないように、レジストリを書き換えた。

しかし、何故MSは、未だにこのような仕様にしているのだろう。確かに、DMA転送が失敗したら、HDDが壊れているといえるかもしれない。しかし、どうもこの安全装置のような仕様、むしろ誤爆している方が多いのではないかと思う。私の使っているHDDも、特にバッドセクタも見あたらないし、ましてや異音のたぐいは一切ない。HDDのベンチマークやテストのプログラムも、全く問題なく完走する。PIOになっていても、ディスクアクセスさえしなければ、普通に使えるので、なかなか問題に気付きにくい。この問題は、私の持っているPCでは、必ず起きている事なので、これは全ユーザーに起こりうる事であろう。果たして、全ユーザーが、問題の根本的理由を理解し、対処できるであろうか。その辺は、かなり疑問である。

余談だが、この、「デバイスマネージャから、デバイスを削除する」という操作は、個人的には、ものすごく違和感を覚える。どう考えても、「このデバイスはもう二度と使わない」という意思表示をした様に思えてしまう。実際は、そうではない。削除したと言うことは、OSはそのデバイスについて、もはや何も知らないというだけに過ぎない。従って、Windowsは再起動時に、そのデバイスを未知のデバイスとして発見するのだ。そして、必要なドライバを検索する。削除というよりも、リセットだと思えばいい。結局の所、OSとしては、知らないデバイスがあれば、使えるように努力するものであり、デバイスマネージャから、あるデバイスを削除するということは、そのデバイスを「知らないデバイス」にするという事に外ならない。第一、デバイスマネージャから見えないデバイスは、ユーザーが有効にすることができない。OSの視点からみれば、理にかなっていると言えるのだが、ユーザーの視点からでは、「削除してしまったら、もう二度と使えないんじゃないか」、といった恐怖感があるので、あまりよくないユーザーインターフェースだと思う。

このデバイスマネージャからデバイスを削除するというのは、デバイスを無効にするということではなくて、再発見させるだけだという挙動について、Raymond Chenか誰かが、ブログで言及していたはずだが、いまググった限りでは見つからない。確かにどこかで読んだはずだが、どこで読んだのだろう。

No comments: