2.4. 共有ライブラリー
RHEL for Real Time の共有ライブラリーは、動的共有オブジェクト (DSO) と呼ばれ、関数と呼ばれるコンパイル済みのコードブロックのコレクションです。これらの関数は複数のプログラムで再利用可能であり、実行時またはコンパイル時にロードされます。
Linux は、次の 2 つのライブラリークラスをサポートしています。
- 動的ライブラリーまたは共有ライブラリー: 実行可能ファイルの外部に個別のファイルとして存在します。これらのファイルはメモリーにロードされ、実行時にマップされます。
- 静的ライブラリー: コンパイル時にプログラムに静的にリンクされたファイルです。
ld.so ダイナミックリンカーは、プログラムに必要な共有ライブラリーをロードしてから、コードを実行します。DSO 関数は、ライブラリーをメモリーに 1 回ロードすると、複数のプロセスがプロセスのアドレス空間にマッピングすることでオブジェクトを参照できます。LD_BIND_NOW 変数を使用して、コンパイル時にロードするようにダイナミックライブラリーを設定できます。
プログラムの初期化の前にシンボルを評価すると、パフォーマンスが向上する可能性があります。これは、アプリケーションの実行時に評価すると、メモリーページが外部ディスクにある場合に遅延が発生する可能性があるためです。