プログラムが動く仕組み
こちらも、学習備忘録として随時更新していきます。
プログラムが動く仕組み
- プログラムを書く(ここでは、高水準言語を想定)
- プログラムがコンパイラにより、マシン語に変換される。
- OSにより、ハードウェアに保存されたプログラムがメモリーにロードされる。
※ディスクの中にあるままだと、CPUで実行させることはできない(実行自体はできるが、処理が低速になる)
※もし、ディスクをメモリーとして使いたい場合は、仮想記憶(実態はディスクだが、実行時にメモリーと入れ替わりされる)などがある。
※また、ディスクキャッシュという仕組みもある。これについては、実態はメモリーである。(メモリーの一部分が領域として割り当てられ、一度ディスクからロードされたデータに関しては、アクセスが高速化される。 - CPUにより、メモリーに保存されたプログラム(データと命令)が読み出される。
- CPUが、読みだしたデータや命令を解釈し、演算・制御が行われる。
CPUを深掘ると
- CPU内部では、レジスタを使って処理が行われる。
- レジスタとは、記憶領域のことで、演算を行うためのレジスタや、メモリーのアドレスを参照するレジスタなど種類がある。
- プログラムの実行時は、メモリーのアドレスが参照されたレジスタから、メモリーにロードされた各種命令などを読み出す。そしてそれが、演算を行うレジスタ(アキュムレータ)にコピーされることで、演算が行われる。
条件分岐・ループ文・関数
メモリーについて
- 基本的には、アドレス1番地に対して1バイトのデータが格納されていく。
- ただし、型指定などによって、1バイトより大きいデータを格納することも可能。この場合、バイト数の分だけメモリーのアドレス番地が確保される。 (例えば2バイトだったら、アドレス番地が2つ確保される)
- スタック・キューによって、アドレス番地を指定せずとも、メモリーへのデータの格納・書き出しができるので便利。
プログラムにできること
随時更新。イメージです。
- 計算
- 条件による処理の分岐
- 繰り返し
Webアプリケーションとデスクトップアプリケーションの違い
Webアプリケーション
- 処理はサーバーで行われる
- 画面はWebブラウザ上で、HTML表現によって表示される
デスクトップアプリケーション
- 処理はCPUで行われる
- 画面はOS上で表示される