仮想アドレス空間の確保のAPI
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>仮想メモリ管理]]
* 目次 [#w723b692]
#contents
*概要 [#nffd2652]
仮想アドレス空間の確保のAPIの使い分けについては以下を参照。
*API [#nda96acd]
**LocalAlloc [#a4dca8c7]
Win16時代の名残で新しいAPIでは使用しなくてよい。
**GlobalAlloc [#qef612e1]
Win16時代の名残で利用は推奨されないが、~
DDE 関数とクリップボード関数では、依然としてGlobalAlloc関...
-GlobalAllocでGMEM_MOVEABLE(移動可能メモリ)を指定すると~
メモリのハンドルが返り、それを使用してGlobalLockで仮想ア...
-これにより仮想アドレスへのマップをOSに管理させる事ができる
--(物理メモリ確保のみの状態 = ワーキングセット)
--(Win16時代は物理メモリのマップをOSに管理させていたが、...
-このため、GlobalFree、GlobalUnlock、GlobalLockで~
仮想アドレス上の断片化を発生させないように処理を実装でき...
-ただし、ハンドルリークや、小さいメモリ領域を多数確保する...
**VirtualAlloc [#gaa20581]
-ページ単位で操作するためアクセス権の設定の面で柔軟である。
-多量の領域を確保する場合や、領域を予約する場合に利用する。
-予約では、必要が生じるまで物理メモリを消費することなく、...
-大量のメモリを必要とするプログラム(DBMS)では、ヒープ・...
VirtualAllocを使用し自前でバッファ・キャッシュの予約~コ...
※ ヒープ・マネージャも、内部でVirtualAllocを使用している。
**HeapAlloc [#b5014a2e]
-前述のヒープ = ヒープ・マネージャの実装。
-内部的にVirtualAllocを使用している。
**malloc (new) [#m30f99b4]
データ長にあわせて、プロセスに既にあるヒープを使ったり、...
またマルチスレッドに対する耐性があるバージョンも存在し、...
ヒープを使うので、通常、malloc内部で最後にHeapAllocを呼び...
**ExAllocatePoolWithTag [#r5b1da04]
メモリ プール(ページ プールおよび非ページ プール)を割り...
*参考 [#x67124b2]
-二流プログラマの三流な日常 HeapAllocとVirtualAllocの使い...
http://konuma.txt-nifty.com/blog/2006/03/heapallocvirtua_...
-ヒープに関する話題 - Web-DB プログラミング徹底解説~
http://keicode.com/windows/win11.php
----
Tags: [[:Windows]], [[:メモリ管理]], [[:障害対応]], [[:性...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>仮想メモリ管理]]
* 目次 [#w723b692]
#contents
*概要 [#nffd2652]
仮想アドレス空間の確保のAPIの使い分けについては以下を参照。
*API [#nda96acd]
**LocalAlloc [#a4dca8c7]
Win16時代の名残で新しいAPIでは使用しなくてよい。
**GlobalAlloc [#qef612e1]
Win16時代の名残で利用は推奨されないが、~
DDE 関数とクリップボード関数では、依然としてGlobalAlloc関...
-GlobalAllocでGMEM_MOVEABLE(移動可能メモリ)を指定すると~
メモリのハンドルが返り、それを使用してGlobalLockで仮想ア...
-これにより仮想アドレスへのマップをOSに管理させる事ができる
--(物理メモリ確保のみの状態 = ワーキングセット)
--(Win16時代は物理メモリのマップをOSに管理させていたが、...
-このため、GlobalFree、GlobalUnlock、GlobalLockで~
仮想アドレス上の断片化を発生させないように処理を実装でき...
-ただし、ハンドルリークや、小さいメモリ領域を多数確保する...
**VirtualAlloc [#gaa20581]
-ページ単位で操作するためアクセス権の設定の面で柔軟である。
-多量の領域を確保する場合や、領域を予約する場合に利用する。
-予約では、必要が生じるまで物理メモリを消費することなく、...
-大量のメモリを必要とするプログラム(DBMS)では、ヒープ・...
VirtualAllocを使用し自前でバッファ・キャッシュの予約~コ...
※ ヒープ・マネージャも、内部でVirtualAllocを使用している。
**HeapAlloc [#b5014a2e]
-前述のヒープ = ヒープ・マネージャの実装。
-内部的にVirtualAllocを使用している。
**malloc (new) [#m30f99b4]
データ長にあわせて、プロセスに既にあるヒープを使ったり、...
またマルチスレッドに対する耐性があるバージョンも存在し、...
ヒープを使うので、通常、malloc内部で最後にHeapAllocを呼び...
**ExAllocatePoolWithTag [#r5b1da04]
メモリ プール(ページ プールおよび非ページ プール)を割り...
*参考 [#x67124b2]
-二流プログラマの三流な日常 HeapAllocとVirtualAllocの使い...
http://konuma.txt-nifty.com/blog/2006/03/heapallocvirtua_...
-ヒープに関する話題 - Web-DB プログラミング徹底解説~
http://keicode.com/windows/win11.php
----
Tags: [[:Windows]], [[:メモリ管理]], [[:障害対応]], [[:性...
ページ名: