私は Linux カーネルの内部構造を学んでおり、最初に呼び出される C 関数が start_kernel() であることを理解しています。しかし、システムは、割り込みサービスルーチンのインストールなど、c 機能を実行できるように準備する必要があると思います。
さて、Linuxが実行する完全なステップシーケンスは何ですか? コードはどこにありますか?(カーネル 3.2.0.37-generic で ubuntu 12.04 LTS を使用しています)
私は Linux カーネルの内部構造を学んでおり、最初に呼び出される C 関数が start_kernel() であることを理解しています。しかし、システムは、割り込みサービスルーチンのインストールなど、c 機能を実行できるように準備する必要があると思います。
さて、Linuxが実行する完全なステップシーケンスは何ですか? コードはどこにありますか?(カーネル 3.2.0.37-generic で ubuntu 12.04 LTS を使用しています)
start_kernel (init/main.c) を実行する前に、いくつかのアセンブリ コード (head.S など) が実行され、システムが c 関数を実行するように準備されます。
割り込みサービス ルーチンは後で実行されます。
プロセス全体を呼び出す前にstart_kernel()
、完全な起動プロセスを実行してください。
また、本「Essential Linux Device Drivers」の「A Peek Inside the Kernel」の章に進んでください。その作者のサイト。
また、このリンクから移動することもできます。