web-dev-qa-db-ja.com

Linuxカーネルが「イメージ」と呼ばれるのはなぜですか?

LinuxカーネルをLinuxカーネルイメージと呼んでいるとよく耳にしますが、なぜそれがイメージと呼ばれるのかについて、検索エンジンで答えを見つけることができないようです。

imageについて考えるとき、私はディスクのコピーか写真の2つのことしか考えられません。地獄は写真のイメージではないので、それはなぜイメージと呼ばれるのでしょうか?

63
Tony

Unixのブートプロセスには、プログラムのインテリジェントなロード(再配置、ライブラリのロードなど)の限られた機能しかありませんでした。したがって、最初のプログラムは、ディスクに格納された、メモリにロードしてカーネルを実行するために「呼び出す」必要がある正確なイメージでした。

(解凍)のようなかなり後のことが追加されただけでなく、より強力なブートローダーが導入されましたが、イメージ名は固定されています。

60
Anthon

Word image には、「ライブ作業コピーを作成するために必要なすべての情報を含むファイル」という定義もあります。

32
Simon Richter

「イメージ」がディスクの1対1のコピーであるという意味ではありません。写真が撮影時の現実を正確に表しているように、実行可能プログラム(またはカーネル)のイメージは、プログラムを次の状態で表します。そのままシステムメモリにロード(またはアンパック)することができ、制御を与えることができます。そのプログラムは、その状態から一貫した方法で実行を開始できます。したがって、Linuxカーネルイメージは、Linuxカーネルに制御を与えた後、それ自体で実行できるLinuxカーネルのイメージ(状態の画像)です。

最近では、ブートローダーはそのようなイメージをハードディスクのファイルシステムからロードし(ドライバーが必要です)、それ自体をイメージに置き換えて、制御を与えます。コンピュータの起動プロセスは、オペレーティングシステムが最終的に実行されるまで数回実行されます。これは chain loading と呼ばれます。あるいは、より小さなプログラム(chain-)がより複雑なプログラムをロードする場合、それは bootstrapping と呼ばれます。

BIOSは、イメージでもあるブートローダーをロードします。たとえば、grubの場合はboot.imgと呼ばれます。そのboot.imgはファイルではありません(grubがインストールされている場合)。マスターブートレコード(MBR)にあるパーツの名前です。それをファイルにダンプすると、ディスクに直接書き込まれたのではなく、ファイルに直接書き込まれたファイル形式のイメージになります。これは、grubが残りの部分をロードできる最も初期の状態の表現(イメージ)でもあります。 grubには、他のイメージをロードすることによって自分自身を完全にロードする独自のメカニズムがあります。これは、grubの異なる stages で表されます。その後、ブートローダーは、そのファイルの抽出された内容で自分自身を置き換えることにより、カーネルイメージをロードします。

20
chaos

古代史。画像という用語は、コンパイラ->リンカからの出力を表す古いDigital Equipment Corporationの用語に由来しています。このファイルは、コードを解釈することによって作成されたイメージであり、リンカーを介して、デザインの実行可能な「イメージ」を作成します。

7
SkipBerne

数学では、カーネルは、一部のマップの画像のサブセットの反転画像であり、サブセットがコドメインのアイデンティティー要素に等しい場合。これらの名前は数学のさまざまな分野で大きく関連しているため、これらの名前は数学の概念に由来していると思います。 Unixが学術的な環境で派生したことを考えると、これらのWordのカーネルとイメージの使用が同じである可能性があります。

「完全な」OSに関するあるレベルの情報を表すセットがある場合、その情報もグループを形成している場合は、そのセットにグループ準同型を定義するか、基本的に、元のセットと異なるサイズの別のセットにマップできます。彼らはそれをグループにした元のセットの構造を「尊重」します。セットを小さいセットにマップするか、サブセットが小さいセットのサブセットにマップする方が都合がよい場合があります。

画像-グループ準同型の画像、および一般的な関数とマップは、実際に要素がマップされるセットのサブセットにすぎません。関数はすべての単一の要素にマップされない場合があり、それらの要素は画像に含まれません。

カーネル-基本的には、画像にマップする元のセットの要素のみですが、画像のID要素にのみマップします。基本的に、画像内のものと同様に0にマッピングされる要素。

画像のサイズが元のセットよりも小さい場合は、複数のアイテムを1つの要素にマッピングする必要があることがわかります。したがって、たとえば、カーネルに複数の要素があり、それらが画像にマッピングされている場合、それらはすべて0にマッピングする必要があることがわかっています。

元のセットをバイナリまたは1と0の有限シーケンスに選択し、コドメイン(にマップされたセット)もバイナリのシーケンスに選択すると、適切なグループ構造の場合にのみ、そのようなものを構築できることがわかります。定義することができます(これは少し詳細であり、尋ねられた質問とは無関係です)。

したがって、O.S。の「カーネル」と「イメージ」が完全に確実にわかります。完全に定義されており、数学的な意味があります。おそらく他の用語の使用から独立しています。

5
marshal craft