Windowsカスタマイズ

ソフトの重さ研究 - ウイルス対策ソフト

●ソフトが"重い"のにはワケがある

ウイルス対策、フォトレタッチ、ビデオ編集など、動作が〝重い″と言われるソフトがいくつかある。このページは、その理由を解明するのが目的だ。原因を知ると、速度を上げる方法も自然にわかる。動作が遅くなる根本的な原因は「計算量がとても多い」「何度もハードデ ィスクにアクセスしている」の二つに集約できる。パソコンのCPUは、毎秒何倍回も計算できるが、それでも限界がある。例えば、画像 や動画の処理は計算量が桁違いに大きいので、時間もかかってしまう。また、ウィンドウズでは複数のソフトを動作させるときに、それぞれのソフトの処理を小分けにして、交互に実行している。このため、一つ〝重い処理″が始まると、ほかの処理も遅くなってしまう。 もう一つの要因がハードディスク。パソコンでの処理に必要なプログラムやデータは、最初はハードディスクに保存されており、CPUで 処理をするため、メモリーに読み込まれる。CPUとメモリー間でデータをやり取りする分には高速に処理できるが、何らかの理由で、メモリーとハードディスクでやり取りが起きると、処理が遅くなる。ハードディスクはメモリーよりもずっと低速だからだ。例え ば、パソコンのメモリーが不足しているときは、ハードディスクの読み書きが頻繁に起こって遅くなるので要注意だ。つまり、処理を速く するには計算量とハードディスクへの読み書きを減らせばよい。ソフト別に解決策の有無を探っていこう。

●感染を防ぐために二重のチェック

「必要なのはわかるけど、なんとか速くならないか…」と思いたくなるのがウイルス対策ソフト。ハードディスクの中を完全にチェックするには何十分もかかるし、インストールしているだけでウィンドウズの起動が10~20秒ほど遅くなる。このほか、ソフトの起動などの処 理も実は多少遅くなっている。

全ファイルをパターンと照合対象を絞って時間を短縮

具体的に、遅くなる要因を一つ一つ探っていこう。まずは、バードディスク全体のウイルスチェックに時間がかかる理由からだ。最初に、ウイルスチェックの仕組みを押さえておこう。ウイルスはプログラムファイルの一種なので、侵入後はファイルとしてハードディスク内に潜んでいる。現在発見されているウイルスは一〇万個以上。ウイルス対策ソフトでは、それぞれのウイルスについて、特徴的なデータの並び(パターン)を調べ、それをデータベースとして「パターンファイル」にまとめている。チェック対象のファイルの中身を検索してパターンファイルと一つひとつ照会し、「パターン」が含まれていたらウイルスと判定する。このほか、プログラムの動作を解析して、悪質な動きをしそうなものをウイルスだと判定する「ヒューリスティックスキャン」をするソフトもある。パターンファイルが作られる前に侵入したウイルスを検知する機能だ。ハードディスクの完全チェックを実行すると、数万個あるファイルを一つずつ調べて一回または二回のチェックをする。ハードディスクへのアクセス数が膨大になるので時間がかかるのは当然だ。ウイルス対策ソフトで速度を上げたいなら、安全性を損なわない範囲でチェック対象を減らす。例えばハードディスク全体のチェック時間を短縮するには、調べるファイルの数を減らせばよい。幸い、テキストファイルや動画ファイルのウイルスはまだないので、そうした形式のファイルを検査対象から外しても危険は少ない。これでチェック時間を大幅に短縮できる(図1,図2)。毎月実行するチェックは対象ファイルを限定し 、三~六カ月ごとに全ファイルをチェックするという運用が実践的だろう。「ヒューリスティックスキャン」を外す手もあるが、こちらはさほど効果がない(図3)。

アンチウイルス アンチウイルス
アンチウイルス

いったん常駐すると動いたファイルをすべて検査

次に、パソコン操作時に〝常駐″してウイルスの発生を監視する「オートプロテクト」1リアルタイムスキャン」などと呼ばれる機能について見ていこう。ウイルス対策ソフトは常にファイルの状態を監視し、動きのあったファイルをその場で検査している。ファイルをダ ブルクリックして開いたときはもちろん、保存、移動、コピーなどすべてのファイル操作が対象だ。「ファイル操作なんてそんなにしない」という人でも、意外に多くのファイルを動かしている。例えば、ソフトを起動するときにチェックするのは、ソフトの本体( 実行ファイル)だけとは限らない。実行ファイルが設定ファイルや別のプログラム(DLLファイル)を呼び出すことが多く、すべてウイルスチェックの対象だ。ソフト起動時に数十個のファイルをチェックすることもある。また、ブラウザーでウェブを閲覧するときは 、表示された画像やテキストがすべてファイルとしてハードディスクに保存されている。つまり、単にウェブページを見るだけでも何十個ものファイルが保存され、ウイルスの有無をチェックしているわけだ。ただし、ハードディスク内の完全チェックに比べれば対象ファイルが少ないので、遅延は数秒レベルに留まる。安全性を考えれば致し方ないと考えたほうがよい。なお、プロバイダーで電子メールのウイルスチェックをしているなら、ウイルス対策ソフトでは電子メールのチェックを省略してもよい(図4)。

アンチウイルス

ウィンドウズの起動時には最も多くのファイルを検査

プリインストールのウイルス対策ソフトを使っているとわかりにくいが、パソコンの起動時間にもウイルス対策ソフトは影響を与えている 。インストール後は、ソフトを入れていない状態に比べて、最大二〇秒ほどパソコンの起動が遅くなっている。実は、ウイルス対策ソフトが常駐するのは、タスクトレイにアイコンが表示されるときよりもずっと前。パソコンの電源スイッチを入れて、ウィンドウズの中核部分が起動した直後にウイルス対策ソフトも起動している。パソコン起動時に発症するウイルスを検知するためだ。このため、ウイルス対策ソフトの起動後に読み込まれるウィンドウズのシステムファイルは、すべてチェックされている。システムファイルは大量にあり、すべてチェックするために起動が遅くなる。ウィンドウズ起動時に発症するウイルスはかなり数が多い。ソフトによっては、起動時のチェックをしない設定にもできるが、安全性が下がるので避けたほうがよい(図5)。

アンチウイルス

ウイルス対策ソフト

このページのtopへ