「制御プログラム」とエンジニアに呼ばれるものは、別名では「狭義のオペレーティングシステム (OS) 」と言い（そしてパーソナルコンピュータの世界ではこれのみを「OS」と呼んでおり）、その主な役割はジョブ管理、タスク管理、記憶管理などである。この制御プログラムあるいはOSを細分すると、カーネルとデバイスドライバとファイルシステムに分けることができる。
カーネルはOSの中核であり、その主な役割は次のようなことである。
デバイスドライバは周辺機器を直接制御する抽象的なインタフェースをアプリケーションソフトに対して提供する。
ファイルシステムは、データやプログラムが記録される「ファイル」を管理するソフトウェアである。
なお制御プログラムの構成法として、カーネルの機能を限定し最小限の記憶管理やタスク管理に限ったものを「マイクロカーネル」といい、これは機能を絞っている代わりに、その限定的機能に関しては信頼性が増すというメリットがある。マイクロカーネル方式が採用される場合は、ファイルシステムなどはマイクロカーネルの外で作動するサーバプロセスとして提供される。マイクロカーネル方式に対して、カーネル自体にファイルシステムなどさまざまな機能を担当させる方式を「モノリシックカーネル（方式）」という。
サービスプログラム.
サービスプログラムとは、基本的なテキストエディタやファイル変換プログラムなどである。
言語処理プログラム.
言語処理プログラムとは、アセンブラやコンパイラやインタプリタやジェネレータのことである。
アナログとデジタル.
アナログコンピュータは、電気的現象・機械的現象・水圧現象を利用してある種の物理現象を表現し、問題を解くのに使われる計算機の形態。アナログ計算機はある種の連続的な物理量を別の物理量で表し、それに数学的な関数を作用させる。入力の変化に対してほぼリアルタイムで出力が得られる特徴があり（これはいわゆる「高速型」の場合の話である。時間をかけてバランスが取れた状態を見つけ出すとか、移動量の合計を得るといったような「低速型のアナログ計算機」もある）、各種シミュレーションなどに利用されたが、演算内容を変更するには回路を変更する必要があり、得られる精度にも限界があるので、デジタルコンピュータの性能の向上とDA/ADコンバータの高精度化・高速化によって役目を終えた。