プログラムには、動作環境というものがあります。プログラムが動作する環境として「OS(オペレーティング・システム)」と「ハードウエア(プロセッサやメモリーなど)」が示されていることがわかるでしょう。OS とハードウエアが、プログラムの動作環境を決定しているからです。

 1 台のコンピュータにインストールできるOS には、複数の選択肢があります。たとえば、同じWindows パソコン(PC/AT 互換機)*1に、 Windows だけでなくLinux*2 というOS をインストールできます。ただし、ひと口にWindowsやLinuxと言っても、いくつかの種類とバージョンがあります。アプリケーションによっては、特定の種類とバージョンのOS でしか動かないものもあります。

 プログラムの動作環境としてハードウエアを考える場合には、CPU の種類が特に重要です。Windows パソコンであれば、x86 系またはそれと互換性があるCPU が搭載されています。

 CPU は、そのCPU 固有のマシン語しか解釈できません。CPU の種類が異なれば、解釈できるマシン語の種類も異なります。たとえば、CPUの種類には、x86 系の他にもMIPS、SPARC、PowerPC*3 などがありますが、それぞれのマシン語はまったく違います。

 マシン語になっているプログラムを、ネイティブ・コードと言います。プログラマが、C 言語などを使って作成したプログラムは、作成段階ではテキスト・ファイルでしかありません。テキスト・ファイルなら(文字コードの問題を除けば)どのような環境でも表示や編集ができます。これをソースコードと言います。ソースコードをコンパイルすることで、ネイティブ・コードが得られます。多くの場合に、アプリケーションは、ソースコードではなく、ネイティブ・コード*4 の形で提供されます(図7-2)。


*1  かつて、PC/AT互換機やIBM PC互換機と呼ばれていたコンピュータを、ここではWindowsパソコンと呼んでいます。

*2  Linux(リナックス)は、1991年にフィンランドのヘルシンキ大学のLinus Torvaldsが開発を始めたUNIX系のOSです。その後、多くの有志によって機能が追加され、現在では世界中に広く普及しています。

*3  MIPS(ミップス)は、ミップス・テクノロジーズが開発したCPUです。かつてMIPSを採用したワークステーション向けのWindowsもありましたが、現在では販売されていません。SPARC(スパーク)は、サン・マイクロシステムズが開発したCPUです。ワークステーションやサーバーで採用されています。PowerPC(パワーピーシー)は、アップル・コンピュータ、IBM、モトローラが共同開発したCPUです。こちらもワークステーションやサーバーで採用されています。なお、現在のMacは、インテルのx86系CPUや独自CPUを採用しています。ワークステーションやサーバーとは、一般的なパソコンより高機能なコンピュータのことです。

*4 Windows用のアプリケーションのネイティブ・コードは、EXEファイルやDLLファイルなどになっています。