実行 (コンピュータ)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/14 13:51 UTC 版)
ナビゲーションに移動 検索に移動ソフトウェア工学において、コンピュータで実行 (じっこう、execution / run)するとは、コンピュータまたは仮想マシンがコンピュータプログラムの命令を実行すること。プログラムの各命令は、特定の問題を解決するために実行される、特定のアクションについての説明である。命令が記述するアクションが実行中のマシンによって実行されると、実行された命令のセマンティクスに従って、特定の効果が生成される。
コンピュータ用のプログラムは、人間の介入なしにバッチ処理で実行することも、ユーザーがインタプリタの対話型セッションでコマンドを入力することもできる。この場合、「コマンド」は単にプログラム命令であり、その実行は連鎖している。
実行時環境
実行が行われる環境は非常に重要である。オペレーティングシステムやミドルウェア等を仲介しないベアメタル環境でプログラムが動作することはほとんどない。プログラムには通常、実行時に使用可能なリソースに関する暗黙的および明示的な仮定 (動作の前提条件) がある。ほとんどのプログラムは、オペレーティングシステムと、コンピュータ自体が提供しない重要なサービスを提供するランタイムライブラリのサポート環境で実行される。たとえば、このサポート環境は通常、プログラムがコンピュータ周辺機器を直接操作しなくても良いように、代わりに、より一般的で抽象的なサービスを提供する。
手順
実行する前に、まずプログラムを作成する必要がある。これは通常、ソースコードを書くことで行われ、コンパイル時にコンパイルされ(リンク時に静的にリンクされ)、実行可能ファイルにリンクされる。次に、この実行可能ファイルが、オペレーティングシステムによって呼び出される。オペレーティングシステムは、プログラムをメモリにロードし(ロード時)、動的リンクを行う、制御をプログラムのエントリポイントに移動して実行を開始する。これらの手順は、オペレーティングシステムのアプリケーションバイナリインターフェイスによって異なる。この時点で実行が開始され、プログラムは実行時の段階に入る。その後、プログラムは、正常終了またはクラッシュのいずれかで終了するまで実行される。
インタプリタ
プログラムを実行するシステムは、プログラムのインタプリタと呼ばれる。大まかに言えば、インタプリタは実行時にプログラムの命令を解釈して指示どおりに実行する。これは、プログラムをある言語から別の言語に変換するコンパイラとは対照的である。コンパイラは、ソースを人間が読める高レベルの言語から、プロセッサが直接実行できる高速な低レベルの言語(ネイティブなマシンコードなど)に変換する。プログラムは1回コンパイルするだけで、以後、何度でも低レベル言語で実行できる。これは、ソース言語を実行時に解釈するインタープリタと比較して、コンパイラに大きなメリットがある。その代わり、コンパイラの場合は開発にかかる時間が長くなる。場合によっては、変更されたファイルのみの再コンパイルで済む場合もある。その後、実行可能ファイルを再リンクする必要がある。変更の内容によっては、実行可能ファイルを最初から再構築する必要がある。コンピューターとコンパイラーが高速になるにつれて、これはそれほど課題ではなくなった。また、ユーザーにとっては開発にかかる時間よりも最終製品の実行速度が重要である。
コンパイラは通常、すぐには実行できない抽象的な結果を生成する。多くの場合、オペレーティングシステムは、プログラムの実行が開始される直前に、コンパイラのオブジェクトコードを最終的な実行可能形式に変換する。
関連項目
- 実行可能ファイル
- ランタイムシステム
- 実行時プログラムフェーズ
- プログラムカウンター
「実行 (コンピュータ)」の例文・使い方・用例・文例
- この筋書きを実行に移す
- 政府は経済活動を滞らせないための政策を実行した
- 「この計画は実行可能だと思いますか」「もちろんです」
- 彼は約束と実行とがあまり一致しない
- 彼は計画を実行できそうに思った
- その計画の実行は彼に任された
- 君の計画ははたして実行可能だろうか
- 計画を実行に移す
- 彼は部下にその計画を実行するように命じた
- 政府は行政改革を実行する権限を与えられている
- その計画を実行する時間もないしその気持ちもない
- 計画を立てることとそれを実行することは別だ
- コンピュータではすべての処理をあっという間に実行できる
- 自分で提案したのだから君は計画を最後まで実行すべきだ
- 私は自分ひとりでその計画を実行するつもりだ
- 計画を実行する
- あなたは自分の計画をどうやって実行に移すつもりですか
- 彼は有言実行する人だ
- プログラムを実行する
- 困難はあるでしょうがどうしても私たちは実行します
- 実行_(コンピュータ)のページへのリンク