「ローダ」の版間の差分
削除された内容 追加された内容
m r2.6.5) (ロボットによる 変更: ko:로더 (컴퓨팅) |
m →その他 |
||
28行目: | 28行目: | ||
== その他 == |
== その他 == |
||
[[UNIX|Unix]]でロードを実行するのは[[システムコール]]の[[ハンドラ]] ''execve()''である。 |
[[UNIX|Unix]]でロードを実行するのは[[システムコール]]の[[ハンドラ]] ''[[exec|execve()]]''である。 |
||
{{DEFAULTSORT:ろた}} |
{{DEFAULTSORT:ろた}} |
2012年10月25日 (木) 09:39時点における版
ローダ(loader)とは他のプログラムを読込して起動できる状態にし、それを実行するプログラム。
機能
ブートローダ
詳細は「ブートローダ」を参照
特にシステムの起動時に実行され、オペレーティングシステムを読込・実行するローダはブートローダと呼ばれ、通常コンピュータが再起動、シャットダウン、電源を切るなどするまでカーネル(OSの中核コンポーネント)に残る。OSの中にはカーネルをページング(主記憶装置・補助記憶装置間のデータ転送)できるものもあり、その場合ブートローダのメモリ領域が移ることがある。
ダイナミックリンカ
「リンカ」を参照
共有ライブラリ(dllなど)を読み込み、起動しているプログラムに関連付けるローダがダイナミックリンカである。
ローダによる再配置
ローダによる再配置が必要なコンピュータもある。それらは読み込みの開始点を指定するためにロードされるプログラムのアドレス(ポインタ)を調整する。この方式のコンピュータのポインタはプログラムのベースアドレスからのオフセット(距離)ではなく絶対アドレスである。IBMのSystem/360やその後継機がそのような方式を採った。
ローダのその他の使用
ローダはプロトタイピング、テスト、使い捨てアプリケーションで有用である。そのようなプログラムの一つがジーン・アムダールのオリジナルOS/360の中核部であった。その機能はMVT、MVS、z/OSといった後継機に引き継がれた。
ローダのないコンピュータ
動的なプログラムの読み込みをサポートする全てのOSはローダを備えているが、スタック以外にRAMを使わないシステムや自動車やオーディオシステムなどに組み込まれるコンピュータシステムでは、あらかじめ決められたプログラムを実行することで事足りてしまうためローダを持たない。