エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Linux(x86-32bit)のページフォルトハンドラを読んでみる(その1) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Linux(x86-32bit)のページフォルトハンドラを読んでみる(その1) - Qiita
今回やること 前回はmmap()をざっくり読んでみました。 その際に以下のように書きました。 ここまで見た... 今回やること 前回はmmap()をざっくり読んでみました。 その際に以下のように書きました。 ここまで見たとおり、アドレス空間のマップと同時に物理ページを割り当てている様子はありません。 ユーザ空間であればそれはごく普通のことです。それは、デマンドページングというやつでしょう。 この場合、実際に物理メモリを割り当てるのは、ページフォルトハンドラとなるはずです。 そこで今回はページフォルトハンドラを見て、Linuxの仮想記憶をもう少しだけ深く知ってみましょう。 ただ、ページフォルトハンドラは長いです。なので何回かに分けて書いてみます。 ページフォルトハンドラはどこにあるのか ハンドラの名前に「fault」が含まれると思われるので、arch/x86の下をgrepします。 検索結果を漁ると、以下の関数が見つかります。 dotraplinkage void __kprobes notrace do