ランタイムシステム
ランタイムシステムは実行中のプログラムがランタイム環境(runtime environment: RTE、実行時環境)と対話するための入口である。ランタイム環境には、プログラム実行中にアクセスできるステート値だけでなく、ディスクドライブや人 (キーボードを介して) 等、プログラム実行中に対話が可能なアクティブエンティティも含まれている。たとえば、環境変数は多くのオペレーティングシステム(OS、基本ソフトウェア)に存在する機能であり、ランタイム環境の一部であるが、実行中のプログラムはランタイムシステムを通じて環境変数にアクセスすることができる。同様にDVDドライブ等のハードウェア機器は、プログラムがランタイムシステムを介して対話することのできるアクティブエンティティである。
RTEの特異な使用方法は、OS内部でRTE以外の実行を許可しない、つまり起動から電源遮断までOS全体がRTE内部で実行されるプログラムに専念することである。これ以外のコードを実行しようとする、またはアプリケーション内で不具合が発生するとRTEが破損し、このためOSが破損してすべてのプロセスが停止し、再起動が必要になる。読み込み専用メモリから起動すると、極めてセキュアでシンプルなミッション専用システムが作成される。たとえば、これによって簡単にパッチ不要で変更不可能なIoT機器が作成できる。この場合、IoT機器は他の目的 (ボットネット等) には使用できないが、再起動を強制する脆弱性の悪用を防ぐパッチを当てることもできない。