インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

0から作るOS開発 Vol.6 カーネル編 ページング

価格: ¥0
カテゴリ: Kindle版
ブランド: yabusame2001
Amazon.co.jpで確認
C言語で0から作るOSを開発について説明していきます。このシリーズではカーネルの開発について説明しています。
今回は仮想アドレス空間を制御するページングについてです。ページングはPTE(ページテーブルエントリー)とPDE(ページディレクトリエントリー)を設定して制御します。

【注意】本書はプロセスの仮想アドレス空間管理についての説明まではしていません。OS起動時のページング設定に留めています。プロセスの仮想アドレス管理についてはプロセス管理で説明していきます。

[目次]
前回までの内容
物理メモリー管理の限界
仮想メモリー
  仮想アドレス空間
  MMU(Memory Management Unit:メモリー管理ユニット)
  TLB(Translation Lookaside Buffer:アドレス変換バッファ)
ページ
ページング
ページと物理アドレス
ページテーブルエントリー(PTE:Page Table Entries)
  PTEを実装してみる
ページテーブル
ページディレクトリエントリー(PDE:Page Directory Entries)
  PDE
  PDEの実装
ページと仮想アドレス
  仮想アドレスから物理アドレスへの変換
マルチタスクとメモリー空間
仮想メモリー管理
  カーネルを0xC0000000で動かす方策その1
  カーネルを0xC0000000で動かす方策その2
  カーネルを0xC0000000にロードする簡単な例
仮想メモリー管理の実装
  ページ領域と物理領域の割り当てと解放
  仮想メモリーアドレスからPTE、PDEを取得する
  ページディレクトリの読み込み
  TLBをフラッシュする
  仮想メモリーと物理メモリーの紐付け
  仮想メモリー管理初期化
ページングを有効にする
ページフォルト