リンカーとライブラリ

プログラムインタプリタ

動的リンクに関与する実行可能ファイルは、1 つの PT_INTERP プログラムヘッダー要素を持つことができます。exec(2) 時、システムは PT_INTERP セグメントからパス名を取り出し、インタプリタファイルのセグメントから初期プロセスイメージを作成します。つまり、システムは元の実行可能ファイルのセグメントイメージを使用する代わりに、インタプリタのメモリーイメージを作成します。したがって、インタプリタはシステムから制御を受け取り、アプリケーションプログラムに対して環境を与えなければなりません。

インタプリタは、次の 2 つの方法のどちらかで制御を受け取ります。方法 1: インタプリタは、実行可能ファイルを読み込むためのファイル記述子 (先頭に位置付けられている) を受け取ることができます。インタプリタは、このファイル記述子を使用して、実行可能ファイルのセグメントをメモリーに読み込んだり対応付けしたりできます。方法 2: 実行可能ファイルの形式によっては、システムはインタプリタにファイル記述子を与える代わりに実行可能ファイルをメモリーに読み込みます。

ファイル記述子が異なる可能性があることを除き、インタプリタの初期プロセス状態は、実行可能ファイルの初期プロセス状態に一致します。インタプリタ自身が、2 番目のインタプリタを必要とすることは許可されません。インタプリタは、共有オブジェクトファイルまたは実行可能ファイルです。