最近のトラックバック

2008年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

« ch05: ★pmap_enter | メイン | ch05: ☆active count = usage count? »

ch05: ☆☆vm_map_entry

206ページ、真ん中辺り:

The request to make the page writable is made only in the vm_map_entry structure.

vm_map_entry 構造体の中でのみ要求が可能というのはどういう意味か?

要求が構造体の中で可能というのはどういう意味か? 構造体の内容を直接変更しなければならないという意味だろうか?

このパラグラフの最後では、pmap_enter によって書き込み可能にすると書いてある。pmap_enter が構造体の内容を変更するというのか。だったら、どんなインタフェースだってそうだろう。

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/456/832822

このページへのトラックバック一覧 ch05: ☆☆vm_map_entry:

コメント

FreeBSDはブートプロセスに関わるところしか読んだことがないのですが。。。

vm_map_entryは、仮想アドレス空間に作成された領域のアクセスモードのマスター情報を管理します。ページテーブルのエントリを作成するときは、vm_map_entryの情報が参照されます。

なのでここで言いたいことは、物理ページを書き込み可能にしたいときは、(ページテーブルを直接書き換えるんじゃなくて)vm_map_entryを更新するんだよ、それ以外に機種非依存な方法は手段は用意されてないよってことじゃないでしょうか。

pmap_enter()は、vm_map_entryが持つアクセスモードを引数に渡されてページテーブルにエントリを登録する機種依存コードです。pmap_enter が構造体の内容を変更するんじゃなくて、その逆ですね。

ほほー、そういうことですか。今の訳は『ページを書き込み可能にする要求は vm_map_entry 構造体の中でのみ実現可能である』となっているけど、『ページを書き込み可能にする要求は vm_map_entry 構造体を通じてのみ実現可能である』の方がわかりやすいかな。

コメントを投稿

Powered by TypePad