情報科学のあれこれ(7) コンピュータの中を見てみよう(その2) 3.コンピュータの中を見る方法(2) (1) 学習の流れ コンピュータの中を見る方法(1)では、主として静の状態を見てきたが、(2)では OSやプログラムを実行した動の状態を中心に見ることにしょう。この場合の学習の 流れは第1表のようにしよう。 ここでは、色々な手法でOSの姿に触れた後、アプリケーションプログラムからOS を使うためのシステムコールの働きを見てみよう。次にファイルがコンピュータの 中で保持されている状態や、プログラムなどを実行した際のCPUの稼動状態などをタ スクマネージャで見てみよう。そしてコンピュータの中を見る方法(1)と(2)を通じ てコンピュータを使いこなす素養を身につけよう。なお、以下の説明でよく分から ない点は、参考文献14)の情報科学―基礎編などを参考にして頂きたい。 (2) 目に見えるOSの姿からその内容を学習しよう 1) OSを学習するに当たって OSは中心にハードウエアを直接制御するカーネルと呼ばれる部分があり、その周 辺をユーザとやり取りするためのシェル(コマンドインタプリタなど)が取り囲ん でいる。さらにその外側をサービスプログラムなどが取り囲んでいる。OSのカーネ ルは一般のユーザには原則として見ることはできないが、シェルは見ることができ るので、できる限り近づいてOSの中味を見てみよう。 ここではパソコンのOSの代表的なものとして、MS-DOS、Windows 3.1、Windows 98、Windows XPを対象としよう。本来はUNIXでOSの勉強をすれば最も本質的なこと が理解できると思われるが、UNIXの現代版ともいえるLinuxでも一般に普及して、 十分理解されているとは言い難い。それでUNIXの階層型のディレクトリ構造や周辺 機器もファイルとして管理する方法やリダイレクト機能などを取り入れたMS-DOSか ら始めることにしよう。前述のMS-DOSを始めとするOSでは、後のもの程バージョン が高く機能が豊富であるがOSが複雑になり、見ることはできても内容を理解するの は難しくなっている。従って単体のMS-DOSで中を見るのが一番判り易い。ここで特 に“単体の”と断ったのは、16ビットや32ビット対応のWindowsに付属している MS-DOSと異なり元々のMS-DOSは16ビット対応であり、またWindowsに付属している MS-DOSには元々のMS-DOSにあるすべての機能が備わっているわけではないからであ る。(すべてのコマンドが使えるわけではない) 2) MS-DOSから学習すべきこと 現在単体のMS-DOSの環境を手に入れることはかなり難しい。Windows 3.1が日本 に提供される前は、Macintoshを使っていた人を除けば、殆どの人がこの単体の MS-DOSを使っていたであろう。1990年頃にコンピュータを使っていた人、即ち15年 程度のキャリヤーの持ち主はMS-DOSについて勉強されたはずである。それらの人が 学んだであろうことの一端を参考のため以下に記すことにしよう。単体のMS-DOSの 環境をお持ちでない方は、こんなOSもあったんだなという気持ちで読んで頂きたい。 MS-DOSのDOSはDisk Operating Systemで、当時のフロッピーディスクのファイル を管理するものであった。またOS自身の大きさもフロッピーディスクに入る600MB 程度であった。しかし、OSが1枚のフロッピーディスクの多くを占有するので、拡 張メモリ方式に対応するため、通常システムディスクとデータディスクを使用し、 データディスクは取り替えられるようにしていた。そのためハードディスクが普及 していなかった時代のコンピュータでは、フロッピーディスクドライブを2台備え ていた。 MS-DOSでは、現在いるカレントディレクトリの中にあるディレクトリやファイル を表示させる[dir /a]というコマンド(命令)がある。(MS-DOSでは大文字と小文 字は区別されない)これを使うと単体のMS-DOSでは、カレントディレクトリがルー トディレクトリである場合、その下にあるディレクトリやファイルが第2表の左側 のように表示される。 更にこれ以外に不可視ファイルとしてMSDOS.SYSやIO.SYSというシステムファイ ルがある。これらのMSDOS.SYS(ファイル管理部)、IO.SYS(入出力制御部)と、 第2表の中のCOMMAND.COM(コマンド解釈処理部)の3つがMS-DOSの中心的システ ムファイルで、次の図のように、入力されたコマンドを解釈したり、処理を実行し たり、結果を出力する。 CONFIG.SYSは、システム構築用のテキストファイルなので、ファイルの内容を文 字として見ることができ、またユーザが作成したり書き変えたりすることができる。 ファイルの中味を見るにはテキストファイルでは[type]コマンドを、バイナリファ イルでは[dump]コマンドを使う。これに対してアプリケーションプログラム、例え ばワープロで作ったファイルではそのアプリケーションプログラム特有の符号を使 っているので、そのアプリケーションプログラムでしか読むことができない。 CONFIG.SYSの中味を見るために TYPE CONFIG.SYS と入力してみると DEVICE=C:\DOS\HIMEM.SYS DOS=HIGH DEVICE=C:\DOS\KKCFUNC.SYS DEVICE=C:\DOS\CTL.SYS DEVICE=C:\DOS\OAK0.SYS DEVICE=C:\DOS\OAK1.SYS /S0 /H1 /R0 /B1 /C: /O1 DEVICE=C:\DOS\MSKANJI.SYS DEVICE=C:\DOS\GDS.SYS DEVICE=C:\DOS\HCOPY.SYS DEVICE=C:\DOS\MOUSE7.COM BUFFERS=8 FILES=20 のように表示される。これに見られるようにCONFIG.SYSの内容にはデバイスドライ バを設定するDEVICEについてのものが多く、上の例ではパスとしてはCドライブに あるDOSディレクトリの下に設定されていることを示している。なお、DOS=HIGHは メモリ領域としてMS-DOSの拡張ファイル分を確保し、BUFFERSは=8は入出力用の一 時ファイルの領域であるバッファを約8MBに設定するもので、FILES=20は同時に 開くことのできるファイルの数である。 一方、COMMAND.COMはユーザが入力するコマンドを解釈してMSDOS.SYSに実行可能 かどうかを問い合わせるもので、バイナリファイルなので[type]コマンドで中味を 見ると意味不明の文字が表示される。このバイナリファイルの中味を見る方法は後 述する。 DOSSHELL.SWPはMS-DOSにGUI的な操作性を付加するファイルである。 では次にWindows XPにあるMS-DOS を見てみよう。Windowsを使っている人の中に は、Windows XPなどはMS-DOSと縁が切れており、MS-DOSは存在しないのではないか と思われるかも知れない。しかし、MS-DOSはフロッピーディスクに入る程度の大き さのOSであるから、Windows XPでも本来のOSとは別に残してある。これをフロッピ ーディスクに取り出すには、フロッピーディスクの[フォーマット]で[MS-DOSの起 動ディスクを作成する]にチェックを入れて行う。パソコンはインストールしたOS によって動くのであるから、このようにしてWindows XPから取り出したMS-DOSでコ ンピュータを立ち上げることができる。[dir /a]コマンドを使って中味を見ると第 2表の中央のように表示され、単体のMS-DOSと相当異なっていることが分かる。こ のうちCONFIG.SYSだけは中が空白であり、AUTOEXEC.BATに至っては存在しない。こ れはMS-DOSを動作するのに最底限必要なデバイスドライバしか設定されていないこ とを示している。またC:\ではなくA:\となっているので英語版であることが分か る。このフロッピーディスクには容量の関係でMS-DOSの外部コマンドが入っていな いので、COMMAND.COM内の内部コマンドしか利用できない。このようにWindows XP から取り出したMS-DOSは単体のMS-DOSに較べて機能が相当省略されている。 このようなMS-DOS とは別に、Windows XPには[スタート] → [すべてのプログラ ム] → [アクセサリ] → [コマンドプロンプト]とすることによって表示されるコ マンドプロンプトの画面がある。このコマンドプロンプトでは[cd ..]と入力して 親ディレクトリに移ることができ、これを繰り返すとルートディレクトリのC:\へ 移動することができる。そこで[dir /a]コマンドを使ってディレクトリなどを見 たものが第2表の左側に示したものである。表の中央のWindows XPから取り出した MS-DOSと右側のWindows XPのコマンドプロンプトの違いは、前者は独立したOSとし て動作するのに対し、後者ではMS-DOSは一つのアプリケーションとして動作してい るだけなので、CONFIG.SYS やAUTOEXEC.BATやIO.SYSやMSDOS.SYSの中味は空となっ ており、いずれの機能もWindows XPの本体のOSがもつ機能を使用している。そのう ちCOMMAND.COMはC:\WINDOWS\system32にあるものを使っている。これを見るには、 [dir C:\ *.com]と入力して、拡張子がcomのファイルを探索すると表示される。こ のようにWindows XPのコマンドプロンプトは、アプリケーションとして本来のOSの うちの使えるところを使って作動している。 このコマンドプロンプトで日本語使う方法を説明しておこう。それには、[Alt] と[半角/全角]キーを同時に押してから、日本語で表示されているディレクトリ名 などをローマ字で入力し、変換キーを押して目的の言語になるようする。戻すとき も同様に[Alt]と[半角/全角]キーを同時に押す。 以上のように、Windows XPのコマンドプロンプトのディレクトリやファイルは、 単体のMS-DOSに較べて相当に異なっているが、ではMS-DOSからWindowsを起動する Windows 98以前のWindowsではどうであろうか。これについては細かく説明はしな いが、各人で確かめて頂きたい。 Windows XPなどに、このようにMS-DOSの一部のコマンドを、コマンドプロンプト として残してあるのは、コマンド入力によってネットワーク情報を調査したり、確 認したりする機能を使うためである。後述する[ping]などのネットワーク用のコマ ンドなどは、Windows XPではOSに隠されてしまって一般ユーザには使うことができ ないが、MS-DOSやコマンドプロンプトで、コマンド入力することによって使用する ことができる。その他[help]コマンドで見られる強力なコマンド群も利用できる。 コマンドプロンプトで、Windows XP から取り出したMS-DOSも使えるようにする には[command]というコマンドを入力する。これによって両方のコマンドが使用で きるようになり、MS-DOS用のソフトウエアも使えるようになる。しかし、スクロー ルやコピー、貼り付けなどの操作はできなくなる。 3) WindowsのOSを見てみよう Windows XPの本来のOSはMS-DOSの約5000倍の大きさになっており、その内容の一 部は隠しファイルになっている。これを見るにはWindowsのフォルダオプションの 機能を使う。(フォルダはWindowsでの表現で、MS-DOSではディレクトリと呼んで いたものである)フォルダオプションを見るには、[スタート]の上で右クリック → [エクスプローラ] → [ツリー状のフォルダ] →ローカルディスクの下にある [Windows]をクリックする。(個人のフォルダの下にもWindowsのフォルダがあるの で注意)多数のフォルダやファイルが表示されるが、表示の条件を確認するために、 出てきた画面でメインメニューの [ツール] → [フォルダオプション]とする。[表 示]のタブを出し、詳細設定で「すべてのファイルとフォルダを表示する」がonに なっているか確認する。さらに、「保護されたオペレーティングシステムファイル を表示しない」にチェックが付いているか否かを見て、チェックが付いていなけれ ば付ける。この状態で[ok]をすると、すべて表示となっているが、勝手に変更され ると致命的なダメージを受ける恐れのあるファイルは隠されたままである。この状 態では103個のフォルダと180個のファイルが表示される。 次に「保護されたオペレーティングシステムファイルを表示しない」のチェック を外してこの項目をoffにして[ok]すると、次のような警告が出る。 保護されているオペレーティングシステムファイル(システムファイル および隠しファイル)をWindowsエクスプローラで表示するように選択 しました。これらのファイルはWindowsを起動および実行するのに必要 です。これらのファイルが削除または編集されるとコンピュータが操作 できなくなる可能性があります。 よく読んで[はい]を押す。[ok]をすると隠しファイルを含めてすべてのが表示さ れる。先の場合に較べて2つのフォルダと2つのファイルが追加されている。 Windows XPのOSの中心はこの「保護されたオペレーティングシステムファイルを表 示しない」のチェックを外したときに現れたものであるが、非常に多くのファイル があり、どれが追加されたものかわかりづらく、具体的に識別することは困難であ る。この操作を終わるときは安全のため再び「保護されたオペレーティングシステ ムファイルを表示しない」にチェックを付けておく。 (3) システムコールの働きを知ろう システムコールとは、アプリケーションプログラムからOSの各種の機能を利用す るための仕組みで、OSのカーネルが提供している。MS-DOS環境で動いているアプリ ケーションプログラムがOSの機能を使用するには、システムコールを呼び出しサー ビスルーチンに制御を移して処理を実行する。この過程は次の図のようでアプリケ ーションプログラムでOSに対し何らかの作業を要求する必要が生じると、割り込み をかけて@からCの処理を行う。 このようにMS-DOSでは割り込みベクトル領域が用意されており、サービスルーチ ンのアドレスが格納されている。これによってアプリケーションプログラムがOSの 中の要求する処理を担当する部分のアドレスを知らなくても、システムコールの番 号を指示するだけで処理を行うことができるようになっている。この割り込みベク トルの効用は、OSに新しいデバイスドライバや機能が組み込まれてサービスルーチ ンのあり場所が変わっても、アプリケーションプログラムは一々知らなくてもよい ということである。WindowsでもアプリケーションプログラムからOSの機能を利用す るには、MS-DOSと同じようにOSのシステムコールを使用する。システムコールは主 として次のような働きをする。 @ アプリケーションを起動する。 A キーボードから入力する。 B マウスでボタンの状態を入力する。 C 各種のイベントをコールする。 D 画面に表示する。 E プリンタで印刷する。 F アプリケーションを終了する。 Windowsでは、アプリケーションプログラムにはライブラリも用意されている。ラ イブラリもシステムコールもアプリケーションプログラムが、共通の決まった処理 をしたいとき呼び出して処理を依頼するものであるが、ライブラリはアプリケーシ ョンプログラムの中にある機能であり、システムコールはOS側で特定の処理を引き 受けてくれるものである。ライブラリでもその中からシステムコールがなされるの で、似たような働きをする。 その他にOSの重要な機能としてコンパイルがある。コンパイルとは人間に分かる 高級言語で書かれたソースプログラムを、コンピュータが理解し実行できる機械語 のオブジェクトプログラムに一括翻訳することである。 では実際にプログラムを実行してこのようなOSの働きを見てみよう。そのため最 も簡単な例として高級言語のC言語で次のソースプログラムを書いて実行してみよ う。(C言語では大文字と小文字が区別される) #include <stdio.h> main ( ) { int a; int b; a=3; b=a*5; printf("a=%d\n",a); printf("b=%d\n",b); } このプログラムはaに3を代入し、a×5を計算してaとbを画面に表示するもので ある。 しかし、今日ではC言語のソフトウエアを単独で入手する方法は限られており、オ ブジェト指向言語C++の中のC言語の機能を使用するのが簡単である。少し横道にそ れるが、C++のソフトウエアとしてVisual C++を用いてC言語が使用できる環境を作 る操作方法を説明しよう。 @ Visual C++を立ちあげ、メインメニューから[ファイル] → [新規作成]を 選び、新規作成の画面で[プロジェクト]のタブを選ぶ。 A そこで[Win32 Console Application]を選ぶ。 B プロジェクト名を入力する。位置の窓にはパスが表示され、そこにプロジ ェクト名のフォルダが作られる。 C [ok]のボタンをクリックすると、画面の左がワークスペースのウインドウ となり、作成したプロジェクト名が示される。 D 次にメインメニューから[ファイル] → [新規作成]を選び、今度は[ファイ ル]のタブで[テキストファイル]を選ぶ。そこで今回はファイル名をつける。 ファイル名には拡張子として.cをつける。 E [ok]のボタンをクリックすると、Visual C++のエディタが起動して、ソー スファイルの入力ウインドウが表示されるので、プログラムを打ち込む。 F プログラムの入力が終わったら、メインメニューから[ビルド] → [コンパ イル]を選び、コンパイルする。この段階ではエラーがあれば指摘されるの で、エラーを修正し、エラーが0になったらコンパイルを終了させる。警 告については無視してよい。 G エラーがなくなった段階で[ビルド] → [ビルド]とし、リンクを行う。ビ ルドウインドウにリンク中を示すメッセージが表示され、拡張子として .exeのついた実行ファイルができたことが示される。この段階ではエラー 0、警告0となっているはずである。 H 実行させるには、[ビルド] → [実行]とすればよい。 このようにして先のプログラムを実行すると、次のように表示される。 a=3 b=15 ではこのプログラムの作成と実行の過程でコンピュータの中ではどのようなこと が行われているかを見てみよう。ただし、C言語のプログラムを勉強するわけではな いので、文法的なことは説明しない。 @ プログラムを入力すると、先ずキー入力のシステムコールが働き入力した 内容をメモリに保持するとともに、画面に表示するシステムコールが働き 画面に文字として表示させる。 A 第1行の#の付いた行はプリプロセッサ行といわれ、プログラムを実行する とき、先ずC言語のライブラリから標準の入出力のヘッダーファイルである stdio.hを読み込むよう指示を与える行である。 B int a;とint b;によって変数のデータ型を16ビットの整数型に指定する。 するとシステムコールによってメモリ上にaとbの名前をつけた16ビットの 範囲がそれぞれ確保される。 C a=3で先に確保したaに0000000000000011が入れられる。 D CPUで計算を行い、結果をbに0000000000001111と入れる。 E printfでシステムコールがaとbの内容を文字として画面上に表示する。 このように簡単なプログラムを実行する際にも、多くのシステムコールが働いて いることが分かる。 (4) ファイルの中味や実行状況を見てみよう 1) ファイルの中味を見るには ファイルの中味は単体のMS-DOSを使うと、[type]コマンドや[dump]コマンドで見 ることができる。[type]コマンドは既に使ってみているが、[dump]コマンドはまだ 使っていないのでここで見てみよう。そのために、次に簡単なファイルを作って中 味を見てみよう。先ず単体のMS-DOSでコピーコマンドをエディタの代わりに使って、 C:\>のあとに次のように入力してファイルを作る。 C:\>copy con sample1 (注:拡張子は省略できる) abc123^Z 1行目はコンソールというファイル(MS-DOSでは周辺機器もファイルとして取り 扱う)からカレントディレクトリのルートディレクトリにsample1というファイル を作ってコピーせよというものであり、2行目はコピーするファイルの文字列に入 力するもので、^Zは[Ctrl]キーと[Z]キーを同時に押して入力する特殊記号である。 [Ctrl]キーと[Z]キーを同時に押す特殊記号は、文字列の終わりやファイルの終 端をコンピュータに伝えるものであり、この他にも[Ctrl]キーと[C]キーを同時に 押すプログラムの終了を伝える特殊記号もある。画面に「1個のファイルをコピー しました」と表示され、[dir]コマンドで見るとこのファイルができていることが 分かる。なお、ファイルを削除するには、 C:\>del sample1 と入力すればよい。 この内容はテキストファイルであるから、[type]コマンドで見ることができる。 即ち C:\>type sample1 と入力すると abc123 と表示される。この文字列もコンピュータの中では2進数で保持されているので、 この様子を見てみよう。 C:\>dump sample1 と入力すると、次のように表示される。 00000000 61 62 63 31 32 33 abc123 これは中味の1バイトの2進数を16進数の2桁で表示したもので、左の0の列は 先頭の中味のアドレス番地であり、0番地にシフトJIS8ビットコードでaに対する 16進数の符号の61が入っていることを示している。また例えば4番目の3番地の 00000011には、1に対する31が入っていることが示されている。このようにコン ピュータの中では文字などもコード化されて2進数で保持されている。右側の abc123は符号に対応した文字列を示したものである。 これと同じことをWindows XPのコマンドプロンプトでも行ってみよう。これでは ファイルを作ることや、[type]コマンドでファイルの中を見ることはできるが、し かし、Windows XPのコマンドプロンプトでは、MS-DOS のコマンドを取り込んでも [dump]コマンドは使えない。[dump]コマンドを使うと、 Bad command or file name と返ってくる。これはWindows 98のMS-DOSコマンドを使っても同じで、単体の MS-DOSと同じ機能を使ってOSを学習することは、Windowsでは残念ながら困難にな っていることが分かる。 現在簡単に入手できるOSで、上記のようなことを試みるには、MS-DOSより濃密に UNIXの流れを汲むLinuxによらねばならない。(LinuxではMS-DOSと異なり大文字と 小文字が区別されるので注意すること)LinuxでMS-DOSと同じように行うには、 Linuxのコマンド入力画面で # cat > sample2 abc123^Z と入力する。1行目の [cat]コマンドはMS-DOSの[type]コマンドに当たるコマンド で、ファイルなどの内容を引き出す機能を持ち、ファイル名を指定しないと標準入 力(Linuxではキーボード)から引き出すことになる。今の場合はリダイレクショ ンの >と組み合わせてキーボードからの入力をsample2に出力する。(即ちsample2 に書き込む)ファイルができているかどうかは[ls]コマンドで見ることができる。 なお、ファイルを削除するには、 # rm -f sample2 と入力すればよい。 その他エディタでファイルを作る方法もある。エディタとしてはデフォルトでイ ンストールされているviエディタを使用することにする。Linuxのコマンド入力画 面で、[vi sample2]と入力し、sample2ファイルのvi画面で[i]を入力してINSERT モードとする。これで文字を入力できるようになるので、[abc123]と入力し、[Esc] キーを押してコマンドモードに変更する。そこで[:w]と入力して画面の文字列をフ ァイルに書き込み、続いて[:q]と入力してviエディタを終了する。 いずれの場合でもこれでsample2というファイルができたので、[cat]コマンドと [od]コマンド(octal dump:MS-DOS の[dump]コマンドに当たる)を使って中味を 見ることにする。 # cat sample2 と入力するとファイルの中味が abc123 と表示される。次に # od -h sample2 ( -hとすると16進数で表示され、-cとすると アスキーコードの文字が表示される) と入力すると、16進数で 0000000 6261 3163 3332 000a 0000007 と表示される。6261などとなっているのは、番地の順番が 1番地0番地 3番地2番地 のような順番になっているからである。なお、0aはアスキー7ビット 符号でのLF(Line Feed:改行)である。0から6番地までが使われてしまっている ので、次は0000007番地からということで2行目が表示されている。 2) タスクマネージャで実行状態を見る Windowsの環境で現在動作しているプログラムの状態やバックグラウンドサービ スの状態、プロセスやCPUの稼動状態を見るには、タスクマネージャを使用する。 それには、[Ctrl]と [Alt]と [Delete] のキーを同時に押し、出てきたウインドウ からタスクマネージャを選ぶ。するとそれぞれ次のような機能を持っている4つの タブが表れる。 [アプリケーション]のタブでは実行中のタスクの状況が示される。例えば Excelで表計算を行ってバックグラウンドにおき、Wordで文章を作っている場合に、 タスクマネージャを使って見てみると、バックグラウンドでExcelが実行されてい ることが分かる。またトラブルが起こり、アプリケーションが停止したときは「応 答なし」と表示されるので、そのアプリケーション名をクリックして選択し、タス クの終了を押す。これで他のアプリケーションプログラムは支障なしに動くことに なる。これは後述の第3表で見られるように、Windows XPではシステムとアプリケ ーションファイルの使う記憶領域が分離されてお互いに干渉しなくなったので、ト ラブルを起こすことなくできるようになった。 [パフォーマンス]のタブではCPUの稼動率や経時的な変化が示される。例えば、 画面で何も操作をしていない時はCPUの稼動率は0であるが、バックグラウンドで 印刷処理を行っているときに見ると、CPUの稼動率が色々変動しているのが示され る。 [プロセス]のタブではアプリケーションプログラムを構成する個々のプロセスを 表示する。プロセスとは、OSから見て独立した最小単位のプログラムである。例え ば、アプリケーションプログラムとして「ワープロ」を動かしている場合、プロセ スは「かな漢字変換」「ファイル入出力」「編集」「印刷」などからなり、これら のプロセスが並行して働いている。 また[ネットワーク]のタブでは現在アクティブなネットワークの状態が示される。 3) 通信の伝わり方を見る [ping]コマンドはTCP/IPプロトコルのコマンドであり、相手先に信号を送り、相 手先がネットワークに接続しているかを確認するものである。その他に[tracert] コマンドがあり、アクセスする相手先までの経路のサーバと到達所要時間の情報を 入手することができる。また、この両者の機能を兼ね備えた[pathping]というコマ ンドもある。これらを実行するには、コマンドの後に通信する相手先のサーバのIP アドレスやドメイン名を入力してやればよい。適当なサーバを選んで通信の伝わり 方を見てみよう。ただし、このコマンドを実行すると通信路のトラフィックを増加 させるので迷惑をかけないよう注意する必要がある。 表示される画面の例として、[tracert]コマンドを使用した場合を述べると、経 由したサーバの順番に上から3回計測した各サーバ間の所要時間が表示され、その 右にサーバのIPアドレスなどが表示される。これらを見ると、インターネットでは 不特定の数多くのサーバを経由して信号が伝わっていくことが分かる。 その他のコマンドを使用した場合の画面の見方は、参考文献の8)などを参照さ れたい。 (5) トラブルを恐れずに親しみをもってコンピュータを使いこなそう 1) Windowsの安定性はどのように変わってきたか Windowsの安定性に関わる事項は第3表のように変遷してきた。 Windowsはバージョンが上がるとともに、MS-DOSとWindows本来のOSとの関係が整 理され、MS-DOSで作られた16ビットのアプリケーションに対する互換性が清算され てきた。さらにWindows XPではOSはMS-DOSと切り離され、またシステムとアプリケ ーションが使用するメモリ領域が分離された。このようにしてWindowsはバージョ ンが上がるに従って安定性を増してきたのである。 2) コンピュータのトラブルはどんな時に起こり、どう対応すべきか。 比較的安定になったといわれるWindows XPでも、特に問題のある操作をしたつも りはないのに、コンピュータが突然フリーズ(ハングアップともいう)することが ある。私の経験では動画をダウンロードしたり、動画を走らせたりしている時が多 い。突然画面が動かなくなり、タスクマネージャなどの入力も一切受け付けなくな る。当然シャットダウンもできなくなる。こうなると非常手段しか残っていない。 先ずリセットボタンを押してみる。それでもうまく行かないときは物理的に電源を 切るしかない。この場合再度電源を入れるのは1分位経過した後とする必要がある。 ともかく再起動できれば、英語の画面が出て、ローカルディスクのチェックが始ま る。多分問題がないはずである。再起動時に問題が指摘されたら、その指示に従っ て処理するが、マウスがきかなくなることもあるので、この場合はBIOSでマウス設 定の項目を見付けてEnabled(有効にする)に変更しなければならない。再起動が うまく行かないときはセーフモードで起動してみる。ハードディスクがクラッシュ したときや、ウイルスにやられたとき以外はこれで修復できるので恐れる必要はな い。どうしても再起動できない時は、起動用のフロッピーディスクや、BIOSを変更 してCD-ROMから立ち上げ、OSを再インストールするしかないが、この場合注意すべ きことは残っているトラブルを起こしたOSを先に削除しておかなければならないこ とである。このような最悪の事態が起こることは少なく、むしろフリーズによって セーブをしていない作業中のファイルの中味が失われることの方が問題であろう。 3) コンピュータを使いこなす素養は身についただろうか コンピュータの中味を見て果たしてどのようなことが分かったであろうか。これ は人それぞれで異なると思うが、少なくとも今までアプリケーションを使うことを 中心にコンピュータに向かい合ってきた方には、コンピュータが働いている仕組み がある程度分かり、思ったより単純だと感じられたのではないだろうか。隠しファ イルのシステムファイルを見ようとした時に警告されたように、コンピュータにと って危険な操作は原則としてできないようになっており、相当のことをしてもコン ピュータはソフト的に回復できないような壊れ方はしないということが理解された のではないかと思う。 参考文献 1)ユニゾン、MS-DOSとコマンドプロンプト学習術、ユニゾン、2003 2)脇英世、MS-DOSとは何か、講談社、1986 3)白土義男、ハードも学ぶMS-DOS入門、東京電機大学、1994 4)ユニゾン編著、WindowsのMS-DOSがわかればOSもよくわかる、ユニゾン、2001 5)田英時、パソコンの仕組み 試して納得、ナツメ社、2002 6)矢沢久雄、日経ソフトウエア監修、コンピュータはなぜ動くか、 日経BP社、2003 7)天野司、Windowsはなぜ動くか、日経BP社、2003 8)蒲生睦男、C&R研究所監修、Windowsコマンドプロンプト実践&ウラ技大全、 ナツメ社、2003 9)中山一弘/ユータック、Windows2000/XP管理ツール利用ガイド、 毎日コミュニケーションズ、2002 10)荒瀬遥、初めてのC言語入門、西東社、2002 11)小山裕司他、Linux入門、トッパン、1997 12)井田昌之、森亮一他監修、UNIX詳説―基礎編、丸善、1984 13)唯野司、どうして起こる?パソコンのエラー、技術評論社、2004 14)中易秀敏他、情報科学−基礎編、共立出版、2001