2011-06-20 12 views
1

カーネルだけが使用するため、PAGE_OFFSETより上のアドレスにしか置かないようにしてください。しかし、私はthisページを読んでいたし、(IRCの会話で)それの終わりに、私は本当に私を混同して次の行読み:Linuxカーネル:プロセスページテーブルはどこにありますか?

saxm> riel: so where do page tables reside? Surely not below PAGE_OFFSET? Somewhere above PAGE_OFFSET+896mb then? 

riel> they could reside anywhere 

saxm> anywhere from 0->4gb (on x86 with no pae)? 

riel> saxm: yeah 

を私が意味する、なぜ彼らはPAGE_OFFSETの下にあるのでしょうか?そうであれば、ユーザースペースプロセスはアクセスできないでしょうか?

答えて

4

リエルが言っていると思っていたのは、どこでも(ほとんど)どこにでも置くことができると思います。フィジカルメモリ - 固定マッピングはありません。

ページテーブルはカーネル仮想アドレス空間(PAGE_OFFSET以上)にマップされ、ユーザスペースには見えません(ユーザが自分のページテーブルを壊すことはないので、意味があります)。

この関連記事をご覧ください。 Does Linux use self-map for page directory and page tables?

関連する問題