load の構文と動作は、プログラムが読み込まれるだけで、実行はされない点を除いて boot と同じです。load も、boot の場合と異なり、読み込む前にマシンをリセットしません。
load コマンドの一般的な形式は次のとおりです。
load [device-specifier] [arguments] |
load コマンドの変数の解析は、boot の場合と同じシステム変数によって制御され、load の device-specifier と arguments は同じプロセスで識別されます。(詳細は、「上級ユーザー向けの起動」を参照してください。)
device-specifier と arguments が識別できたら、読み込みが次のように行われます。
device-specifier と arguments が /chosen ノードのそれぞれ bootpath と bootargs 特性に保存されます。
device-specifier がシステム変数から得られた場合は、その値はデバイスのリストであることがあります。リストのエントリが 1 つだけであれば、load はそのエントリを device-specifier として使用します。
リストのエントリが複数の場合は、リスト上の最初のエントリから最後のエントリの 1 つ前までの各デバイスが開こうとします。システムがデバイスを開けると、そのデバイスは閉じられ、load がそれを device-specifier として使用します。リスト上のどのデバイスも開けなかった場合は、load はリストの最後のデバイスを device-specifier として使用します。
load が device-specifier によって指定されるデバイスを開こうとします。そのデバイスが開けなかった場合は、読み込みは終了されます。
デバイスが開けた場合は、その load 方法が呼び出されて、指定されたプログラムが指定されたデバイスからシステムのデフォルト読み込みアドレスに読み込まれます。
正常に読み込みできて、読み込まれたイメージの先頭がシステムの有効なクライアントプログラムヘッダーであれば、次の操作が行われます。
そのヘッダーに指定されているアドレスに指摘されたサイズのメモリーが割り当てられます。
読み込まれたイメージがデフォルト読み込みアドレスから新しく割り当てられたメモリーに転送されます。
go コマンドによって読み込まれたプログラムが実行できるようにしてシステムは初期化されます。後に続く go コマンドが読み込まれたプログラムの実行を開始するためにシステムが初期化されます。