ページングをONにして仮想記憶を有効にするまでの手順メモ

はじめて読む486を読み直して、ページングをONにするまでの手順を整理。

  1. GDTを設定。
  2. IDTを設定(割り込みベクタの0x0eがフォールトハンドラ用に予約されている)。
  3. ページディレクトリ、ページテーブルを初期化。このとき、物理アドレスを仮想アドレス空間マッピングするような初期化をしとく必要あり。
  4. いざ、CR0の31bit目をアサート!

はじめて読む486、実は1週目の読了に2週間くらいかかったけど、2週目は2日で読み直せた。実際に何回かアセンブリでコーディングしてるので、色々と想像しながら読めたのが大きいかな。
それと、FreeBSDのブートプロセスを見る、買っちゃいました。rep と stos と movs の便利さに目覚めました。