2種類のWindowsユーザ
システム運営・管理者は、組織内ユーザとソフトウェア開発者の中間に位置します。今回は便宜上、両者を以下のように定義することにします。
組織内ユーザ | 目に見えるGUI部品を操作するWindowsユーザ |
ソフトウェア開発者 | API部品をプログラミングするWindowsユーザ |
システム運営・管理者の両端に位置するこれら2種類のWindowsユーザの性質は、日常的に利用している部品という視点から見ると、まったく異なります。システム運営・管理者は性質の異なるこれら2種類のWindowsユーザと日々交流しなければなりません。この交流は簡単なことでしょうか。筆者は、簡単なことではない、と考えています。
質問は歓迎だが
たとえば、組織内ユーザの一人が図1のようなタスクマネージャの画面(GUI部品)を示しながら、「GoogleのChromeブラウザを起動すると、複数のプロセスが起動されているようですが、別段問題はないでしょうか?」と尋ねてきたとします。組織内でよく見かけられる光景の1つかもしれません。
図1のタスクマネージャ画面を見ると、「chrome.exe」という同名のプロセスが確かに4個起動されています。MSPAINT.EXEを起動した場合などは、図2のように1つのプロセスが起動されるだけです。
Chromeは多くのマスコミで取り上げられ、評判も上々です。Chromeに関する情報はインターネット空間内のあちこちに格納されています。組織内ユーザがそれらの情報を自分のPC画面に引っ張り出し、興味深く閲覧していることは十分考えられます。
中には、タスクマネージャを起動し、複数のブラウザの動作や性能を比較していることだって考えられます。インターネットが普及した今、これは決してありえない話ではありません。社内のシステム教育が徹底していればいるほど、ありえる話です。
システム運営・管理者の多くは、組織内ユーザがコンピュータシステムやソフトウェアに少しでも関心を持ってくれることを常々願っています。組織内ユーザのシステムへの関心が高まれば、予算と時間を投資して(定期的に)行っている社内教育の効果が改善されることが大いに期待できるからです。
教育効果が上がれば、システム運営・管理者の作業負担も自然に減っていきます。こうした思惑から、組織内ユーザからの質問は大歓迎したいところです。しかし、質問内容がプロセスレベルになると、なかなかうまい回答を用意できないのが現実です。タスクマネージャ画面(GUI部品)の背後には、数え切れないほどの数のAPI部品がどっかり腰を下ろしています。
GUI用語とAPI用語
回答の説明段階で採用する用語の選択には神経を使います。GUI用語を話す人々にAPI用語で語りかけることは許されません。説明用語の選択を誤り、苦い経験をされた方も結構いらっしゃるのではないでしょうか。その場を一時的にうまく切り抜けたとしても、自分の真意が伝わっているかどうか、あるいは、説明内容を本当に理解してくれたのかどうか、という不安は常に残ります。適当にお茶を濁してしまうと、質問者の学習意欲を削いでしまい、結果として、「不親切な奴!」「役に立たない奴!」と非難されかねません。これでは逆効果です。わざわざ質問にやってきてくれた組織内ユーザには笑顔で自席に戻ってほしいものです。これが多くのシステム運営・管理者の願いのはずです。
事実を知っていただきましょう!この場合の事実とは、今回取り上げるプロセス構造体とそのインスタンスです。
今回の目標
Windowsシステム内で動作しているChromeプロセスは、「プロセス構造体(概念)のインスタンス(具体例)」と表現されます。このため、Chromeプロセスを説明する際には、まず、概念(プロセス構造体)、次に、具体例(特定のChromeプロセスインスタンス)を示すことになります。この順序で説明を進行すれば、おそらく、「不親切な奴!」「役に立たない奴!」と非難されることはないでしょう。説明進行の過程(一種のOJTのようなもの)では、「ここまでは分かるが、それ以上のことは現時点ではよく分からない」という点をはっきり表明することも大切ではないかと思います。
それでは早々Chromeプロセスを調べてみましょう。なお、以降の調査作業は16進数の細かな数値情報を頼りに進めることになりますから、画面に表示されているシステム情報を辛抱強く観察するようにしてください。慣れてしまえば、観察ポイントがその場で分かるようになります。5分から10分。頑張ってみましょう!