.


:




:

































 

 

 

 





(virtual to physical memory mapping), (page swapping) (demand paging) . , (Solomon) (Russinovich) Inside Windows2000. :

; , Windows XP, 128 , .[21]

, , , , . , 1 , , 128 , .

.

, (page faults), , , (swap file) . , , , . , , .

. 5.1 API Windows (Virtual Memory Manager, VMM). API Windows (VirtualAlloc, VirtualFree, Virtual-Lock, VirtualUnlock ) . API Windows , .

, API, Windows 9x Windows NT . Microsoft.

, . :

VOID GetSystemInfo(LPSYSTEM_INFO lpSystemInfo)

PSYSTEM_INFO, , , .

Windows , (heaps). , .

. 5.1. Windows

 

, , , . , , (malloc, free, calloc, realloc).

Windows , , . . , , malloc :

HANDLE GetProcessHeap(VOID)

: ; NULL.

, NULL, INVALID_HANDLE_VALUE, CreateFile.

. , . .

. , . , (memory leak), , "" , , , .[22]

. , . . 9.

. , . . , , .

. , , , . , .

. , , .

, , . Windows ( ). , .[23]

, dwInitialSize ( ), , , ( ), (commit) ( ) , (allocation) . , , . , , , . dwMaximumSize ( ). , , .

HANDLE HeapCreate(DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize)

: ; NULL.

, , DWORD, a SIZE_T. SIZE_T 32 64- , (_WIN32 _WIN64). , Win64 (. 16), 32 64- . SSIZE_T).

flOptions :

HEAP_GENERATE_EXCEPTIONS: NULL , SEH (. 4). , HeapCreate, , HeapAlloc, .

HEAP_NO SERIALIZE: , , .

, dwMaximumSize.

dwMaximumSize , , . , (nongrowable). , , , , .

dwMaximumSize 0, (grow), , , , .

, , . , , , ( 15), .

HeapDestroy. , , CloseHandle.

BOOL HeapDestroy(HANDLE hHeap)

hHeap , HeapCreate. , , ( GetProcessHeap). . , , .

, , , , C++ , . :

1. , .

2. , , .

3. , .

. -, Windows, .

UNIX sbrk, .

UNIX , .





:


: 2015-09-20; !; : 502 |


:

:

.
==> ...

1755 - | 1606 -


© 2015-2024 lektsii.org - -

: 0.012 .