カーネルセットアップの第一歩 前回の パート では、Linuxカーネルの内部について探り始め、カーネルをセットアップするコードの最初の部分を見ていきました。前回の投稿は arch/x86/boot/main.c 内の main 関数(C言語で書かれた最初の関数)を呼び出すところまで確認しました。 このパートでは、引き続きカーネルのセットアップコードについて調査し、併せて以下の内容も学びます。 protected mode (プロテクトモード)の概要 * プロテクトモードに移行するための準備 ヒープとコンソールの初期化 メモリの検出、CPUの検証、キーボードの初期化 その他もろもろ それでは始めていきましょう。 プロテクトモード ネイティブのIntel64の ロングモード に移行する前に、カーネルはCPUをプロテクトモードに切り替える必要があります。 では、この プロテクトモード とは何でし