【OSって何だろう】

更新日 1997年3月6日


コンピュータは機械ですから、そのままでは人間のことばを理解できません。まず、コンピュータの頭脳とも言えるCPUの働きを少し理解しておく必要があります。CPUは、やはり人間のことばを理解することはできません。その代わりに命令を番号で受け取ることができます。

【情報はどうやって記憶するんだろう】に、ビットとかバイトという情報の単位がありましたが、バイトだと256通りの組み合わせの番号が作れ、2バイト使えば256×256=65,536通りの番号が作れました。CPUは、何をすればいいのかを、このような番号で命令を受け取るようになっています。例えば、足し算の命令の番号を受け取る場合は、本体メモリー(主記憶装置)上の何番目(これを番地と呼びます)と、何番目の値を合計して何番目に入れるのか、CPUにはこの3つの番地も一緒に通知しています。

このようにCPUは、常に主記憶装置(電源OFFで空っぽになるメモリー)の内容から情報を得たり、書き込んだりします。これは、主記憶装置(本体メモリー)の読み書きが最も高速だからで、代わりに補助記憶装置から読み書きしたら、もの凄くのろまなコンピュータになってしまいます。そして、命令の集合体をプログラムと言いますが、これもやはり主記憶装置から読んでいます。でも主記憶装置は、最初(電源ONにした時)は空っぽです。

さて、CPUは命令を番号で受け取ることができますが、そのCPUの種類によって番号と命令の組み合わせは決められています。だから同じCPUを採用しているコンピュータなら、同じ番号で同じ働きをさせることができます。そして、このような番号を組み合わせて一連の働きをするようにしたのがプログラムですが、このレベルで見た番号の集合体を機械語(マシン語)と呼びます。私達が日常使っていることばではありませんね。こんな機械語でコンピュータを操作するなんて嫌ですよね。

 

コンピュータに何かの働きをさせる場合、ちょっと前まではコマンドと呼ばれる人間に分かり易いことばで指示していました。人間に分かり易いことばと言っても殆ど英語の単語で、コンピュータを操作する人は、英語の単語でできたコマンドを覚える必要がありました。コンピュータは、コマンドプロンプトと呼ばれる、オペレーターのキー入力待ち状態を提供してくれるので、そこにコマンドをキーボードで入力して動かしていました。「じゃあ、コンピュータは人間のことばを理解するじゃないか」と思われるかも知れませんが、そうではありません。機械がことばを理解してくれるのではなくて、ことばを理解するようなプログラムが動いていて、そのプログラムがことば(コマンド)を理解してくれるのです。

「こういう単語のコマンドが入力されたら、こういう働きをしよう。」と、そのようにプログラムが設計されていて、オペレーターはプログラムに対してコマンドを発行しているに過ぎません。ですから、このプログラムはいつでもコマンドを受け取れるように働きっぱなしで、休むことは許されません。このようにオペレーターの操作、入力を常時監視しているのがOS(オペレーティングシステム)です。OSと呼ばれるこのプログラムは、人間からのコマンドを機械語に変換してCPUに伝え、CPUに働いてもらいます。人間の指示を解釈して機械語に翻訳していますから、通訳のような存在とも言えますね。

 

ちょっと前までのOSはコマンドを英語の単語で受け取っていましたが、Windows 95 のようなOSになって、役割がちょっと変わってきました。ものぐさして楽をしたいのが人間の常ですから、コマンドを覚えるのも入力するのも面倒になって、そんなことしなくても済むように、もっと分かり易く、やりたいことを小さな絵(アイコンと呼びます)にして、その絵をマウスでちょいといじくるだけで目的の働きをさせてしまうようになりました。だから、人間のものぐさを満たすためにOSも大変なんですよ。

それに、OSの仕事は人間からの指示を理解するだけではありません。構成されている全ての機器のコントロールもしなければなりません。また、オペレーターが実行したプログラムからの要求にも応え、働かなければなりません。

例えば、オペレーターがワープロソフトを起動する命令を出した場合

  1. そのワープロソフトが補助記憶装置のどこにあるのか知っていなければなりません。
  2. そのワープロソフトを補助記憶装置から読み出して、本体メモリー上に転送しなければなりません。
  3. 転送を終えたら、ワープロソフトを起動させなければなりません。
  4. ワープロソフトが書きかけの文書を読み込む指示を出したら、文書ファイルを補助記憶装置から読み込んで、本体メモリー上に転送しなければなりません。
  5. ワープロソフトが文書の保存を指示したら、本体メモリー上にある文書データを補助記憶装置に書き込まなければなりません。
  6. オペレーターがワープロの操作ミスをしたら、ワープロのプログラムが警告音を鳴らすよう要求してきますから、直ちにブザーを鳴らさなければなりません。

このような働きは全て、OSが休むことなく働いているからこそ実現できることで、人間が機械語を使って指示していたのでは、とてもコンピュータなんて使ってられませんね。OSは縁の下の力持ちで、見えない所で休むことなく働いているプログラムです。

ところが、近頃の Windows 95 のようなOSは、あまりにも仕事量が増えたために、とてつもなく巨大なプログラムになってしまいました。OSは常時動いている必要があるし、より高速で動作しなければなりませんから、本体メモリーにプログラムの大半を持ったまま動いています。差し当たってあまり使われない部分は補助記憶装置に残したままで、必要に迫られた時だけ主記憶装置に持ってくるようなこともします。