Mac OS Xのカーネル Xnuのメモ書き

メモリの割り当て


Rev.4を表示中。最新版はこちら

作成中

[カーネルのメモリ割り当て関数]
kmem_alloc()
仮想アドレス空間と物理ページを割り当てる。
物理ページはPageOutされない。

kmem_alloc_pageable()
仮想アドレス空間のみ割り当てて、物理ページは割り当てない。

kmem_alloc_wired()
kmem_alloc()に同じ

kmem_alloc_contig()
kmem_alloc()と同じだが、割り当てる物理ページは連続ページとなる。


[関連関数]
vm_page_alloc(object, offset)
物理ページを取得してvm_objectに割り当てる(object->memqにつなげる)

vm_map_wire()

vm_fault_wire()
pmapを設定して仮想アドレスに対して物理ページをマップする。
vm faultをシミュレートして割り当てを行なう。




最終更新 2006/06/01 01:12:01 - kztomita
(2006/05/29 01:17:18 作成)


最近更新したページ