Linuxカーネルはコンピュータアーキテクチャについてどのように知ることができますか?

Linuxカーネルはコンピュータアーキテクチャについてどのように知ることができますか?

start_kernel()カーネルが最初にすることは実行ですsetup_arch()setup_arch()サポートされる各アーキテクチャに対して定義されるため、適切なコマンドラインへのポインタが渡されます。

このポインタはどのように初期化され、カーネルはいつどのようにコンピュータアーキテクチャを取得しますか?

ベストアンサー1

特定のカーネルは単一のアーキテクチャ用に構築されたので、単一のsetup_arch一般的なstart_kernelこれを呼び出すが、初期化されたポインタをコマンドラインに渡すのではなく、コマンドラインポインタへのポインタを渡し、setup_archそのポインタを初期化することはタスクの一部です。

例えば、x86にはグローバルcommand_line変数があります、そしてsetup_arch によって提供されるポインタにアドレスを保存します。start_kernel

したがって、カーネルは、コンピュータの構築時にコンピュータのアーキテクチャを効果的にキャプチャします。

おすすめ記事