メモリの割り当て
Rev.4を表示中。最新版はこちら。
作成中[カーネルのメモリ割り当て関数]
kmem_alloc()
仮想アドレス空間と物理ページを割り当てる。
物理ページはPageOutされない。
物理ページは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をシミュレートして割り当てを行なう。
vm faultをシミュレートして割り当てを行なう。