What is the maximum amount of memory any single process on
Windows can address? Is this different than the maximum
virtual memory for the system? How would this affect a
system design?
Answers were Sorted based on User's Feedback
Answer / kunal
Actually processes access virtual memory space, not physical
memory. Applications never access RAM directly but only
through the memory management interface of the processor.
All processes have a 4GB virtual address space. The upper
2GB is common to all processes and is used by the system.
The lower 2GB is private to each process and is inaccessible
to all others. This is completely independent of the size of
RAM or the page file. The system maps physical memory into
this virtual address space according to both need and
availability.
At any given time the data in virtual memory space might be
stored in RAM, on disk, or both. All of this is totally
transparent to all applications. Frequently accessed data
will be kept in RAM with the remainder left on disk.
Is This Answer Correct ? | 6 Yes | 1 No |
Answer / rek
What is the maximum amount of memory any single process on
Windows can address? Is this different than the maximum
virtual memory for the system? How would this affect a
system design?" NT-based OSes split memory into user and
kernel space. The amount of memory usable is dependent on
the exact flavor of the OS and whether the processor is
32-bit or 64-bit. In the 32 bit world, XP and Win2K both
support 4GB, Win2K Advanced Server supports 8GB and Win2K
Datacenter Server supports up to 32GB. XP and W2K's 4GB gets
split 50/50, with 2GB being available for a process and the
remaining 2GB being held for the kernel. (Note that this
last space isn't just for the OS -- all the hardware devices
use this space as well, so that killer graphics card you got
with gobs of video RAM uses up portions of the kernel space
as well. This is the same in 32- or 64-bit procs.) XP Pro
and Win2003 Server can use the /3GB switch in boot.ini to
make 3GB available to the user side. The 2GB limit isn't a
Windows limit, it's a 32-bit processor limit and hits Linux,
Solaris, etc. (I'm sure Macs don't have this problem because
Macs are the perfect system and have no limitations
whatsoever. Ask any Mac user.) 64 bit Windows supports up to
16 terrabytes (woo hoo, gimme one o' dem filled up!) but
still split memory 50/50 between user and kernel. 32 bit
applications are still limited to 2GB user space. 64-bit
Windows versions don't support the /3GB switch. So yes, a
process's max memory is different than the system's total
virtual memory. System design is impacted if you're trying
to create a system using very large data structures,
particularly if your software's running on a system with
other apps. Your design needs to make careful use of memory
to make sure you're not going to run out of virtual memory.
Furthermore, since virtual memory is a combination of
physical memory and swapfile space, you need to take care to
avoid paging -- or at least minimize it as much as possible.
This means you should have an understanding of the
environment your software's going to run in. At the minimum,
you should have good documentation explaining your
assumptions, estimated system requirements and projected
system impacts. The first chapter in Bentley's Programming
Pearls is a great discussion on careful use of system
memory, plus it shows the benefit of ensuring you know what
problem you're really trying to solve. The story opening the
problem relates a conversation Bently had with a friend. The
short version is that what Bently first thought was a simple
sort of a large file on disk turned out to be a horse of a
different color. The "real" problem required some creative
thought to get around
Is This Answer Correct ? | 2 Yes | 0 No |
5. How do you round the addition or subtraction of two numbers in assembler?
what is the filters in biztakk server? where it can use?
why you have to became a software developer?
Why COBOL/400 is giving 95 session error when opening a file even though the file is having key and the screen or display file is having IND ARA defined?
why we need to take u?
how we can call xml file in java file using Android platform?
hi i am jyoti i have done sap training in sd and master degree in economics have 2 year exp as enduser in (gdms)and 1 year as sd consultant.as contract basis now what i can do for getting job in it industry
What is algorithm in SCD Type2(SAS DI Studio Transformaton)?
hi friends please tel me how to handle the recovery manager(All i.e PopUp ,Application Crach ,Object state,etc) in QTP
what is the purpose of checked Menu options
Hello all, My name is Nrupali, am a fresher, i know C language beginner. dont have any experience. planning to learn Php. let me know which language should i choose to learn or for salary purpose and growth??? kindly help me to take decision. thanks
1.Mutating table