Windows 95が出荷された1995年以来,インターネットが急速に普及しました。マイクロソフトをはじめとする各社は,このような流れに対応するためのさまざまな最新技術を自社製品に組み込むようになりました。出荷される製品はバージョンアップのたびに機能強化され,結果的に複雑化しています。Windows 2000もこのような複雑化した最新OSのひとつであることは間違いありません。
本講座も第4回目を迎え,いよいよ佳境に入ります。今回は,最新OSであるWindows 2000をさらに学習するための方法論をご紹介いたします。高等数学の難問をいきなり突きつけられても誰も対応できません。必要なのは基本となる知識の集積です。この第4回講座では,「パフォーマンス・モニター」というWindows 2000に付属するプログラムを教材として,最新OSであるWindows 2000を理解するための基礎知識を習得します。
![]() |
図1●パフォーマンス・モニター |
「パフォーマンス・モニター」とは何かを考える
パフォーマンス・モニターは,コントロール・パネルかスタート・メニューで「管理ツール」を選択すると起動できます(図1[拡大表示])。このような画面をはじめて目にした人もおられることでしょう。几帳面な方は,パフォーマンス・モニターではなく,突如表示される「システム・モニター」という文字を見て困惑し,「難しすぎてついていけない」と弱音を吐いておられるかもしれません。ここではっきり申し上げますが,そのような心配は不要です。ここでは,パフォーマンス・モニターを次のように定義してしまいます。「パフォーマンス・モニターは,Windows 2000システムの各種機能を監視するプログラムである」
この定義文を読むと,鋭い方は「Windows 2000システムの各種機能とは何でしょう」と次なる質問をされるはずです。そのような方は,肩の力を抜いてください。Windows 2000には,プログラムを実行する機能,実行中のプログラムを管理する機能,プログラムを停止する機能,あるいはメモリーにアクセスできるようにするための機能などが多数用意されています。このため,Windows 2000をどのように利用するか,という問いこそが重要といえます。主役はWindows 2000ではなく,あくまでも私たちユーザーです。
Windows 2000上で何らかのプログラムを起動すれば,Windows 2000に実装されているシステム機能が使われます。その機能を監視するのがまさにここで定義したパフォーマンス・モニターといえるでしょう。
Messengerサービス機能を監視する
第3回講座では,Windows 2000のサービスであるMessengerとEventLogを使いながら,ネットワークについて説明しました。前回との連続性を維持するという面からも,ここではそれらのサービスを使用したときのWindows 2000機能を監視してみましょう。
![]() |
図2●SPY++でスレッド情報を表示 |
私たちが,使用するアプリケーションをダブルクリックすると,Windows 2000はハードディスクに格納されている拡張子「.EXE」を持つアプリケーション・ファイルをメモリーにロードします。このようなWindows 2000の機能は「ローダー」と呼ばれています。
ローダーは,アプリケーション・ファイルに格納されている多数の情報(ファイルの大きさ,メモリ内のロード位置,動作するCPUタイプ,プログラムの種別,あるいは必要なWindows OSバージョンなど)を参照しながら,メモリーにロードします。
![]() |
図3●Messengerサービスのプロパティ |
プロセス・データベースやスレッド・データベースには多数のプログラムが登録されています。つまり,Windows 2000システム内には常に多数のプロセスとスレッドがうごめいています。個々のプロセスやスレッドを区別するために,プロセス・ハンドルやプロセスIDなどのデータ新たに作り出されます。これはあくまでもWindows 2000が自分の都合で勝手に作り出した内部データです。私たちには,その内部データを識別できませんから,Windows 2000は,内部データの代わりに,アプリケーション・ファイル名の一部を表示するのです。
![]() |
図4●「カウンタの追加」画面 |
![]() |
図5●プロパティ画面で,グラフ項目を設定する |
この画面から分かるように,拡張子EXEを持つファイル名は「Services.exe」となっています。このため,プロセス名は,通常「Services.exe」か「Services」と表示されてくるはずです。先に紹介したMMCというプロセス名は,MMC.EXEから作成されています。パフォーマンス・モニターの具体的な操作手順は次のようになります。
ステップ1:「パフォーマンス・モニター」を起動する。
ステップ2:ツール・バーのプラス(+)ボタンをクリックする。
すると,図4[拡大表示]のような「カウンタの追加」画面が表示されます。
![]() |
図6●スレッドが2個増えていることがわかる |
ステップ4:「一覧からインスタンスを選ぶ」から「services」を選択する。
ステップ5:「一覧からカウンタを選ぶ」から「Thread Count」を選択する。
ステップ6:「追加」ボタン,「閉じる」ボタンの順でクリックする。
ここで,再びパフォーマンス・モニター画面に戻りますので,次のように設定します。
ステップ7:赤いボタンの「画面を固定」ボタンをクリックする。
ステップ8:赤いボタンの隣の「プロパティ」ボタンをクリックする。
するとプロパティ設定画面が表示されますので,次のように設定します。
![]() |
図7●「ペイント」プログラムを終了すると,スレッドも消滅する |
ステップ10:赤いボタンの「画面を固定」ボタンを再度クリックする。
これで準備は整いました。では,Messengerサービスの「コンソールメッセージの送信」機能を使ってみましょう。ここでは,「コンソールメッセージの送信」の「受信者」欄に自分自身のコンピュータ名とサーバーのコンピュータ名を入力し,実行してみました。すると,図6[拡大表示]のような結果になりました。スレッドが確かに2個増えていることがわかります。ここでは単純な機能を監視しただけでしたが,更なる学習を進められ,いろいろな情報を取り出してみてください。
図7[拡大表示]の画面は,Windows標準の「ペイント」のプロセス(MSPaintプロセス)のThread Countを監視しているところですが,プログラムを終了する,すなわちプロセスを終了すると,即座にMSPaintプロセスのスレッドが消滅しています。一方,Messengerサービスの場合,スレッドが消滅しません。このようなところにもサービス・アプリケーションと通常のWindowsアプリケーションの違いが出ています。
![]() |
図8●Windows 2000 Professionalマシン上でWindows 2000 Serverの動作を監視している |
![]() |
図9●「説明」ボタンを押すと,意味を説明するボックスが表示される |
これは,「一覧からカウンタを選ぶ」から「Thread Count」を選択後,右上の「説明」ボタンをクリックしたところです。このように「Thread Count」の意味を説明するボックスが表示されます。実際に動作を確認しながら,Windows 2000システムの説明が受けられます。
第4回講座のまとめ
今回は,Windows 2000の標準で用意されているパフォーマンス・モニターの意味とその使い方を取り上げました。いかがだったでしょう。パフォーマンス・モニターはさまざまなWindows 2000機能を監視する機能を提供してくれています。今回はスレッドの個数変化というきわめて初歩的な監視機能を利用しただけでしたが,Messengerをはじめとするサービス・アプリケーションと通常のアプリケーション・プログラムの違いや,Windows 2000 ProfessionalとWindows 2000 Serverの違いを即座に理解できました。本文でも述べたように,プロセスやスレッドが作成されるということは,Windows 2000のさまざまな内部機能が活動することを意味します。Windows 2000内部にあるスレッドデータベースに情報が追加されることもあり,メモリー量は当然変化します。CPUの動きも変化します。日々学習を積まれ,成長なさってください。
次回は,アクティブ・ディレクトリと「情報の管理」の関係について解説しようと思います。ちょっと漠然とした表現ですが,ご期待ください。ごきげんよう。