Memory sizes of Microsoft Windows Operating Systems (Arnoud J.G. Mulder, v1:20050106 v5:20110614) Windows Version Support boot.ini options Maximum addressable physical memory Maximum 32bit application address-space /PAE /3GB /USERVA Windows NT3.51 Workstation Windows NT3.51 Server N N N N N N 4GB 4GB 4GB 4GB n/a n/a n/a n/a 2GB 2GB n/a n/a n/a n/a n/a n/a Windows NT4 Workstation Windows NT4 Server Windows NT4 Enterprise N N N N N Y N N N 4GB 4GB 4GB 4GB 4GB 4GB n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB n/a n/a 3GB n/a n/a n/a n/a n/a n/a Windows 2000 Professional Windows 2000 Server Windows 2000 Advanced Server Windows 2000 DataCenter N**** N**** Y Y Y Y Y Y N N N N 4GB 4GB 8GB 32GB 4GB 4GB 4GB 4GB n/a n/a 8GB 32GB n/a n/a 8GB 16GB 2GB 2GB 2GB 2GB n/a 3GB 3GB 3GB n/a n/a n/a n/a n/a n/a n/a n/a Windows XP Starter Edition Windows XP Home Edition Windows XP Professional Windows XP Professional Windows XP Professional N**** N**** N**** n/a n/a ? Y Y n/a n/a ? N N n/a n/a 512MB 4GB 4GB 128GB 128GB 512MB 4GB 4GB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 2GB 2GB ? 3GB 3GB 4GB* 4GB* n/a n/a n/a n/a n/a n/a n/a n/a x64 IA64 Windows Home Server default /PAE /PAE /3GB default /3GB /USERVA Max. 64bit application address-space Max. by design N Y N 4GB 4GB n/a n/a 2GB 3GB n/a n/a N**** N**** N**** N**** Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 4GB 4GB 4GB 4GB 64GB 64GB 64GB 64GB 64GB 64GB 64GB 64GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB n/a n/a n/a n/a 64GB 64GB 64GB 64GB 64GB 64GB 64GB 64GB n/a n/a n/a n/a 16GB 16GB 16GB 16GB 16GB 16GB 16GB 16GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 3GB 3GB 3GB 3GB 3GB 3GB 3GB 3GB 3GB 3GB 3GB 3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Windows 2003 Server Enterprise RTM IA64 Windows 2003 Server Enterprise SP1 IA64 Windows 2003 Server Enterprise SP2 IA64 Windows 2003 Server DataCenter RTM IA64 Windows 2003 Server DataCenter SP1 IA64 Windows 2003 Server DataCenter SP2 IA64 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 512GB 1TB 2TB 512GB 1TB 2TB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 2GB 2GB 2GB 3GB* 4GB* 4GB* 3GB* 4GB* 4GB* n/a n/a n/a n/a n/a n/a 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** Windows 2003 Server Standard SP1 Windows 2003 Server Standard SP2 Windows 2003 Server Standard R2 Windows 2003 Server Enterprise SP1 Windows 2003 Server Enterprise SP2 Windows 2003 Server Enterprise R2 Windows 2003 Server DataCenter SP1 Windows 2003 Server DataCenter SP2 Windows 2003 Server DataCenter R2 x64 x64 x64 x64 x64 x64 x64 x64 x64 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 32GB 32GB 32GB 1TB 1TB 1TB 1TB 1TB 1TB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 2GB 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** Windows 2003 Web Edition Windows 2003 Small Business Server Windows 2003 Storage Server Windows 2003 Storage Srv Enterprise Windows 2003 Compute Cluster Srv IA64 Y Y Y Y n/a Y Y Y Y n/a Y Y Y Y n/a 2GB 4GB 4GB 8GB 32GB 2GB 4GB 4GB 4GB n/a 2GB 4GB 4GB 8GB n/a 2GB 4GB 4GB 8GB n/a 2GB 2GB 2GB 2GB 2GB 3GB 3GB 3GB 3GB 4GB* 2-3GB 2-3GB 2-3GB 2-3GB n/a n/a n/a n/a n/a 2GB/8TB** Windows Vista Starter Windows Vista Home Basic N (EU) Windows Vista Home Basic Windows Vista Home Premium Windows Vista Business N (EU) Windows Vista Business Windows Vista Enterprise Windows Vista Ultimate ? Y*** Y*** Y*** Y*** Y*** Y*** Y*** ? Y*** Y*** Y*** Y*** Y*** Y*** Y*** ? Y*** Y*** Y*** Y*** Y*** Y*** Y*** 1GB 4GB 4GB 4GB 4GB 4GB 4GB 4GB ? 4GB 4GB 4GB 4GB 4GB 4GB 4GB ? 4GB 4GB 4GB 4GB 4GB 4GB 4GB ? 4GB 4GB 4GB 4GB 4GB 4GB 4GB ? 2GB 2GB 2GB 2GB 2GB 2GB 2GB ? 3GB 3GB 3GB 3GB 3GB 3GB 3GB ? 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8GB 8GB 16GB 128GB 128GB 128GB 128GB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 2GB 2GB 2GB 2GB 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* n/a n/a n/a n/a n/a n/a n/a 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** Y Y Y Y Y Y ? ? ? 4GB 64GB 64GB 4GB 4GB 4GB 4GB 64GB 64GB ? ? ? 2GB 2GB 2GB 3GB 3GB 3GB 2-3GB 2-3GB 2-3GB n/a n/a n/a Windows 2008 Itanium-based Systems IA64 Windows 2008 Itanium-based R2 IA64 n/a n/a n/a n/a n/a n/a 2TB 2TB n/a n/a n/a n/a n/a n/a 2GB 2GB 4GB* 4GB* n/a n/a 2GB/8TB** 2GB/8TB** Windows 2008 Server Foundation R2 Windows 2008 Server Standard Windows 2008 Server Standard R2 Windows 2008 Server Enterprise Windows 2008 Server Enterprise R2 Windows 2008 Server Datacenter Windows 2008 Server Datacenter R2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8GB 32GB 32GB 1TB 2TB 1TB 2TB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 2GB 2GB n/a n/a 4GB* 4GB* 4GB* 4GB* 4GB* n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** Y Y Y Y ? ? 4GB 4GB 4GB 4GB 4GB 4GB ? ? 2GB 2GB 3GB 3GB 2-3GB 2-3GB n/a n/a Windows 2003 Server Standard RTM Windows 2003 Server Standard SP1 Windows 2003 Server Standard SP2 Windows 2003 Server Standard R2 Windows 2003 Server Enterprise RTM Windows 2003 Server Enterprise SP1 Windows 2003 Server Enterprise SP2 Windows 2003 Server Enterprise R2 Windows 2003 Server DataCenter RTM Windows 2003 Server DataCenter SP1 Windows 2003 Server DataCenter SP2 Windows 2003 Server DataCenter R2 Windows Vista Home Basic N (EU) Windows Vista Home Basic Windows Vista Home Premium Windows Vista Business N (EU) Windows Vista Business Windows Vista Enterprise Windows Vista Ultimate x64 x64 x64 x64 x64 x64 x64 Windows 2008 Server Standard Windows 2008 Server Enterprise Windows 2008 Server Datacenter x64 x64 x64 x64 x64 x64 x64 Windows 2008 Web server Windows 2008 Small Business Server Windows 2008 Web server Windows 2008 Small Business Server Windows 2008 Server HPC Edition x64 x64 x64 n/a n/a n/a n/a n/a n/a n/a n/a n/a 32GB 32GB 128GB n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 4GB* 4GB* 4GB* n/a n/a n/a 2GB/8TB** 2GB/8TB** 2GB/8TB** Windows 2008 Web server Windows 2008 Server HPC Edition x64 x64 n/a n/a n/a n/a n/a n/a 32GB 128GB n/a n/a n/a n/a n/a n/a 2GB 2GB 4GB* 4GB* n/a n/a 2GB/8TB** 2GB/8TB** Windows 7 Starter Windows 7 Home Basic Windows 7 Home Premium (N) Windows 7 Professional (N) Windows 7 Enterprise (N) Windows 7 Ultimate (N) ? Y*** Y*** Y*** Y*** Y*** ? Y*** Y*** Y*** Y*** Y*** ? Y*** Y*** Y*** Y*** Y*** 2GB 4GB 4GB 4GB 4GB 4GB ? 4GB 4GB 4GB 4GB 4GB ? 4GB 4GB 4GB 4GB 4GB ? 4GB 4GB 4GB 4GB 4GB ? 2GB 2GB 2GB 2GB 2GB ? 3GB 3GB 3GB 3GB 3GB ? 2-3GB 2-3GB 2-3GB 2-3GB 2-3GB n/a n/a n/a n/a n/a n/a Windows 7 Starter Windows 7 Home Basic Windows 7 Home Premium (N) Windows 7 Professional (N) Windows 7 Enterprise (N) Windows 7 Ultimate (N) n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 8GB 16GB 192GB 192GB 192GB n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 2GB 2GB 2GB 2GB 2GB 2GB 4GB* 4GB* 4GB* 4GB* 4GB* 4GB* n/a n/a n/a n/a n/a n/a 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** 2GB/8TB** * in 64bit Windows no /3GB switch is needed in the boot.ini. But the 4GB virtual addressspace in 32bit applications is only available if IMAGE_FILE_LARGE_ADDRESS_AWARE is set in it’s executable header. Otherwise the virtual addressspace is limited to 2GB. In Windows 2003 before SP1 the virtual addressspace is max 3GB instead of 4GB. ** A 64 bit process normally has a limit of 2GB virtual addressspace. But when IMAGE_FILE_LARGE_ADDRESS_AWARE is set in it’s executable header the addressspace is 8TB for Intel-based systems (and 7TB for Itanium-based/IA64 systems). *** On Vista the /PAE and /3GB boot.ini parameters are not supported. Use the “BCDEdit /set” command instead to set boot-options: BCDEdit /set increaseuserva Megabytes (replaces /3GB and /USERVA) BCDEdit /set pae [ Default | ForceEnable | ForceDisable ] (replaces /PAE) Note that the addressspace is limited to 4GB by design even if /PAE is enabled, only use for PAE switch is AWE bankswitching **** Not sure whether /PAE isn’t supported. But because addressspace is limited to 4GB there is no use of /PAE anyway, except for use of AWE bankswitching from an application. Boot.ini options: /3GB enable that applications can use a virtual address space of 3GB. The system only uses the upper 1GB range for system calls instead of 2GB. /3GB on “Windows 2000 Professional” and “Windows 2000 Server” has the effect of reducing kernel size to 1 GB while the application address-space stays 2 GB. Application must have IMAGE_FILE_LARGE_ADDRESS_AWARE in its header to get an 3GB address-space. This is for backward compatibility with old programs which compare pointers (pointers are signed) Some DLL’s load at 2GB boundary (0x7FFFFFFF and below). This makes it impossible to have an continues address-space above 2GB. A VirtualAlloc above 2GB will fail therefore. It looks like anno 2011 Microsoft calls 3GB, 4GT instead (4-gigabyte tuning) /PAE Enable enhanced adressing mode (36bit physical addressing mode, max 64GB theoretically) Minimum processor for PAE: Intel Pentium Pro (AMD x64) /USERVA: reduce the user-address-space from 3GB downto 2GB to leave more memory for the kernel Why less than 4GB is seen by 32-bit Windows XP (and other 32-bit OS which support max 4GB and no PAE) An Intel-architecture processor (AMD included) maps I/O ports onto memory addresses. In the design of the PC the PCI/AGP I/O is started from address 0xFFFFFFFF and lower addresses. The 0xFFFFFFFF is the max address of 32bit (4GB). The size of this I/O address range is depends on the detailed design of the motherbord, BIOS and of the present PCI/AGP cards. Memory at these I/O address range cannot be addressed. Modern motherboards have a remapping option so the memory located at the I/O addresses is moved to addresses above the 0xFFFFFFFF (4GB) address. Unfortunately 4GB-32bit-Windows versions (like XP) is not able to address memory located above the 4GB boundary, now for another reason as the kernel uses 32bit words for addressing.. With PAE (uses 36bit adresses) addressing is possible but PEA is not supported by the 4GB-versions of Windows. Take for example a ASUS M2N motherboard with 8GB memory with a Geforce 8500 PCI-e card and 3 SATA x4 controllers. The remapping option can be found at BIOS->Advanced->Chipset->Memory controller->Memory configuration->Memory hole remapping. The I/O on this motherbord is located from 0x9FF49000 to 0xFFFFFFFF. Only the first 2683604992 bytes of memory can addressed below the 4GB boundary. The remapping option remaps the memory between 0x9FF49000-0xFFFFFFFF to the addresses 0x1000000000x1600B7000. We see the following: Memory reported by BIOS Memory reported by Windows XP Memory reported by 64bit (or 32bit-with-PAE) - Disabled remapping 6656MB 2559MB (2683604992 byte) 6654MB (6977695744 byte) Enable remapping 8192MB 2559MB (2683604992 byte) 8190MB (8588308480 byte) Without remapping 1536MB of memory is not seen by the BIOS as it is located at I/O addresses Remapping makes no difference for 4GB-32bit Windows as the remapped memory is out of reach. Always 1536MB is unused. On 64bit Windows or 32bit Windows with PAE the remaping results in 8GB of available memory (ca. 2MB less because of resevered kernel and BIOS memory). Methods of using large memory from within an 32 application: 1 – Specify /3GB in boot.ini and link application with IMAGE_FILE_LARGE_ADDRESS_AWARE. Use Windows versions which support PAE (Windows 2003 or equivalent). Then the virtual address spaces is increased from 2GB to theoretically 3GB. Practical you end up with two separate address ranges. Below address 0x8000000 you have about 1.5 GB and above it about 1 GB. In total 2.5 GB. Spanning your tasks over multiple processes and using interprocess communication you can use as much memory as possible. Note that the overhead for LDT’s with 4KB page size wastes a lot of memory (hundreds of MB). 2 – Use of AWE is very slow because it takes a lot of time to reload the LDT tables while switching the bank. (page size is only 4GB). Misc background information: Europe Vista versions do not have media player and media API’s (and that last one makes them unusable of course) A 64bit application’ virtual addressspace is 8TB (althrough 64bit could address 16777216 TB = 16 EB). Microsoft only reserves a “small” part of the total possible addressspace for applications, because it is so “unbelievable” large… well, the future will tell… There is no 32bit version of Windows Compute Cluster Server 2003 There are no 64bit versions of Windows 2003 Small Business Server, Windows 2003 Server Web Edition, Windows 2003 Storage Server, Windows 2003 Storage Server Enterprise Edition Availability of AWE API (bankswitching from within an application in combination with PAE, AWE is useless without PAE) Windows Version AWE API PAE support Windows NT4 Workstation Windows NT4 Server Windows NT4 Enterprise N N N N N N Windows 2000 Professional Windows 2000 Server Windows 2000 Advanced Server Windows 2000 DataCenter Y Y Y Y N N Y Y Windows XP Home Edition Windows XP Professional Y Y N N Windows 2003 Server Standard Windows 2003 Server Enterprise Windows 2003 Server DataCenter Y Y Y N Y Y Version numbers (via GetVersionEx with OSVERSIONINFOEX) Windows. 3.1 with WIN32s Windows. 3.11 with WIN32s 3.01 3.11 VER_PLATFORM_WIN32s VER_PLATFORM_WIN32s Windows 95 Windows 98 Windows Me 4.00 4.10 5,00 VER_PLATFORM_WIN32_WINDOWS VER_PLATFORM_WIN32_WINDOWS VER_PLATFORM_WIN32_WINDOWS Windows NT 3.1 Windows NT 3.51 Windows NT 4.0 Windows 2000 Windows XP Windows Server 2003 Windows Server 2003 R2 Windows Vista Windows Server 2008 3.01 3.51 4.00 5.00 5.01 5.02 5.02 6.00 6.00 VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT VER_PLATFORM_WIN32_NT GetSystemMetrics(SM_SERVERR2) == 0 GetSystemMetrics(SM_SERVERR2) != 0 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION - GetNativeSystemInfo indicates x86/x64: PROCESSOR_ARCHITECTURE_INTEL, PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA64, PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_ARCHITECTURE_ALPHA, PROCESSOR_ARCHITECTURE_PPC, PROCESSOR_ARCHITECTURE_UNKNOWN - GetProductInfo indicates: PRODUCT_BUSINESS, PRODUCT_BUSINESS_N, PRODUCT_CLUSTER_SERVER, PRODUCT_DATACENTER_SERVER, PRODUCT_DATACENTER_SERVER_CORE, PRODUCT_DATACENTER_SERVER_CORE_V, PRODUCT_DATACENTER_SERVER_V, PRODUCT_ENTERPRISE, PRODUCT_ENTERPRISE_N, PRODUCT_ENTERPRISE_SERVER, PRODUCT_ENTERPRISE_SERVER_CORE, PRODUCT_ENTERPRISE_SERVER_CORE_V, PRODUCT_ENTERPRISE_SERVER_IA64, PRODUCT_ENTERPRISE_SERVER_V, PRODUCT_HOME_BASIC, PRODUCT_HOME_BASIC_N, PRODUCT_HOME_PREMIUM, PRODUCT_HOME_PREMIUM_N, PRODUCT_HOME_SERVER, PRODUCT_HYPERV, PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT, PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING, PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY, PRODUCT_SERVER_FOR_SMALLBUSINESS, PRODUCT_SERVER_FOR_SMALLBUSINESS_V, PRODUCT_SMALLBUSINESS_SERVER, PRODUCT_STANDARD_SERVER, PRODUCT_STANDARD_SERVER_CORE, PRODUCT_STANDARD_SERVER_CORE_V, PRODUCT_STANDARD_SERVER_V, PRODUCT_STARTER, PRODUCT_STORAGE_ENTERPRISE_SERVER, PRODUCT_STORAGE_EXPRESS_SERVER, PRODUCT_STORAGE_STANDARD_SERVER, PRODUCT_STORAGE_WORKGROUP_SERVER, PRODUCT_UNDEFINED, PRODUCT_ULTIMATE, PRODUCT_ULTIMATE_N, PRODUCT_WEB_SERVER, PRODUCT_WEB_SERVER_CORE, PRODUCT_UNLICENSED - GetSystemMetrics indicates SM_MEDIACENTER, SM_STARTER, SM_TABLETPC, SM_SERVERR2 - OSVERSIONINFOEX.wProductType indicates VER_NT_WORKSTATION,VER_NT_SERVER,VER_NT_DOMAIN_CONTROLLER - OSVERSIONINFOEX.wSuiteMask indicates bitmask: VER_SUITE_BACKOFFICE, VER_SUITE_BLADE, VER_SUITE_COMPUTE_SERVER, VER_SUITE_DATACENTER, VER_SUITE_ENTERPRISE, VER_SUITE_EMBEDDEDNT, VER_SUITE_PERSONAL, VER_SUITE_SINGLEUSERTS, VER_SUITE_SMALLBUSINESS, VER_SUITE_SMALLBUSINESS_RESTRICTED, VER_SUITE_STORAGE_SERVER, VER_SUITE_TERMINAL, VER_SUITE_WH_SERVER Determine usable Vista version (64bit) Version Home Basic / Premium Business Enterprise Ultimate Max Memory 8GB/16GB 128GB 128GB 128GB Remote desktop No Yes Yes Yes Remote desktop is a must in order to reach you computer when not at home. There is no advantage of Enterprice/Ultimate on top of Business, except perhaps for Virtual PC support, MediaCenter and MUA support (on-the-flight change of display language, which does not realy change everything anyway). The N-versions are ofcourse in any way unusable. So the best choice is Vista Business. References KB283037: KB810371: KB171793: KB316739: KB294418: /3GB option /USERVA option, exchange server /3GB option /USERVA option Comparison of 32-bit and 64-bit memory architecture for 64-bit editions of Windows XP and Windows Server 2003 Inside SQL Server 2000's Memory Management Facilities http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqldev/html/sqldev_01262004.asp The following references are included in this document: PAE, WHDC: Memory Support and Windows Operating Systemss http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx KB294418: Comparison of 32-bit and 64-bit memory architecture for 64-bit editions of Windows XP and Windows Server 2003 http://support.microsoft.com/kb/294418 3GB boot.ini option http://msdn.microsoft.com/en-us/library/ms791558.aspx BCDEdit Vista boot parameters tool http://msdn.microsoft.com/en-us/library/aa906211.aspx Memory Limits for Windows Releases http://msdn.microsoft.com/en-us/library/aa366778.aspx Windows Vista Starter Fact Sheet http://www.microsoft.com/presspass/newsroom/windows/factsheets/WinVistaStarterFS.mspx Vista versions http://windowsitpro.com/article/articleid/47669/pre-pdc-exclusive-windows-vista-processor-and-memory-support-revealed.html Windows Vista Product Editions http://www.winsupersite.com/showcase/winvista_editions_final.asp Operating Systems and PAE Support http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx Memory Limits for Windows Releases http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx Memory Limits for Windows Releases http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx Memory Limits for Windows Releases This topic describes memory limits for supported Windows releases: Memory and Address Space Limits Physical Memory Limits: Windows 7 Physical Memory Limits: Windows Server 2008 R2 Physical Memory Limits: Windows Server 2008 Physical Memory Limits: Windows Vista Physical Memory Limits: Windows Home Server Physical Memory Limits: Windows Server 2003 R2 Physical Memory Limits: Windows Server 2003 with Service Pack 2 (SP2) Physical Memory Limits: Windows Server 2003 with Service Pack 1 (SP1) Physical Memory Limits: Windows Server 2003 Physical Memory Limits: Windows XP Physical Memory Limits: Windows 2000 Physical Memory Limits: Windows Embedded How graphics cards and other devices affect memory limits Related Topics Limits on memory and address space vary by platform, operating system, and by whether the IMAGE_FILE_LARGE_ADDRESS_AWARE value of the LOADED_IMAGE structure and 4-gigabyte tuning (4GT) are in use. IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by using the /LARGEADDRESSAWARE linker option. 4-gigabyte tuning (4GT), also known as application memory tuning, or the /3GB switch, is a technology (only applicable to 32 bit systems) that alters the amount of virtual address space available to user mode applications. Enabling this technology reduces the overall size of the system virtual address space and therefore system resource maximums. For more information, see What is 4GT. Limits on physical memory for 32-bit platforms also depend on the Physical Address Extension (PAE), which allows 32-bit Windows systems to use more than 4 GB of physical memory. 1.1.1 Memory and Address Space Limits The following table specifies the limits on memory and address space for supported releases of Windows. Unless otherwise noted, the limits in this table apply to all supported releases. Memory type Limit in on X86 Limit in 64-bit Windows User-mode virtual address space for each 32-bit process 2 GB Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default) 4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set User-mode virtual address space for each 64-bit process Not applicable With IMAGE_FILE_LARGE_ADDRESS_AWARE set (default): x64: 8 TB Intel IPF: 7 TB 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared Kernel-mode virtual address space 2 GB From 1 GB to a maximum of 2 GB with 4GT 8 TB Paged pool Limited by available kernel-mode virtual address space or the PagedPoolLimit registry key value. Windows Vista and above: Limited only by kernel mode virtual address space. Starting with Windows Vista with Service Pack 1 (SP1), the paged pool can also be limited by the PagedPoolLimit registry key value. Windows Home Server and Windows Server 2003: 530 MB Windows XP: 490 MB Windows 2000: 350 MB 128 GB Windows Server 2003 and Windows XP: Up to 128 GB depending on configuration and RAM. Windows PAE: Memory Support and Windows Operating Systemss http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx Memory Support and Windows Operating Systems Updated: February 9, 2005 Operating systems based on Microsoft Windows NT technologies have always provided applications with a flat 32-bit virtual address space that describes 4 gigabytes (GB) of virtual memory. The address space is usually split so that 2 GB of address space is directly accessible to the application and the other 2 GB is only accessible to the Windows executive software. The 32-bit versions of the Windows 2000 Advanced Server and Windows NT Server 4.0, Enterprise Edition, operating systems were the first versions of Windows to provide applications with a 3-GB flat virtual address space, with the kernel and executive components using only 1 GB. In response to customer requests, Microsoft has expanded the availability of this support to the 32-bit version of Windows XP Professional and all 32-bit versions of Windows Server 2003. Windows 2000 Memory Support. With Windows 2000 Professional and Server, the maximum amount of memory that can be supported is 4 GB (identical to Windows NT 4.0, as described later in this section). However, Windows 2000 Advanced Server supports 8 GB of physical RAM and Windows 2000 Datacenter Server supports 32 GB of physical RAM using the PAE feature of the IA-32 processor family, beginning with Intel Pentium Pro and later. Windows XP Professional and Windows Server 2003 Memory Support. The maximum amount of memory that can be supported on Windows XP Professional and Windows Server 2003 is also 4 GB. However, Windows Server 2003, Enterprise Edition supports 32 GB of physical RAM and Windows Server 2003, Datacenter Edition supports 64 GB of physical RAM using the PAE feature. The virtual address space of processes and applications is still limited to 2 GB unless the /3GB switch is used in the Boot.ini file. When the physical RAM in the system exceeds 16 GB and the /3GB switch is used, the operating system will ignore the additional RAM until the /3GB switch is removed. This is because of the increased size of the kernel required to support more Page Table Entries. The assumption is made that the administrator would rather not lose the /3GB functionality silently and automatically; therefore, this requires the administrator to explicitly change this setting. The /3GB switch allocates 3 GB of virtual address space to an application that uses IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header. This switch allows applications to address 1 GB of additional virtual address space above 2 GB. The virtual address space of processes and applications is still limited to 2 GB, unless the /3GB switch is used in the Boot.ini file. The following example shows how to add the /3GB parameter in the Boot.ini file to enable application memory tuning: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="????" /3GB Note: "????" in the previous example can be the programmatic name of any of the following operating system versions: Windows XP Professional Windows Server 2003 Windows Server 2003, Enterprise Edition Windows Server 2003, Datacenter Edition Windows 2000 Advanced Server Windows 2000 Datacenter Server Windows NT Server 4.0, Enterprise Edition Windows NT 4.0 Memory Support. With Microsoft Windows NT 4.0 Workstation and Server operating systems, the maximum amount of physical memory supported is 4 GB. The maximum amount of virtual memory is 2 GB. With Windows NT 4.0 Server, Enterprise Edition, the /3GB switch was first added to Boot.ini. Application Memory Tuning. This capability allows memory-intensive applications to utilize up to 50 percent more virtual memory on Intelbased computers. Application memory tuning provides more of the computer's virtual memory to applications by providing less virtual memory to the operating system. Application Changes. No APIs are required to support application memory tuning. However, it would be ineffective to automatically provide every application with a 3-GB address space. Executables that can use the 3-GB address space are required to have the bit IMAGE_FILE_LARGE_ADDRESS_AWARE set in their image header. If you are the developer of the executable, you can specify a linker flag (/LARGEADDRESSAWARE). To set this bit, you must use Microsoft Visual Studio Version 6.0 or later and the Editbin.exe utility, which has the ability to modify the image header (/LARGEADDRESSAWARE) flag. For more information on setting this flag, see the Microsoft Visual Studio documentation. Some manufacturers preconfigure their applications to use application memory tuning, making it unnecessary for you to make this change. For more information, see your application documentation and contact your application vendor to determine whether they support Large Address Awareness or whether you can enable it in their application. Physical Address Extension. PAE is an Intel-provided memory address extension that enables support of up to 64 GB of physical memory for applications running on most 32-bit (IA-32) Intel Pentium Pro and later platforms. Support for PAE is provided under Windows 2000 and 32-bit versions of Windows XP and Windows Server 2003. 64-bit versions of Windows do not support PAE. PAE allows the most recent IA-32 processors to expand the number of bits that can be used to address physical memory from 32 bits to 36 bits through support in the host operating system for applications using the Address Windowing Extensions (AWE) application programming interface (API). More information about the AWE API can be found at the MSDN Library. KB294418: Comparison of 32-bit and 64-bit memory architecture for 64-bit editions of Windows XP and Windows Server 2003 http://support.microsoft.com/kb/294418 MORE INFORMATION Virtual memory This is a method of extending the available physical memory on a computer. In a virtual memory system, the operating system creates a pagefile, or swapfile, and divides memory into units called pages. Recently referenced pages are located in physical memory, or RAM. If a page of memory is not referenced for a while, it is written to the pagefile. This is called "swapping" or "paging out" memory. If that piece of memory is then later referenced by a program, the operating system reads the memory page back from the pagefile into physical memory, also called "swapping" or "paging in" memory. The total amount of memory that is available to programs is the amount of physical memory in the computer in addition to the size of the pagefile. An important consideration in the short term is that even 32-bit applications will benefit from increased virtual memory address space when they are running in Windows x64 Editions. Applications that are compiled with the /LARGEADDRESSAWARE option, as would be required to take advantage of the /3GB switch in 32-bit Windows, will automatically be able to address 4 GB of virtual memory without any boot time switches or changes to x64 Windows. Plus, of course, the operating system does not have to share that 4 GB of space. Therefore, it is not constrained at all. Back to the top Paging file This is a disk file that the computer uses to increase the amount of physical storage for virtual memory. Back to the top Hyperspace This is a special region that is used to map the process working set list and to temporarily map other physical pages for such operations as zeroing a page on the free list (when the zero list is empty and the zero page is needed), invalidating page table entries in other page tables (such as when a page is removed from the standby list), and in regards to process creation, setting up the address space of a new process. Back to the top Paged pool This is a region of virtual memory in system space that can be paged in and out of the working set of the system process. Paged pool is created during system initialization and is used by Kernel-mode components to allocate system memory. Uniproccessor systems have two paged pools, and multiprocessor systems have four. Having more than one paged pool reduces the frequency of system code blocking on simultaneous calls to pool routines. Back to the top Non-paged pool This is a memory pool that consists of ranges of system virtual addresses that are guaranteed to be resident in physical memory at all times and thus can be accessed from any address space without incurring paging input/output (I/O). Non-paged pool is created during system initialization and is used by Kernel-mode components to allocate system memory. Back to the top System cache These are pages that are used to map open files in the system cache. Back to the top System PTEs A pool of system Page Table Entries (PTEs) that is used to map system pages such as I/O space, Kernel stacks, and memory descriptor lists. 64-bit programs use a 16-terabyte tuning model (8 terabytes User and 8 terabytes Kernel). 32-bit programs still use the 4-GB tuning model (2 GB User and 2 GB Kernel). This means that 32-bit processes that run on 64-bit versions of Windows run in a 4-GB tuning model (2 GB User and 2GB Kernel). 64-bit versions of Windows do not support the use of the /3GB switch in the boot options. Theoretically, a 64bit pointer could address up to 16 exabytes. 64-bit versions of Windows have currently implemented up to 16 terabytes of address space. 3GB boot.ini option http://msdn.microsoft.com/en-us/library/ms791558.aspx /3GB On 32-bit versions of Windows, the /3GB parameter enables 4 GT RAM Tuning, a feature that enlarges the user-mode virtual address space to 3 GB and restricts the kernel-mode components to the remaining 1 GB. /3GB [ /userva=SizeInMB ] 1.1.1.1 Subparameters /userva Specifies an alternate amount of user-mode virtual address space for operating systems booted with the /3GB parameter. SizeInMB Specifies the amount of memory, in megabytes, for user-mode virtual address space. This variable can have any value between 2048 (2 GB) and 3072 (3 GB) megabytes in decimal notation. Windows uses the remaining address space (4 GB minus the specified amount) as its kernel-mode address space. 1.1.1.2 Comments The /3GB parameter is supported on Windows Server 2003, Windows XP, Windows 2000, and Windows NT. On Windows Vista and later versions of Windows, use the IncreaseUserVA element in BCDEdit. On Windows, by default, the lower 2 GB are reserved for user-mode programs and the upper 2 GB are reserved for kernel-mode programs. You can use this parameter to test the performance of your driver when it is running in a 1 GB kernel. The 4 GT RAM Tuning feature is fully functional on Microsoft Windows NT Server 4.0, Enterprise Edition with Service Pack 3, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Datacenter Server, and all editions of Windows XP, Windows Server 2003, Windows Vista, and later versions of Windows. On other versions of Windows NT and Windows 2000, this feature restricts the kernel to addresses above the 3 GB boundary. However, user-mode applications cannot access more than 2 GB of address space. The /userva subparameter is designed for computers that need more than 2 GB but less than 3 GB of user-mode address space, particularly those that are running memory-intensive user-mode programs. When used without the /3GB parameter, /userva is ignored. The /3GB and /userva parameters are valid only on boot entries for 32-bit versions of Windows on computers with x86 or x64-based processors. To take advantage of the 3 GB available to user-mode programs, the program must be linked with the /LARGEADDRESSAWARE option. On 64-bit versions of Windows Server 2003, the system automatically expands the virtual address space available to 32-bit user-mode programs linked with the /LARGEADDRESSAWARE option as needed without the /3GB boot parameter. On Windows Server 2003 RTM (without Service Pack 1), these 32-bit programs can access up to 3 GB of virtual address space. On Windows Server 2003 with Service Pack 1, they can access up to 4 GB of virtual address space. Native 64-bit user-mode programs can access up to 8 TB of virtual address space. Booting with the /3GB parameter decreases the amount of kernel virtual address space on the system. In order to fit all of the kernel resources within the remaining 1 GB of virtual memory, NT-based Windows operating systems prior to Windows Vista, Windows restricts physical memory to frames below the 16 GB physical boundary and on Windows Vista, it restricts physical memory to frames below the 64 GB boundary. Because allocation of memory resources in Windows Vista is dynamic and, therefore, more adaptable and efficient, the system can devote more memory space to addressing, thereby accommodating more physical memory. The following table lists the physical memory limits of 32-bit Windows operating systems that support the use of more than 4 GB of physical memory with and without the /3GB boot parameter. Operating system Physical memory limit without /3GB Physical memory limit with /3GB Windows Vista 4 GB 4 GB (no effect) Windows Vista, Datacenter Edition 128 GB 64 GB Windows Server 2003, Enterprise Edition 32 GB 16 GB Windows Server 2003, Enterprise Edition SP1 64 GB 16 GB Windows Server 2003, Datacenter Edition 128 GB 16 GB Windows Server 2003, Datacenter Edition SP1 128 GB 16 GB Windows XP (all editions) 4 GB 4 GB (no effect) On Windows XP, some drivers, especially video adapter drivers with onboard RAM, cannot run with the /3GB parameter because they require more address space than the 1 GB kernel address space permits. 1.1.1.3 Examples multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB /userva=3030 1.1.1.4 Bootcfg Commands bootcfg /raw "/3GB" /A /ID 1 bootcfg /raw "/3GB /userva=3030" /A /ID 2 BCDEdit Vista boot parameters tool http://msdn.microsoft.com/en-us/library/aa906211.aspx BCDEdit /set The /set command sets a boot entry option value in the boot configuration data store. Use this command to configure specific boot entry elements, such as kernel debugger settings, data execution protection (DEP) and processor address extension (PAE) options, and to load alternate hardware abstraction layer (HAL) and kernel files. bcdedit /set [{ID}] datatype value 1.1.1.5 Parameters [{ID} The {ID} is the GUID that is associated with the boot entry. If you do not specify an {ID}, the command modifies the current operating system boot entry. If a boot entry is specified, the GUID associated with the boot entry must be enclosed in braces { }. To view the GUID identifiers for all of the active boot entries, use the bcdedit /enum command. 1.1.1.6 datatype value bootlog [ yes | no] Enables the system initialization log. hal file Directs the operating system loader to load an alternate HAL file. The specified file must be located in the %SystemRoot%\system32 directory, and its file name must conform to 8.3−character format. increaseuserva Megabytes Specifies the amount of memory, in megabytes, for user-mode virtual address space. This variable can have any value between 2048 (2 GB) and 3072 (3 GB) megabytes in decimal notation. Windows uses the remaining address space (4 GB minus the specified amount) as its kernel-mode address space. kernel file Directs the operating system loader to load an alternate kernel. The specified file must be located in the %SystemRoot%\system32 directory, and its file name must conform to 8.3−character format. loadoptions /busparams=Bus.Device.Function Specifies the target controller when multiple controllers exist. This syntax is appropriate when using either a 1394 cable or a USB 2.0 debug cable for debugging. Bus specifies the bus number, Device specifies the device number, and Function specifies the function number. For USB 2.0 debugging ,the bus parameters must be specified in hexadecimal. For 1394 debugging, the bus parameters must be specified in decimal. nolowmem [ on | off ] Controls the use of low memory. When nolowmem on is specified, this option loads the operating system, device drivers, and all applications into addresses above the 4 GB boundary, and directs Windows to allocate all memory pools at addresses above the 4 GB boundary. nx [Optin |OptOut | AlwaysOn |AlwaysOff] Enables, disables, and configures Data Execution Prevention (DEP), a set of hardware and software technologies designed to prevent harmful code from running in protected memory locations. For information about how to use the Control Panel to change the DEP settings, see the Change Data Execution Prevention settings page on the Windows Help and How-to Web site. Optin Enables DEP only for operating system components, including the Windows kernel and drivers. Administrators can enable DEP on selected executable files by using the Application Compatibility Toolkit (ACT). Optout Enables DEP for the operating system and all processes, including the Windows kernel and drivers. However, administrators can disable DEP on selected executable files by using System in Control Panel. AlwaysOn Enables DEP for the operating system and all processes, including the Windows kernel and drivers. All attempts to disable DEP are ignored. AlwaysOff Disables DEP. Attempts to enable DEP selectively are ignored. On Windows Vista, this parameter also disables Physical Address Extension (PAE). This parameter does not disable PAE on Windows Server 2008. onecpu [ on | off ] Forces only the boot CPU to be used in a computer that has more than one logical processor. For example, the following command configures the current operating system loader to use one processor. bcdedit /set onecpu on pae [ Default | ForceEnable | ForceDisable ] The pae parameter is valid only on boot entries for 32-bit versions of Windows that run on computers with x86-based and x64based processors. On 32-bit versions of Windows, PAE is disabled by default. However, Windows automatically enables PAE when the computer is configured for hot-add memory devices in memory ranges beyond the 4 GB region, as defined by the Static Resource Affinity Table (SRAT). Hot-add memory supports memory devices that you can add without rebooting or turning off the computer. In this case, because PAE must be enabled when the system starts, it is enabled automatically so that the system can immediately address extended memory that is added between restarts. Hot-add memory is supported only on Windows Server 2008, Enterprise Edition, Windows Server 2003, Enterprise Edition and Windows Server 2003, Datacenter Edition, and only on computers with an ACPI BIOS, an x86-based processor, and specialized hardware. On a computer that supports hardware-enabled Data Execution Prevention (DEP) and is running a 32-bit version of the Windows operating system that supports DEP, PAE is automatically enabled when DEP is enabled and, on all 32-bit versions of the Windows operating system, except Windows Server 2003 with SP1, PAE is disabled when you disable DEP. To enable PAE when DEP is disabled, you must enable PAE explicitly, by using /set nx AlwaysOff and /set pae ForceEnable. For more information about DEP, see Boot Parameters to Configure DEP and PAE PAE is required to support Cache Coherent Non-Uniform Memory Architecture (known as ccNUMA or NUMA) on computers with x86 processors, although Windows can run in non-NUMA mode on NUMA-capable computers without PAE. Even when it is required, PAE is not enabled automatically. NUMA is supported in all editions of Windows XP and Windows Vista, and in the Enterprise and Datacenter editions of Windows Server 2003. For more information about using the pae parameter and the other parameters that affect PAE configuration, see Boot Parameters to Configure DEP and PAE. If you are running a 32-bit version of Windows Vista on a computer that has 4 GB of memory installed, the amount of RAM available for use could be less than what you would expect. For more information about memory usage, see article Q929605, "The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed" in the Microsoft Knowledge Base. quietboot [ on | off ] Controls the display of a high-resolution bitmap in place of the Windows boot screen display and animation. In operating systems prior to Windows Vista, the /noguiboot serves a similar function. removememory Megabytes Removes memory from the total available memory that the operating system can use. For example, the following command removes 256 MB of memory from the total available to the operating system associated with the specified boot entry. bcdedit /set {49916baf-0e08-11db-9af4-000bdbd316a0} removememory 256 sos [ on | off ] Controls the display of the names of the drivers as they load during the boot process. Use sos on to display the names. Use sos off to suppress the display. truncatememory address Limits the amount of physical memory available to Windows. When you use this option, Windows ignores all memory at or above the specified physical address. Specify the address in bytes. For example, the following command sets the physical address limit at 1 GB. You can specify the address in decimal (1073741824) or hexadecimal (0x40000000). bcdedit /set {49916baf-0e08-11db-9af4-000bdbd316a0} truncatememory Ox40000000 usefirmwarepcisettings [ yes | no ] Enables or disables the use of BIOS-configured peripheral component interconnect (PCI) resources. vga [ on | off ] Forces the use of the VGA display driver. 1.1.1.7 Comment For more information about specific BCD elements and boot options, you can use the commands BCDEdit /? OSLOADER and BCDEdit /? TYPES OSLOADER. To view the current boot entries and their settings, use the bcdedit /enum command. This command displays the active boot entries and their associated globally unique identifiers (GUID). Use the identifiers with the /set command to configure options for a specific boot entry. For information about commonly used BCDEdit commands, see Boot Configuration Data Editor Frequently Asked Questions Memory Limits for Windows Releases http://msdn.microsoft.com/en-us/library/aa366778.aspx Memory Limits for Windows Releases This topic describes memory limits for supported Windows releases: Memory and Address Space Limits Physical Memory Limits: Windows Server 2008 Physical Memory Limits: Windows Vista Physical Memory Limits: Windows Home Server Physical Memory Limits: Windows Server 2003 Physical Memory Limits: Windows XP Physical Memory Limits: Windows 2000 Limits on memory and address space vary by platform, operating system, and by whether the IMAGE_FILE_LARGE_ADDRESS_AWARE value of the LOADED_IMAGE structure and 4-gigabyte tuning (4GT) are in use. Limits on physical memory for 32-bit platforms also depend on the Physical Address Extension (PAE), which allows 32-bit Windows systems to use more than 4 GB of physical memory. 1.1.2 Memory and Address Space Limits The following table specifies the limits on memory and address space for supported releases of Windows. Memory type Limit in 32-bit Windows Limit in 64-bit Windows User-mode virtual address space for each 32-bit process 2 GB Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT 2 GB 4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE User-mode virtual address space for each 64-bit process Not applicable 2 GB x64: 8 TB with IMAGE_FILE_LARGE_ADDRESS_AWARE Intel IPF: 7 TB with IMAGE_FILE_LARGE_ADDRESS_AWARE Kernel-mode virtual address space 2 GB From 1 GB to a maximum of 2 GB with 4GT 8 TB Paged pool Limited by available kernel-mode virtual address space or the PagedPoolLimit registry key value. Windows Vista: Limited only by kernel mode virtual address space. Starting with Windows Vista Service Pack 1 (SP1), the paged pool can also be limited by the PagedPoolLimit registry key value. Windows Home Server and Windows Server 2003: 530 MB Windows XP: 490 MB Windows 2000: 350 MB 128 GB Windows Server 2003 and Windows XP: Up to 128 GB depending on configuration and RAM. Windows 2000: Not applicable Nonpaged pool Limited by available kernel-mode virtual address space, the NonPagedPoolLimit registry key value, or physical memory. Windows Vista: Limited only by kernel mode virtual address space and physical memory. Starting with Windows Vista SP1, the nonpaged pool can also be limited by the NonPagedPoolLimit registry key value. Windows Home Server, Windows Server 2003, and Windows XP/2000: 256 MB, or 128 MB with 4GT. 75% of RAM up to a maximum of 128 GB Windows Vista: 40% of RAM up to a maximum of 128 GB. Windows Server 2003 and Windows XP: Up to 128 GB depending on configuration and RAM. Windows 2000: Not applicable System cache virtual address space (physical size limited only by physical memory) Limited by available kernel-mode virtual address space or the SystemCacheLimit registry key value. Windows Vista: Limited only by kernel mode virtual address space. Starting with Windows Vista SP1, system cache virtual address space can also be limited by the SystemCacheLimit registry key value. Windows Home Server, Windows Server 2003, and Windows XP/2000: 860 MB with LargeSystemCache registry key set and without 4GT; up to 448 MB with 4GT. Always 1 TB regardless of physical RAM Windows Server 2003 and Windows XP: Up to 1 TB depending on configuration and RAM. Windows 2000: Not applicable 1.1.3 Physical Memory Limits: Windows Server 2008 The following table specifies the limits on physical memory for Windows Server 2008. Limits greater than 4 GB for 32-bit Windows assume that PAE is enabled. Version Limit in 32-bit Windows Limit in 64-bit Windows Windows Server 2008 Datacenter (full installation) 64 GB 2 TB Windows Server 2008 Datacenter (Server Core installation) 64 GB 2 TB Windows Server 2008 Enterprise 64 GB 2 TB Windows Server 2008 Standard 4 GB 32 GB Windows Server 2008 for Itanium-Based Systems Not applicable 2 TB Windows Web Server 2008 4 GB 32 GB 1.1.4 Physical Memory Limits: Windows Vista The following table specifies the limits on physical memory for Windows Vista. Version Limit in 32-bit Windows Limit in 64-bit Windows Windows Vista Ultimate 4 GB 128 GB Windows Vista Enterprise 4 GB 128 GB Windows Vista Business 4 GB 128 GB Windows Vista Home Premium 4 GB 16 GB Windows Vista Home Basic 4 GB 8 GB Windows Vista Starter 4 GB Not applicable 1.1.5 Physical Memory Limits: Windows Home Server Windows Home Server is available only in a 32-bit edition. The physical memory limit is 4 GB. 1.1.6 Physical Memory Limits: Windows Server 2003 The following table specifies the limits on physical memory for Windows Server 2003. Limits over 4 GB for 32-bit Windows assume that PAE is enabled. Version Limit in 32-bit Windows Limit in 64-bit Windows Windows Server 2003 Service Pack 2 (SP2), Datacenter Edition 128 GB 64 GB with 4GT 2 TB Windows Server 2003 Service Pack 2 (SP2), Enterprise Edition 64 GB 2 TB Windows Storage Server 2003, Enterprise Edition 8 GB Not applicable Windows Storage Server 2003 4 GB Not applicable Windows Server 2003 R2 Datacenter Edition Windows Server 2003 with Service Pack 1 (SP1), Datacenter Edition 128 GB 16 GB with 4GT 1 TB Windows Server 2003 R2 Enterprise Edition Windows Server 2003 with Service Pack 1 (SP1), Enterprise Edition 64 GB 16 GB with 4GT 1 TB Windows Server 2003 R2 Standard Edition Windows Server 2003, Standard Edition SP1 Windows Server 2003, Standard Edition SP2 4 GB 32 GB Windows Server 2003, Datacenter Edition 128 GB 16 GB with 4GT 512 GB Windows Server 2003, Enterprise Edition 32 GB 16 GB with 4GT 64 GB Windows Server 2003, Standard Edition 4 GB 16 GB Windows Server 2003, Web Edition 2 GB Not applicable Windows Small Business Server 2003 4 GB Not applicable Windows Compute Cluster Server 2003 Not applicable 32 GB 1.1.7 Physical Memory Limits: Windows XP The following table specifies the limits on physical memory for Windows XP. Version Limit in 32-bit Windows Limit in 64-bit Windows Windows XP 4 GB 128 GB Windows XP Starter Edition 512 MB Not applicable 1.1.8 Physical Memory Limits: Windows 2000 The following table specifies the limits on physical memory for Windows 2000. Version Limit in 32-bit Windows Windows 2000 Professional 4 GB Windows 2000 Server 4 GB Windows 2000 Advanced Server 8 GB Windows 2000 Datacenter Server 32 GB Architectural component 64-bit Windows 32-bit Windows Virtual memory 16 terabytes 4 GB Paging file size 256 terabytes 16 terabytes Hyperspace 8 GB 4 MB Paged pool 128 GB 470 MB Non-paged pool 128 GB 256 MB System cache 1 terabyte 1 GB System PTEs 128 GB 660 MB Operating Systems and PAE Support http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx Operating Systems and PAE Support Updated: July 14, 2006 1.1.8.1.2 On This Page 1.1.8.1.1 Related Links PAE: 32- vs. 64-Bit Systems • PAE Memory and Windows Technical Background Operating System Implementation and Application Support Technical Issues with Large Memory Support in IA32 Windows and PAE 1.2 PAE: 32- vs. 64-Bit Systems Addressing physical memory above 4 GB requires more than the 32 bits of address offered by the standard operating mode of Intel (32-bit) processors. To this end, Intel introduced the 36-bit physical addressing mode called PAE, starting with the Intel Pentium Pro processor. This article describes some techniques that Microsoft Windows operating systems and several UNIX operating systems use to provide support to applications using PAE mode addressing. Because processes running in these environments have 32-bit pointers, the operating system must manage and present PAE's 36 bits of address in such a way that the applications can practically use it. The key question is: how does the operating system solve this problem? The performance, functionality, simplicity of programming, and reliability of how these issues are handled will determine the usefulness of the large memory support. PAE is supported only on 32-bit versions of the Windows operating system; 64-bit versions of Windows do not support PAE. For information about device driver and system requirements for 64-bit versions of Windows, see 64-bit System Design. The Address Windowing Extension (AWE) API is supported on 32-bit systems. It is also supported on x64 systems for both native and Wow64 applications. Although support for PAE memory is typically associated with support for more than 4 GB of RAM, PAE can be enabled on Windows XP SP2, Windows Server 2003, and later 32-bit versions of Windows to support hardware-enforced Data Execution Prevention (DEP). The information in this article applies to Windows 2000, Windows XP Professional, Windows Server 2003, and later versions of these operating systems, referred to as "Windows" in this paper. Top of page 1.3 Technical Background Address Translation in standard 32-bit mode All IA-32 processors (Intel Pentium, Pentium Pro, Pentium II Xeon, and Pentium III Xeon) support 32 bits of physical address (4 GB), allowing applications to address 4 GB of virtual address when they are running. The system must translate the 32-bit virtual address that the applications and operating system use to the 32-bit physical address used by the hardware. (Pentium Pro was the first processor in the IA-32 family to support PAE, but chipset support is also required for 36-bit physical addresses, which was usually lacking.) Windows uses two levels of mapping to do the translation, which is facilitated by a set of data structures called page directories and page tables that the memory manager creates and maintains. PSE Mode IA-32 supports two methods to access memory above 4 GB (32 bits). PSE (Page Size Extension) was the first method, which shipped with the Pentium II. This method offers a compatibility advantage because it kept the PTE (page table entry) size of 4 bytes. However, the only practical implementation of this is through a driver. This approach suffers from significant performance limitations, due to a buffer copy operation necessary for reading and writing above 4 GB. PSE mode is used in the PSE 36 RAM disk usage model. PSE uses a standard 1K directory and no page tables to extend the page size 4-MB (eliminating one level of indirection for that mode). The Page Directory Entries (PDE) contains 14 bits of address, and when combined with the 22-bit byte index, yields the 36 bits of extended physical address. Both 4-KB and 4-MB pages are simultaneously supported below 4 GB, with the 4-KB pages supported in the standard way. Note that pages located above 4 GB must use PSE mode (with 4-MB page sizes). PAE Mode PAE is the second method supported to access memory above 4 GB; this method has been widely implemented. PAE maps up to 64 GB of physical memory into a 32-bit (4 GB) virtual address space using either 4-KB or 2-MB pages. The Page directories and the page tables are extended to 8 byte formats, allowing the extension of the base addresses of page tables and page frames to 24 bits (from 20 bits). This is where the extra four bits are introduced to complete the 36-bit physical address. Windows supports PAE with 4-KB pages. PAE also supports a mode where 2-MB pages are supported. Many of the UNIX operating systems rely on the 2 MB-page mode. The address translation is done without the use of page tables (the PDE supplies the page frame address directly). Top of page 1.4 Operating System Implementation and Application Support The next issue is how the operating system can manage and present PAE's 36 bits of address in such a way that an application (with 32-bit pointers) can practically use the additional memory. There are five application support models. The first two models (Server Consolidation and Large Cache) are completely handled within the operating system and require no changes to the application. The second two models (Application Windowing and Process Fork) require application changes to support API extensions for large memory. The last model (PSE 36 RAM Disk) requires no changes to the operating system (implemented in a driver), but mandates application changes to support the driver. 1. Server Consolidation A PAE-enabled operating system should be capable of utilizing all physical memory provided by the system to load multiple applications; for example, App#1, App#2, App #N, each consisting of 4 GB (maximum) of virtual address. In a non-PAE enabled system, the result can be a great deal of paging, since maximum physical memory in the system is limited to 4 GB. With the additional physical memory supported under PAE mode, an operating system can keep more of these applications in memory without paging. This is valuable in supporting server consolidation configurations, where support of multiple applications in a single server is typically required. Note that no application changes are required to support this capability. 2. Large Cache Using additional PAE-enabled memory for a data cache is also possible. If the operating system supports this feature, applications need not be recoded to take advantage of it. Windows Advanced Server and Datacenter Server support caching on a PAE platform and can utilize all of the available memory. 3. Application Windowing A PAE-enabled operating system can introduce an API to allow a properly coded application access to physical memory anywhere in the system, even though it may be above 4 GB. Ideally, the API to allocate "high" physical memory and create or move the window should be quick and simple to code. This is highly advantageous for applications that require fast access to large amounts of data in memory. Sharing high memory between processes can introduce quite a bit of complexity into the API and the implementation. Windows avoids this kind of sharing. In addition, the support of paging makes the design and implementation of the operating system much more difficult and makes deterministic performance more difficult to achieve. Windows avoids paging of high memory as well. 4. Process Fork and Shared Memory This application support model splits the current process into two or more nearly identical copies. A copy is made of the user and system stacks, the allocated data space, and the registers. The major difference is that one has the Process ID (PID) of the parent; the other has a new PID. The fork returns a value that is a PID. The PID is zero for the copy that is the child or for the PID of the child for the copy that is the parent. 5. PSE36 RAM Disk Through use of a kernel device driver, much like a RAM disk, it is possible to utilize memory above 4 GB with no change whatsoever to the operating system. Compatibility between the base operating system (running in 32-bit mode) and the driver (running in PAE mode) is maintained since the page tables are kept at 4 bytes wide. The trade-offs for this very low development impact are several: • • • Performance degrades due to all I/O being forced to perform double buffering. Application development impact is not appreciably less than that required for current APIs. It cannot be used as a "consolidation server" because all applications share the same 4 GB physical memory space. Design Implementation The operating system implementations for large memory support must directly address these issues in order to be successful. The simplicity, reliability, and performance of the operating system will be directly impacted, based on the design choices made in handling these issues. Top of page 1.5 Technical Issues with Large Memory Support in IA32 Memory Sharing and Inter-Process Communications In all cases where memory remap is being used for allocating memory to processes, which is common to many PAE variants, memory sharing is problematic. The physical memory being remapped is "outside" the process virtual address space. Thus, the physical memory is less connected to the process in the sense of sharing the process's internal access and security controls, as well as those provided by the operating system. To apply access and security controls, it is necessary to greatly increase the bookkeeping required of the operating system memory manager as well as the API set the application developer must use. This negatively impacts the high performance possible using very fast remap operations. It is also important to remember that IPC/memory sharing may still take place between two processes' virtual address spaces in any case, regardless of the physically mapped memory each may be using. TLB Shoot-down Translation Look-aside Buffers (TLBs) are processor registers, or a cache, that provides a direct logical-to-physical mapping of page table entries. Once loaded, the processor has to read the page directories very infrequently (TLB misses) unless a task switch occurs. During a remap operation, it is necessary to ensure that all processors have valid logical-to-physical mapping on chip. Therefore, remap operations require a TLB shoot-down, because the logical-to-physical association is invalidated by the remap (where "logical" = the application/process view of memory). There is a performance impact while the processor (or processors) reload the TLB. All operating systems have this issue, and in the case of PAE memory support, they ameliorate the issue in different ways: • • Windows provides the ability for a single application to "batch" the remap operations required so that all happen simultaneously and only cause one TLB shoot-down and one performance dip instead of random remaps, each of which would impact performance. This is quite adequate for large applications, which are typically running on single-purpose systems. Other operating systems provide "victim" buffers or allow one process to share another process's mappings, but at a cost of more synchronization and API complexity. Windows XP also provides this "batch" or Scatter/Gather functionality. Additionally, performance of these operations has been improved for Windows Server 2003, Enterprise Edition and Datacenter Edition. I/O At one level or another, all the PAE variants support both 32-bit and 64-bit DMA I/O devices with the attendant drivers. However, there are a number of provisos and conditions. Kernel and memory organization Typically, kernel memory space organization is unchanged from the standard kernel for the operating system. In many cases, items such as the memory pool size remain the same. For backward compatibility, PCI base address registers (BARs) remain the same. Larger memory sizes cause some shifting of kernel address space, usually when between 16 GB and 32 GB of memory is physically present in the system. One difference between operating systems is whether memory allocations are dynamic: • • Some operating systems require the administrator to configure the amount of memory used for various purposes (caching, mapping, consolidation, and so on). Windows does not require the administrator to configure memory allocations, because the usage is dynamic, within the constraints of the APIs used. Hardware Support The PCI standard provides a method whereby adapters may physically address more than 4 GB of memory by sending the high 32 bits of address and the low 32 bits of address in two separate sends. This is called Dual Address Cycle (DAC) and is used both for 32-bit adapters that understand 64-bit addresses but have only 32 address lines and for adapters that do have 64 address lines. This is a backward compatibility feature. Given the method with which PCI addresses memory beyond 32 bits, there is a failure mode that is subtle. Any I/O range that "spans" across two 4-GB regions must be treated specially. If not, the address range will be correctly decoded for only one part of the transfer and the remaining part will be transposed to an incorrect memory location. This will corrupt memory and will crash the system, crash the application, or silently corrupt data at that location. Applications cannot prevent this because they are only presented virtual addresses and have no visibility to the physical level. All operating systems that use PAE face this problem, but some do not explicitly prevent this from occurring and instead depend on the device driver to take the correct actions. Windows, however, explicitly prevents this problem. When an I/O range spans in this fashion, Windows returns two separate addresses and ranges to the device and driver. The final special case is the first transition from 4 GB to beyond. No DAC is required for the region below 4 GB, but DAC is required for the rest of the transfer. Again, Windows returns two separate addresses and ranges in this case to prevent memory corruption. Obviously, DAC or 64-bit adapters and drivers provide the best performance as no buffering of I/O occurs. This buffering is required, however, whenever the adapter and driver cannot utilize more than 32 bits of address information. All operating systems that utilize PAE mode addressing support this "double buffering" in some fashion, as a backward compatibility feature. This buffering does have a performance penalty that is dependent on several factors: • • • • Adapter hardware performance Driver performance Operating system support provided for double buffering Amount of physical memory installed in the system As the physical memory increases, the relative amount of I/O addresses beyond 32 bits also increases in relation to those addresses below 32 bits. In most cases, the operating system transparently provides double buffering, although some Unix variants do not provide any assistance in this function and require any 32-bit devices and drivers to manage their own double buffering routines and allocations. Driver Issues Typically, device drivers must be modified in a number of small ways. Although the actual code changes may be small, they can be difficult. This is because when not using PAE memory addressing, it is possible for a device driver to assume that physical addresses and 32-bit virtual address limits are identical. PAE memory makes this assumption untrue. Several assumptions and shortcuts that could previously be used safely do not apply. In general, these fall in to three categories: • • • Buffer alignment in code that allocates and aligns shared memory buffers must be modified so that it does not ignore the upper 32 bits of the physical address. Truncation of addresses information in the many locations this might be kept must be avoided. It is necessary to strictly segregate virtual and physical address references so DMA operations do not transfer information to or from random memory locations. PAE mode can be enabled on Windows XP SP2, Windows Server 2003 SP1 and later versions of Windows to support hardware-enforced DEP. However, many device drivers designed for these systems may not have been tested on system configurations with PAE enabled. In order to limit the impact to device driver compatibility, changes to the hardware abstraction layer (HAL) were made to Windows XP SP2 and Windows Server 2003 SP1 Standard Edition to limit physical address space to 4 GB. Driver developers are encouraged to read about DEP. Paging Most operating systems supporting PAE support virtual memory paging of some nature for the physical memory beyond 4 GB. This usually occurs with some restrictions such as limiting the boot/system paging file to 4 GB or spreading the paging file (or files) across multiple operating system-organized volumes (not necessarily physical spindles). Although this allows the obvious benefits of virtual memory, the downside is the performance impact on applications that have one or more of the following characteristics: • • • Use a large amount of physical memory for their data sets Do a great deal of I/O Have large executable working sets Finally, paging support typically comes at the expense of increasing the API set and slowing development and version migration. User APIs All operating systems supporting PAE have APIs that allow for use of physical memory by processes beyond the virtual address range possible on IA-32 processors. These differ primarily in how much support they provide for the items described earlier: memory sharing, inter-process communications, paging, and so on. A simple and straightforward API set is provided by Windows--the Address Windowing Extensions (AWE) API set--which consists of only five API calls, with the most complex API being four times larger and involving kernel and user-level calls. The proliferation of proprietary APIs--some of which are tied directly to the processor architecture (kernel level)--makes porting applications from one Unix variant to another expensive, time-consuming, and a constant struggle to balance costs versus performance optimization. Windows provides an API set which is simple, fast, and completely portable between 32-bit and 64-bit hardware platforms, requiring only a recompile in order to function. Page Size Almost all operating systems supporting PAE use differing page sizes when providing physical memory beyond 4 GB to an application. The primary exception is Windows, which presents to applications only 4 KB pages on IA-32 platforms (this is different on Itanium-based platform). The issue with using varying page sizes for applications is related to additional application complexity required to function correctly with differing memory allocation sizes, as well as subtle effects related to the underlying assumptions that almost all applications have with page size. Although research shows a small class of applications can benefit from larger page sizes (2 MB or 4 MB), because each TLB entry spans a greater address range, the general rule is applications don't benefit from larger page sizes. Top of page 1.6 Windows and PAE Windows Version Support Windows 2000 Professional AWE API and 4 GB of physical RAM Windows XP Windows XP SP2 and later AWE API and 4 GB of physical address space Windows 2000 Server AWE API and 4 GB of RAM Windows Server 2003, Standard Edition Windows Server 2003 SP1, Standard AWE API and 4 GB of physical address space Edition Windows Server 2003, Enterprise Edition 8 processors and 32 GB RAM Windows Server 2003 SP1, Enterprise 8 processors and 64 GB RAM Edition Windows 2000 Advanced Server 8 processors and 8 GB RAM Windows 2000 Datacenter Server 32 processors and 32 GB RAM (support for 64 GB was not offered because of a lack of systems for testing) Windows Server 2003, Datacenter Edition 32 processors and 64 GB RAM Windows Server 2003 SP1, Datacenter 32 processors and 128 GB RAM Edition For more information about PAE and Windows, including guidelines for developers, see PAE Memory and Windows. Windows Vista Starter Fact Sheet http://www.microsoft.com/presspass/newsroom/windows/factsheets/WinVistaStarterFS.mspx 2 Windows Vista Starter Fact Sheet 2.1 The Microsoft Windows operating system remains at the center of the ongoing evolution of the personal computer, enabling users to do more than they ever imagined. December 2007 Overview 2.1.1.1.1 2.1.1.1.1.1 Related Links Microsoft Resources: The Microsoft Windows operating system remains at the center of the ongoing evolution of the personal computer, enabling users to do more than they ever imagined. Despite the many advances, millions of individuals still have not experienced even the most basic benefits of the PC or accessed the world of social and economic benefits that computing technology can make possible. • Windows Client Newsroom Microsoft Unlimited Potential is the company’s commitment to enabling sustained social and economic opportunity for the next 5 billion people, a commitment that requires a focus on providing relevant, accessible and affordable technologies for underserved people everywhere. 2.1.1.1.1.2 In an effort to provide a more affordable and simple introduction to personal computing, and as a result of ongoing collaborations with international governments to improve citizens’ access to technology, Microsoft Corp. developed Windows Starter, an operating system designed for first-time PC owners in emerging technology markets. Windows XP Starter Edition was first released in Thailand in 2004 and has been subsequently released for use in 139 countries and in 24 languages. Since the release, more than 2 million families have experienced a PC for the first time with a Windows Starter-based PC. • Windows XP Starter Edition Fact Sheet Press Releases: • Microsoft Announces Commitment to Promote Sustained Social and Economic Opportunity for the Next 5 Billion People - April 19, 2007 2.1.1.1.1.3 Image Gallery: • Screenshots - Windows Vista With the global release of the Windows Vista operating system, Microsoft introduced Windows Vista Starter, the next generation of the Windows Starter family. Windows Vista Starter is also designed for first-time PC owners in developing markets, but it improves the user experience through the technological advances of Windows Vista. Windows Vista Starter Features Windows Vista Starter provides individuals in developing technology markets and their families with the basic computing benefits they want with security and reliability features at an affordable price. Windows Vista Starter includes tools and tutorials to make it easier for those less familiar with computers to learn to use a PC, and runs on affordable entry-level hardware. Benefits of Windows Vista Starter include the following: • • • Easier to use. Windows Vista Starter features improved help and support tools, including instructional videos and step-by-step tutorials. With Windows Vista Starter, first-time home computer users can run up to three programs concurrently with no limit to the number of windows open. More reliable. Users gain peace of mind with access to product updates and new updates available only to Windows Genuine Advantage users. More affordable. Windows Vista Starter offers all the basic features of Windows Vista at a more affordable price. Windows Vista Starter includes basic Windows Vista features that allow users to take advantage of computing experiences popular with first-time computer users, such as the following: • • • • • • • Internet connectivity. Windows Vista Starter makes it simple to connect to the Internet and browse the Web. Software and hardware compatibility. Windows Vista Starter will be compatible with a wide range of Windows-based software applications and hardware devices, including printers, speakers and cameras. Windows user interface. The intuitive Windows user interface makes it easy for users to get up to speed quickly. Security. Windows Vista Starter users will be able to stay up to date and more secure with the latest security updates delivered in Windows Vista. Parents can also use new parental controls features to help ensure safer use of the computer by their kids. Communication. Windows Mail and Windows Live Messenger will help make it fun and easy to communicate with friends and family using e-mail and instant messaging. Digital photography. When users plug in a digital camera to a Windows Vista Starter-based PC, easy-to-use tools help them transfer and store their photos, share photos with family and friends, post photos to a Web site, or even make their own prints with one of the many printers that Windows Vista Starter supports. Windows Vista Starter allows users to access even those pictures located in a shared folder on a separate computer that is not running Windows Vista Starter. Digital music and video. Windows Vista Starter includes Windows Media Player 11, which allows users to listen to music, watch videos, and burn CDs and DVDs. Windows Vista Starter also includes Windows Movie Maker, which lets users create their own movies. Windows Vista Starter Geographic and Language Availability Windows Vista Starter ships on low-cost PCs sold by original equipment manufacturers (OEMs) and Microsoft OEM distributors and will be available in English in all developing technology markets. These markets constitute lower- and middle-income countries as defined by the World Bank. Windows Vista Starter will be released in 70 languages and more than 139 countries. Windows Vista Starter Pricing Windows Vista Starter is the most affordable Windows desktop operating system available. Specific pricing information is available to participating PC OEMs and Microsoft OEM distributors. Windows Vista Starter System Requirements Windows Vista Starter is designed for low-cost, entry-level PCs running value-based processors only. Please see the current and complete list of processors valid for Windows Vista Starter located under System Requirements here: http://www.microsoft.com/windows/products/windowsvista/editions/starter/default.mspx. Windows Vista Starter has the following system requirements: • • • • 800MHz processor (1GHz or higher processor recommended) A minimum of 384 MB and a maximum of 1 GB of RAM (512 MB recommended) 15 GB of hard disk space (250 GB maximum) Super VGA 800 x 600 resolution video adapter Recommended system requirements: • • • • • CD-ROM or DVD drive Monitor, keyboard and Microsoft mouse or compatible pointing device Support for DirectX 9 graphics and 32 MB of graphics memory Internet access (fees may apply) Audio output capability For customer stories and video footage of families using Windows Starter: Visit http://www.microsoft.com/presspass/presskits/starter-edition/map. Vista versions http://windowsitpro.com/article/articleid/47669/pre-pdc-exclusive-windows-vista-processor-and-memory-support-revealed.html Microsoft is dividing the Vista product line into seven discrete editions (nine if you include European-based N editions)--Vista Starter, Home Basic, Home Premium, Home N, Professional, Professional N, Small Business, Enterprise, and Ultimate Editions--and will differentiate them with various features. Part of that differentiation will involve the number and type of processors and the amount of RAM the products will support. As you might expect, Vista Starter will be the most constrained edition. It will support one 32-bit microprocessor and up to 256MB of RAM. The screen resolution will be limited to 1024 x 768 (up from 800 x 600 in Windows XP Starter Edition). The other editions--Vista Home Basic, Home Premium, Home N, Professional, Professional N, Small Business, Enterprise, and Ultimate Editions--will ship in both 32-bit (x86) and 64-bit (x64) versions (or will support both architectures). All the home-oriented editions will support one processor, whereas the business-oriented editions (and Ultimate Edition) will support two. Home Basic and Home N will be limited to 8GB of RAM, whereas Home Premium will support up to 16GB of RAM on both 32-bit and 64-bit PCs. All the other products will support the maximum physical memory size on 32-bit systems and up to 128GB of RAM on x64 systems (although Microsoft could increase that amount in the future because that figure is soft-limited). For more information, see the article "Windows Vista Product Editions Preview." Windows Vista Product Editions http://www.winsupersite.com/showcase/winvista_editions_final.asp 3 Windows Vista Product Editions Two days before the start of Professional Developers Conference (PDC) 2005 in September 2005, I received exclusive insider information about the product editions, or SKUs, which Microsoft intends to create for Windows Vista (previously codenamed Longhorn). While the exact breakdown of the Windows Vista editions had been the subject of much speculation, this list closely matches the editions list I first published on the SuperSite for Windows in 2004. Since then, in February 2005, Microsoft finally revealed what the final product line-up would look like and--no surprise--it's almost identical to what I posted several months earlier. Here's how the Windows Vista product editions break down, according to both the very latest internal Microsoft documentation and what the company's said publicly. 3.1 Windows Vista product edition categories There will be two general categories of Windows Vista editions, which map closely to the two that exist today for XP ("Home," which comprises Starter, Home, and Media Center Editions, and "Pro," which includes Professional, Professional x64, and Tablet PC Editions). In Windows Vista, the two categories are Home and Business. In the Home category, Microsoft will create four product editions: Windows Vista Starter, Windows Vista Home Basic (and Home Basic N for the European market), Windows Vista Home Premium, and Windows Vista Ultimate (previously known as "Uber" Edition). In the Business category, there will are two editions: Windows Vista Business (previously known as Professional Standard Edition; along with Business N for the European market), and Windows Vista Enterprise (previously known as Professional Premium Edition). A previous plan to include a third business-oriented edition, dubbed Windows Vista Business, has been dropped. In all, there are six product editions planned for Windows Vista (or eight, if you count the N Editions as being different). These edition names are now finalized, though the final feature set for each could change in the coming months. 3.2 Windows Vista product editions Here's how the product editions look, along with a preview of Microsoft's marketing message for each version. 3.2.1 Windows Vista Starter Aimed at beginner computer users in emerging markets who can only afford a low cost PC. As with the XP version, Windows Vista Starter (it was briefly going to be called Windows Starter 2007) is a subset of Vista Home Basic, and will ship in a 32-bit version only (no 64-bit x64 version). Vista Starter will allow only three applications (and/or three windows) to run simultaneously, will provide Internet connectivity but not incoming network communications, and will not provide for logon passwords or Fast User Switching (FUS). Vista Starter is analogous to XP Starter Edition. This version will only be sold in emerging markets. Windows Vista Starter is lacking a number of unique features found in most of the other Vista product editions. There is no Aero user interface, for example, and no support for Microsoft's new domain-like home networking scheme. Other missing features include DVD Maker, gaming common controller support, and image editing with enhanced touchup. The marketing message: For beginner computer users in emerging markets who can only afford a low cost PC, Windows Vista Starter provides a more affordable and easy introduction to personal computing because it is lower priced, tailored to the needs of beginner personal computer users, compatible with a wide range of Windows-based applications and devices, and tailored to each market. 3.2.2 Windows Vista Home Basic A simple version of Windows Vista that is aimed at single PC homes. Windows Vista Home Basic is the baseline version of Windows Vista, and the version that all other product editions will build from. It will include features such as Windows Firewall, Windows Security Center, secure wireless networking, parental controls, anti-spam/anti-virus/anti-spyware functionality, network map, Windows Search, Movie Maker, Photo Library, Windows Media Player, Outlook Express with RSS support, P2P Messenger, and more. Windows Vista Home Basic is roughly analogous to Windows XP Home Edition. This version is aimed at general consumers, Windows 9x/XP Starter Edition upgraders, and price sensitive/first-time buyers. Like Vista Starter, Vista Home Basic will not support the new Aero user interface. The marketing message: For mainstream Windows customers, Home Basic is where it all begins. Here, Microsoft will be pushing "peace of mind" and "performance," and will promise consumers a faster, more secure and reliable productivity experience. Home Basic is secure by default and easy to keep secure. You can trust Windows with your most important tasks and data and complete everyday tasks faster. For a look at Windows Vista Home Basic, see my screenshot gallery. 3.2.3 Windows Vista Home Premium As a true superset of Home Basic, Windows Vista Home Premium will include everything from Home Basic, as well as Media Center and Media Center Extender functionality (including Cable Card support), DVD Maker DVD authoring, Tablet PC functionality, Mobility Center and other mobility and presentation features, auxiliary display support, P2P ad-hoc meeting capabilities, Wi-Fi auto-config and roaming, unified parental controls that work over multiple PCs, backup to network functionality, Internet File Sharing, Offline Folders, PC-to-PC sync, Sync Manager, and support for Microsoft's upcoming Quattro Home Server, a Windows Server 2003 R2-based server product aimed at the home market. Windows Vista Premium is similar to XP Media Center Edition, except that it adds numerous other features and functionality, including Tablet PC support. My guess is that this will be the volume consumer offering in the Windows Vista timeframe (today, XP Pro is the dominant seller). This version is aimed at PC enthusiasts, multiple-PC homes, homes with kids, and notebook users. The marketing message: Home Premium turns it up a notch. In addition to the baseline functionality offered in Home Basic, this version focuses on such things as integrated entertainment (movies, memories, and more), mobility (media and productivity on the go), and connected living (connect with family, friends, and home). Home Premium supplies whole-home entertainment and personal productivity throughout the home and on the go. For a look at Windows Vista Home Premium, see my screenshot gallery. 3.2.4 Windows Vista Business A powerful, reliable and secure OS for businesses of all sizes. Windows Vista Business will include domain join and management functionality, compatibility with non-Microsoft networking protocols (Netware, SNMP, etc.), Remote Desktop, Microsoft Windows Web Server, and Encrypted File System (EFS). Additionally, Vista Business will include Tablet PC functionality. Windows Vista Business is roughly analogous to XP Pro today. This version is aimed at business decision makers and IT managers and generalists. The marketing message: Vista Business is a powerful, reliable, and secure operating system. It helps PC users be more effective at work and offers improved connectivity and access to information, so that companies can realize better return on their IT investment. For a look at Windows Vista Business, see my screenshot gallery. 3.2.5 Windows Vista Enterprise Optimized for the enterprise, this version will be a true superset of Windows Vista Business, available only via volume license to Software Assurance (SA) customers. It will include unique features such as single-instance Virtual PC, the multi-language user interface (MUI), and the Secure Startup/full volume encryption security technologies ("Cornerstone"). There is no analogous XP version for this product. This version is aimed at business decision makers, IT managers and decision makers, and information workers/general business users. The marketing message: Vista Enterprise provides an advanced application compatibility solution that will be crucial to many large business users, can be deployed to multiple language locales using a single image, and provides Secure Startup functionality for the ultimate in security on the go. It is the client OS that is optimized for the enterprise. Vista Enterprise reduces IT cost and complexity by providing tools that protect company data, reduce the number of required disk images, and ensure the compatibility of legacy applications. 3.2.6 Windows Vista Ultimate The best operating system ever offered for a personal PC, optimized for the individual. Windows Vista Ultimate is a superset of both Vista Home Premium and Vista Business, so it includes all of the features of both of those product versions, plus adds Game Performance Tweaker with integrated gaming experiences, a Podcast creation utility (under consideration, may be cut from product), and online "Club" services (exclusive access to music, movies, services and preferred customer care) and other "Vista Ultimate Extras" offerings (also under consideration, may be cut from product). Microsoft is still investigating how to position its most impressive Windows release yet, and is looking into offering Vista Ultimate owners such services as extended A1 subscriptions, free music downloads, free movie downloads, Online Spotlight and entertainment software, preferred product support, and custom themes. There is nothing like Vista Ultimate today. This version is aimed at high-end PC users and technology influencers, gamers, digital media enthusiasts, and students. The marketing message: Vista Ultimate is the "no compromises" version of Windows Vista. It provides the best performance, most secure and complete connection to the office, and is optimized for the individual. Everything you need for work or fun is included. It is the best operating system ever offered for the personal PC. For a look at Windows Vista Ultimate, see my screenshot galleries. 3.2.7 N Editions Finally, I should note that Microsoft is planning to offer so-called N Editions of Windows Vista for the European market, in order to meet the requirements of an antitrust ruling there. Windows Vista N Editions--Vista Home Basic N and Vista Business N--will mirror the Vista Home Basic and Vista Business versions, respectively, but will not include Windows Media Player and other media-related functionality. 3.3 Features breakdown Many people are curious about which features will be made available in each product edition. Here's a partial list. Conceptual diagram of the Windows Vista product editions and how they relate to one another. Note that Small Business Edition will not be offered. Key to the table: Str - Windows Vista Starter Home N - Windows Vista Home N (Europe only) Home B - Windows Vista Home Basic Home P - Windows Vista Home Premium Bus N - Windows Vista Business N (Europe only) Bus - Windows Vista Business Ent -Windows Vista Enterprise Ult - Windows Vista Ultimate Fundamentals Feature SafeDocs backup and restore Backup (scheduled) Backup (network-based) Shadow copy client Encrypted File System (EFS) Supports migration from XP Productivity Feature Desktop Window Manager (DWM) Aero glass, animations, visual effects Productivity features (rolodex, tab previews, task bar previews) Unlimited screen resolution support Fast User Switching (FUS) Communications Str No No No No No No Home N Yes No No No No Yes Home B Yes No No No No Yes Home P Yes Yes Yes No Yes Yes Bus N Yes Yes Yes Yes Yes Yes Bus Yes Yes Yes Yes Yes Yes Ent Yes Yes Yes Yes Yes Yes Ult Yes Yes Yes Yes Yes Yes Str No No No No Home N Yes No No Home B Yes No No Home P Yes Yes Yes Bus N Yes Yes Yes Bus Yes Yes Yes Ent Yes Yes Yes Ult Yes Yes Yes 1024x768 Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Feature RDP/Remote Desktop P2P Meeting Place (ad-hoc meetings, people discovery, presentation broadcast) Windows Web Server (optional) Windows Fax client Digital Media & Entertainment Feature DVD Video Authoring Direct Media Mode Media Center (including Extender and games) Number of remote Media Center sessions supported Movie Maker HD Publishing Advanced Photography features Premium Games (3D Chess, Shanghai Solitaire) Windows Media Player 11 and related components Networking Feature Number of supported network connections Domain join support 1:1 Network projection SNMP support Internet Connection Sharing (ICS) Mobility Feature PC-to-PC Sync Mobility Center Tablet PC functionality Auxiliary Display support Offline folders with client-side caching PC management Feature Subsystem for UNIX-based Applications (SUA) Secure Startup (Cornerstone) Single Session Virtual PC Multi-Language User Interface (MUI) Str No Home N No Home B No Home P No Bus N Yes Bus Yes Ent Yes Ult Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes (opt) Yes Yes (opt) Yes Yes (opt) Yes Yes (opt) Str No No No n/a No No No Yes Home N No Yes No n/a No No No No Home B No Yes No n/a No No No Yes Home P Yes Yes Yes 5 Yes Yes Yes (Opt) Yes Bus N No Yes No n/a No Yes (opt) Yes (Opt) No Bus No Yes No n/a No Yes (opt) Yes (Opt) Yes Ent No Yes No n/a No Yes (opt) Yes (Opt) Yes Ult Yes Yes Yes 5 Yes Yes (opt) Yes (Opt) Yes Str 0 Home N 5 Home B 5 Bus N 10 Bus 10 Ent 10 Ult 10 No No No Yes Yes Yes Yes No Yes No No Yes Yes No Yes Yes Home P 10 No only Yes Yes Yes Yes Yes (Opt) Yes (Opt) Yes Yes (Opt) Yes Yes Yes (Opt) Yes (Opt) Yes Yes (Opt) Yes Str No No No No No Home N No No No No No Home B No No No No No Home P Yes Yes Yes (Opt) Yes No Bus N Yes Yes Yes (Opt) Yes Yes Bus Yes Yes Yes (Opt) Yes Yes Ent Yes Yes Yes (Opt) Yes Yes Ult Yes Yes Yes (Opt) Yes Yes Str No No No No Home N No No No No Home B No No No No Home P No No No No Bus N No No No No Bus No No No No Ent Yes (Opt) Yes Yes (Opt) Yes Ult Yes (Opt) Yes (Opt) Yes (Opt) Yes (Opt) 3.4 Processor and memory support What about processor and memory support? Most Windows Vista product editions will be available in both 32-bit and 64-bit (x64) versions. Here's how the various versions support each processor type, and how much RAM they allow. Processor and memory support Feature Supports 32-bit processors (x86) Amount of RAM supported on 32-bit systems Supports 64-bit processors (x64) Amount of RAM supported on x64 systems Number of physical CPUs supported Str Yes Home N Yes Home B Yes Home P Yes 256 MB 8 GB 8 GB 16 GB No n/a 1 Yes 8 GB 1 Yes 8 GB 1 Yes 16 GB 1 Bus N Yes Max physical Yes 128 GB+ 2 Bus Yes Max physical Yes 128 GB+ 2 Ent Yes Max physical Yes 128 GB+ 2 Ult Yes Max physical Yes 128 GB+ 2 There's been some confusion about the difference between multiple processors and multiple processor cores (for example, both Intel and AMD are currently selling dual-core CPUs, and quad-core chips are on the way). While all of the Vista product editions support only one or two physical processors, none are limited to the number of processor cores they will support. 3.5 Selling Windows Vista According to internal Microsoft documentation, the goal of the product edition differentiations in Windows Vista is to provide "clear value proposition" to all customer segments and take XP-era innovations, such as the Media Center and Tablet PC functionality, to the mainstream. Windows Vista is also being positioned as a transitionary product for the x64 platform: Almost all Windows Vista editions will be offered in both x86 (32-bit) and x64 (64-bit) versions, and these versions will ship in the same box. So, for example, when you purchase Vista Home Premium, the version you get will depend on which type of PC you have: If it's an x64-based PC, the x64 version will be installed. Microsoft expects to transition its client product lines completely to x64 after the release of Windows Vista. What's scary here, of course, is how widely Microsoft is expanding the Windows product line. As with its Office family of products (see my Office 2007 FAQ for details), Microsoft is stretching things a bit with this wide number of product editions, and this will lead to consumer and business confusion, which is never a good thing. When the company revealed that they were componentizing Windows Vista in order to make it easier for the company and its PC maker partners to create various product editions on the fly (read a discussion about this topic in my showcase, The Road to Windows Longhorn 2003), few people expected them to take advantage of the situation like this. The sheer number of Windows Vista versions is going to cause massive consumer confusion, and some of these versions will likely be orphaned after they prove to be targeting niche markets. That will lead to further migration confusion when the time to upgrade comes. In any event, there's a lot of information to digest here, but I know that SuperSite readers have been waiting for this for ... well, years. Enjoy! --Paul Thurrott March 2, 2006