「ローダ」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Insanity (会話 | 投稿記録)
m cate, 文章
m r2.6.4) (ロボットによる 変更: ar:محمل (حوسبة)
34行目: 34行目:
[[Category:システムソフトウェア]]
[[Category:システムソフトウェア]]


[[ar:المُحمِّل (حوسبة)]]
[[ar:محمل (حوسبة)]]
[[cs:Zavaděč (program)]]
[[cs:Zavaděč (program)]]
[[de:Lader (Programmierung)]]
[[de:Lader (Programmierung)]]

2011年7月31日 (日) 05:45時点における版

ローダ(loader)とは他のプログラム読込して起動できる状態にし、それを実行するプログラム

機能

ブートローダ

特にシステムの起動時に実行され、オペレーティングシステムを読込・実行するローダはブートローダと呼ばれ、通常コンピュータが再起動、シャットダウン、電源を切るなどするまでカーネル(OSの中核コンポーネント)に残る。OSの中にはカーネルをページング主記憶装置補助記憶装置間のデータ転送)できるものもあり、その場合ブートローダのメモリ領域が移ることがある。

ダイナミックリンカ

共有ライブラリdllなど)を読み込み、起動しているプログラムに関連付けるローダがダイナミックリンカである。

ローダによる再配置

ローダによる再配置が必要なコンピュータもある。それらは読み込みの開始点を指定するためにロードされるプログラムのアドレスポインタ)を調整する。この方式のコンピュータのポインタはプログラムのベースアドレスからのオフセット(距離)ではなく絶対アドレスである。IBMSystem/360やその後継機がそのような方式を採った。

ローダのその他の使用

ローダはプロトタイピング、テスト、使い捨てアプリケーションで有用である。そのようなプログラムの一つがジーン・アムダールのオリジナルOS/360の中核部であった。その機能はMVTMVSz/OSといった後継機に引き継がれた。

ローダのないコンピュータ

動的なプログラムの読み込みをサポートする全てのOSはローダを備えているが、スタック以外にRAMを使わないシステムや自動車オーディオシステムなどに組み込まれるコンピュータシステムでは、あらかじめ決められたプログラムを実行することで事足りてしまうためローダを持たない。

その他

Unixでロードを実行するのはシステムコールハンドラ execve()である。