highmemが1GBを超えるRAMに対応する必要性を理解することになると、何かが足りません。誰かが私がどこで間違っているのか指摘できますか?ありがとう!
私が知っていること:
1 GBのプロセスの仮想メモリ(高メモリ領域)は、カーネル操作用に予約されています。ユーザースペースは残りの3GBを使用できます。これは3/1分割です。
VMの仮想メモリ機能は、(連続した)仮想メモリページを物理ページ(RAM)にマップします。
私が知らないこと:
カーネル仮想メモリを使用する操作は何ですか?カーネル空間のkmalloc(...)のようなものはカーネル仮想メモリを使用すると思います。
このスキームでは4GBのRAMを使用できると思います。物理スペースをアドレス指定するときに、カーネルの1GB仮想スペースが制限要因である理由がわかりません。これは私の理解が崩壊するところです。お知らせ下さい。
私はこれ(http://kerneltrap.org/node/2450)を読んでいます。これは素晴らしいことです。しかし、それは私の好みに合った私の質問に完全には対応していません。