software >>プログラム

プログラム

プログラムは単体ではタスクを完遂できないこともある。特にソフトウェアライブラリが必要な場合が多い。ライブラリは単独では機能せず、スタンドアローンのプログラムから使われるソフトウェアコンポーネントを集めたものである。従って、プログラムに他の多くのプログラムでも共通に使える標準的ルーチンがあれば、それらをライブラリとして抽出できる。ライブラリには、何らかのイベントによって起動されるスタンドアローン型プログラムが含まれていることもあるし、何らかの機能(コンピュータ内の様々な雑事)を実行して呼び出し元にはデータを返さないものもある。

ソフトウェアは記憶装置(ハードディスクドライブ、RAMなど)に「ロード」されて初めて機能する(実行可能になる)。逆にコンピュータはプログラムを実行することで機能する。このとき、アプリケーションソフトウェア内の命令列がシステムソフトウェアを経由してハードウェア(CPU)に渡され、それを機械語として実行する。各命令はコンピュータに何らかの操作(データの移動、計算、制御フローなど)を実行させる。

データの移動は、一般にメモリ上のある位置から別の位置に行われる。メモリとレジスタ間の移動の場合もあり、CPUがより高速にデータにアクセスできるようにする。大きなデータの移動は時間がかかるため、ポインタを使って移動しない場合もある。計算には、データのインクリメントのような単純なものも含まれる。より複雑な計算には、複数の命令と複数のデータ要素が必要となる。(wikipedia参照)