ローダ
更新日:
用語解説
ローダは、実行可能プログラムやロードモジュールを補助記憶から主記憶のプロセス領域へ読み込み、必要な配置・結合処理を行い、初期状態を整えて入口点へ制御を渡すプログラムです。
■ 試験で押さえるポイント
コード、データ、未初期化領域、スタックなどを仮想アドレス空間へ割り当て、実行に必要なページを対応付けます。全ページを直ちに物理メモリへ読むとは限りません。
ロード時再配置が必要なら実際の配置先に合わせてアドレスを補正し、動的ライブラリを利用する場合は動的ローダ/リンカが共有オブジェクトを結び付けます。
引数や環境情報、初期スタック、レジスタなどを設定し、最終的にエントリポイントへ分岐してプログラムの実行を開始します。
リンカは主にファイルを結合してロードモジュールを作り、ローダはそれを実行環境の記憶領域へ配置します。名称にlinking loaderを含む方式では一部処理が重なります。
■ 選択肢での判断ポイント
「実行可能プログラムを主記憶へ読み込み、実行開始可能にする」が中心です。目的モジュール間の外部記号を事前に結合するだけの説明はリンカです。
例: OSが実行ファイルのコードとデータを仮想アドレスへ割り当て、共有ライブラリを対応付け、入口アドレスへ制御を渡すとプログラムが開始します。この開始準備がローダの役割です。