タグ

Kernelとstart_kernelに関するmogwaingのブックマーク (1)

  • カーネル本体の開始

    ここまでは、カーネル初期化ルーチンからstart_kernel()へと制御が移るところまでを追ってきた。 start_kernel()は、TOPDIR/init/main.cで定義されているC言語の関数である。start_kernel()は、Linuxのブートシーケンスにおいて初めて出現する、アーキテクチャに依存しないソースコードであり、これはカーネル体のエントリポイントとして位置する。 start_kernel()以降、カーネル起動処理が行う処理は 割り込みハンドラやプロセスのコンテキスト管理 メモリ管理 モジュール管理 バスの管理 etc. と煩雑を極める。 当文書ではこれ以降の処理の詳細には踏み込まない。ここでは、start_kernel()へ制御が移ってから最初のユーザプロセス「init」が実行されるまでの経緯を簡単に紹介するのみにとどめる。 start_kernel()の開始

  • 1