Comparison
of 32-bit and 64-bit memory architecture for 64-bit editions of
GVS9000 Windows XP and Windows Server 2003
Following
table, the increased maximum resources of GVS9000 that are based
on 64-bit versions of Windows and the 64-bit Intel processor are
compared with existing 32-bit resource maximums.
Architectural
component
|
64-bit
Windows
|
32-bit
Windows
|
Virtual
memory |
16
terabytes |
4
GB |
Paging
file size |
512
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 |
Virtual memory
This
is a method of extending the available physical memory on a GVS9000.
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 GVS9000 in addition to the size
of the pagefile.
Paging
file
This
is a disk file that the GVS9000 uses to increase the amount of
physical storage for virtual memory.
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.
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.
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.
System
cache
These
are pages that are used to map open files in the system cache.
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.
The
2-GB user-mode virtual memory limitation
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 64-bit pointer could address up to 16 exabytes.
64-bit versions of Windows have currently implemented up to 16
terabytes of address space.
|