コンピュータシステムの一般的な構造。


オペレーティングシステム 設計と実装 第3版 1.1

コンピュータシステムの構造

コンピュータシステムの構造は、大まかに書くと以下の様になる。

(最上位)アプリケーションプログラム
(中位)システムプログラム
(下位)ハードウェア

アプリケーションプログラム(応用ソフトウェア)

ユーザモードで実行される、利用者が普段使っているアプリケーションソフトウェアの部分。
つまり、一例を挙げると、

image Firefox image Skype

上記のように、ユーザ(利用者)がコンピュータに組み込んで利用するソフトウェアのこと。


システムプログラム(基本ソフトウェア)

オペレーティングシステムと、それに付加するプログラムがここに含まれる。

オペレーティングシステム

Windows だったり、Linux だったり Mac OS だったりという、
各コンピュータごとの差違を吸収し、抽象化してくれるソフトウェアのこと。

また同時に、共通の機能、画面、デザインなどの「共通したインタフェース」を提供することも担う。

オペレーティングシステムに付加するプログラム

動作の区分上は、上記に述べた「アプリケーションプログラム」と同じであるが、
OSのパッケージに含まれているソフトウェアを指す。

例を挙げると、

image電卓 image メモ帳

などがある。


ハードウェア

ここには「物理装置」「マイクロアーキテクチャ」「マシン語」が含まれる。

物理装置

集積回路や電源、その他のパーツで構成される。
ここの部分は電子工学が扱う範囲になる。

マイクロアーキテクチャ

コンピュータにおいての各命令の処理方法を定めた仕様のこと。
このレベルにある物として、CPU (Central Processing Unit) のレジスタや、
データバスなどがあげられる。これらの装置がどのように動作するか、処理するかを定めた物が、
「マイクロアーキテクチャ」である。

*マイクロプログラム(マイクロコード)
最近よく用いられているプロセッサである x86 プロセッサは、CISC 系のCPUに分類され、
これらのCPUでは、内部に非常に小さなプログラムを動作させ、複雑な命令を実装している。

なお、RISC 方式のプロセッサは、原則としてハードウェアの回路(ワイヤードロジック)のみで構成されるため、
このようなプログラムは原則利用されていない。

マシン語

アセンブラ言語のプログラマが良く利用している、コンピュータの制御を行う命令の集まりのことを、
命令セットアーキテクチャ(Instruction set Architecture, ISA) と呼ぶ。

また同時にこれについて、特に2進数のコード(オペコード)のセットとして扱う場合、機械語(マシン語)と呼ばれる。

これらの命令は50~300ぐらいの命令から成り立ち、多くは、マシン内のデータ移動、演算、比較などを行う。


 

関連記事