基本概念理解:win32进程可以管理多少内存?
wooyz 2008-06-14 03:19:01 从MSDN上看到,PAE和AWE的相关资料。
感觉看得不是很明白。
疑问:
1。按照下文所述,如果不是Windows Server 2003 Enterprise Edition Windows Advanced Server, Limited Edition
Windows 2000 Datacenter Server ,Windows 2000 Advanced Server 则无法使用PAE功能,那么是否意味着应用程序最大只能访问4GB的物理内存?
2。下文中,memory和physical memory究竟指的是什么概念?
3。按照下文所述,对于AWE,如果不支持PAE,则AWE无法预留大于4GB的物理内存。假设在没有使能PAE的情况下,物理内存有8GB,那么对于一个进程来说,该进程最大可以预留多少物理内存呢?4GB?该进程最大可以使用的内存有多少呢?4GB(扩展)+2GB(工作区)?
望各位大牛斧正!
附录:从MSDN摘取
Physical Address Extension
The Physical Address Extension (PAE) enables applications to address more than 4 GB of physical memory. It is supported by Intel processors. The following systems can use PAE to take advantage of physical memory beyond 4 GB:
Windows Server 2003 Enterprise Edition
Windows Advanced Server, Limited Edition
Windows 2000 Datacenter Server
Windows 2000 Advanced Server
To enable PAE, you must use the /PAE switch in the Boot.ini file.
With PAE enabled, the operating system moves from two-level linear address translation to three-level address translation. The extra layer of translation provides access to physical memory beyond 4 GB. Instead of a linear address being split into three separate fields for indexing into memory tables, it is split into four separate fields; a 2-bit field, two 9-bit fields, and a 12-bit field that corresponds to the page size implemented by Intel Architecture (4 KB).
Typically, a process can access up to 2 GB of memory address space (assuming the /3GB switch was not used), with some of the memory being physical memory and some being virtual memory. The memory manager uses PAE to provide more physical memory to an application, which reduces the need to swap memory to the page file and increases performance. The application itself is not aware of the actual memory size. All of the memory management and allocation of the PAE memory is handled by the memory manager independently of the application.
Applications that are 4GT-aware are likely to remain in physical memory rather than be paged out, which increases their performance. The exception is when the /3GB switch is used in conjunction with the /PAE switch. In this case, the operating system does not use any memory in excess of 16 GB. Therefore, if the system restarts with the /3GB entry in the Boot.ini file, and the system has more than 16 GB of physical memory, the additional physical random access memory (RAM) is not used by the operating system. Restarting the computer without the /3GB switch enables the use of all of the physical memory.
Address Windowing Extensions (AWE) enables applications to address more than 4 GB. AWE enables an application to reserve physical memory as nonpaged memory, then dynamically map portions of the nonpaged memory to its working set. This enables memory-intensive programs to reserve large amounts of physical memory for data without swapping to disk. Instead, the data is swapped between the working set and reserved memory above the 4 GB range. The memory above 4 GB is exposed to the memory manager and the AWE functions by PAE. Without PAE, AWE is unable to reserve memory in excess of 4 GB.