「ローダ」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Addbot (会話 | 投稿記録)
m ボット: 言語間リンク 10 件をウィキデータ上の d:q650550 に転記
Greeneyes3 (会話 | 投稿記録)
m編集の要約なし
1行目: 1行目:
{{otheruses||小惑星|ローダ (小惑星)}}
{{Otheruses|ソフトウェア|小惑星|ローダ (小惑星)|サッカークラブ|ローダJC}}
{{otheruses||[[オランダ]]のサッカークラブ|ローダJC}}


'''ローダ'''(loader)とは他の[[プログラム (コンピュータ)|プログラム]]を[[読込]]して[[起動]]できる状態にし、それを実行する[[プログラム (コンピュータ)|プログラム]]。
'''ローダ''' ({{en|loader}}) 他の[[プログラム (コンピュータ)|プログラム]]を[[読込]]して[[起動]]できる状態にし、それを実行する[[プログラム (コンピュータ)|プログラム]]である


== 機能 ==
== 機能 ==
11行目: 10行目:


=== ダイナミックリンカ ===
=== ダイナミックリンカ ===
{{see|リン}}
{{see|リンケージエディタ}}


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


=== ローダによる再配置 ===
=== ローダによる再配置 ===

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


=== ローダのその他の使用 ===
=== ローダのその他の使用 ===

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


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

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


[[UNIX|Unix]]でロードを実行するのは[[システムコール]]の[[ハンドラ]] ''[[exec|execve()]]'' である。
== その他 ==
[[UNIX|Unix]]でロードを実行するのは[[システムコール]]の[[ハンドラ]] ''[[exec|execve()]]''である。


== 関連項目 ==
== 関連項目 ==
* [[メモリマップトファイル]]
* [[メモリマップトファイル]]


{{DEFAULTSORT:ろた}}
{{DEFAULTSORT:ろた}}
[[Category:OSのプロセス管理]]
[[Category:OSのプロセス管理]]
[[Category:システムソフトウェア]]
[[Category:システムソフトウェア]]

2013年5月11日 (土) 17:24時点における版

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

機能

ブートローダ

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

ダイナミックリンカ

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

ローダによる再配置

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

ローダのその他の使用

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

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

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

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

関連項目