ランタイム(実行時)とは
ランタイム(runtime)または実行時とは、コンピュータ科学において、コンピュータプログラムのライフサイクルにおける最終段階であり、プログラムのコードがコンピュータの
CPUで
機械語として実行されている状態を指します。つまり、「ランタイム」とは、プログラムが実際に動作しているフェーズのことです。
プログラムのエラーには、
コンパイル時に発見されるものと、ランタイムに発見されるものがあります。
コンパイル時エラー:プログラムが実行される前に、
コンパイラによって検出されるエラーです。型チェック、レジスタ割り当て、
コード生成、コード最適化などが
コンパイル時に行われます。
ランタイムエラー:プログラムの実行中または実行後に検出されるエラーです。
ゼロ除算エラー、ドメインエラー、
配列の範囲外エラー、算術アンダーフローエラー、オーバーフローエラーなどが該当します。これらのエラーは、
プログラミング言語によって異なる方法で処理されます。
ランタイムの動作
プログラムが実行される際には、まずローダーがメモリの初期設定を行い、プログラムを必要な
ダイナミックリンクライブラリにリンクします。その後、プログラムの
エントリーポイントから実行が開始されます。言語や実装によっては、これらのタスクが言語ランタイムによって実行されることもあります。
ランタイムデバッグの重要性
一部のプログラムのデバッグは、実行時にしか行えない(または、実行するとより効率的に、かつ正確にできる)場合があります。論理エラーや
配列境界チェックなどがその例です。
コンパイル時のチェックや事前テストを徹底しても、実際のデータを使って実環境でテストするまで、
バグが見つからないことがあります。この場合、エンドユーザーは「ランタイムエラー」のメッセージを受け取る可能性があります。
アプリケーションエラー(例外)
例外処理は、ランタイムエラーを処理するための言語機能の一つです。予測可能なエラーだけでなく、予期しない状況も構造化された方法でキャッチすることができます。ランタイムエンジンの進歩により、特別なソフトウェア製品をランタイムエンジンに接続することで、例外の根本原因のデバッグ情報を提供し、ソースコードとは独立した自動例外処理が可能になっています。
まとめ
ランタイムは、プログラムが実際に実行され、その過程でさまざまなエラーが発生する可能性がある重要なフェーズです。
コンパイル時エラーとは異なる性質のエラーに対処するために、ランタイムの知識と適切なエラー処理の仕組みが不可欠です。
関連用語
コンパイル時
インタプリタ
実行時型情報
ランタイムシステム
*
ランタイムライブラリ