Please hel me win my BET.

Bluehaze

Distinguished
Nov 16, 2007
4
0
18,510
Guys,
My brother in law is insisting that 4 gig of RAM can be seen with 32 bit OS. either vista or xp pro. I informed him that this is FALSE. 32 bit OS cannot see 4 gig total but revert back to 2.8gig or somewhere in that range.

Only 64 bit OS can read the full 4 gig.

Please post if you agree with the above statement or put my tech knowledge in check by telling i was the one who was wrong. (doubt it).

Thanks.
 

simonta

Distinguished
Nov 24, 2007
5
0
18,510
Sorry sir. Your friend is right. A 32 bit OS (including WinXP and Vista can see 4GB of RAM. 32 bits (32 ones in binary) = 4GB.

The reason the OS sees less than 4 GB is because most of the internal peripherals take system RAM for themselves, especially the video card which has a "window" in main RAM for data transfer. This is NOT because the OS can't see it, simply that the BIOS reports it as unavailable.

Furtermore, if you have a 4GB system, and you change it from a 32 bit to a 64 bit OS, you will see NO change in the amount of available RAM apart from some very minor differences because of the different OS. So, if using 32bit Vista, you see approx 3.4 GB for example, you will also see approx 3.4 GB in 4bit Vista.

Sorry to bear bad news...
 


Win 32 bit OS addresses up to 4 GB RAM. (see chart inlink)

Virtual memory explained.

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.

http://support.microsoft.com/kb/294418
 


32 bit OS cannot see 4 gig total but revert back to 2.8gig or somewhere in that range.

When you say "32 bit OS cannot see 4 GB, but reverts back to 2.8 GB or somewhere in that range", the OS 'sees' 4 GB, but the OS 'addresses' the system components it 'sees' which generally falls somewhere short of 4 GB. I think this is what you were saying. Anyway.
 

simonta

Distinguished
Nov 24, 2007
5
0
18,510
By the way, a quick reply to my reply :)

I read it again and I wasn't totally clear. The memory taken by peripherals is not the physical RAM. The devices allocate their own memory within the address space. So a video adaptor has it's own RAM for speed, but it can only be addressed from within the maximum 4GB address range.

Hope that helps...
 

simonta

Distinguished
Nov 24, 2007
5
0
18,510
By the way, a quick reply to my reply :)

I read it again and I wasn't totally clear. The memory taken by peripherals is not the physical RAM. The devices allocate their own memory within the address space. So a video adaptor has it's own RAM for speed, but it can only be addressed from within the maximum 4GB address range.

Hope that helps...
 

4745454b

Titan
Moderator


I'm not sure who should win this. A 32bit OS can see 4GBs. (2^32) The problem is, the 32bit OS can't use all of that ram. The OS is responsible for transferring information out to the various devices. Currently, this is usually done by making a one for one copy of the devices ram inside the four gig address limit. Physical ram is allocated from the bottom up, while "devices ram" is allocated from the top down. The more ram/cache on a device, the more memory address space is used.

I'd talk to him more. If he thinks that the OS can use as well as see 4GBs, then he is wrong. But if he says it can see, just can't use it all, then he is right.
 

dengamle

Distinguished
Apr 18, 2007
224
0
18,690
Generally speaking, a 32-bit OS can go beyond 4G, but xp and vista has been crippled.

The limit of 4G address space was introduced in SP2. This limitation applies to vista as well, and means you cannot utilize fulil 4GB RAM
 

jkflipflop98

Distinguished



No, the 4GB limit was introduced when 2 to the 32nd came out to be 4294967296. That was also the same time math was invented. Perhaps you should try it sometime.

Please don't talk if you have no idea what you're talking about. :non:

If you define the "seen" - as in "My brother in law is insisting that 4 gig of RAM can be seen with 32 bit OS" Then I may be able to help.

 

dengamle

Distinguished
Apr 18, 2007
224
0
18,690


Same to you? :bounce:

2^32 applies to the virtual address space, not the physical, which can be bigger
 

simonta

Distinguished
Nov 24, 2007
5
0
18,510
Back to IT school for you dengamle.

You're wrong on all counts.

Windows has not been "crippled". Any 32 bit scheme can address 4GB of memory (as jkflipflop says, it's 2 to the power of 32). It is IMPOSSIBLE for Windows (or any other 332 bit operating system) to directly address more than 4GB RAM. The address registers in the CPU are 32 bits wide. Therefore, they can address anything in the range of 2^32. Every address in RAM that the CPU accesses is described with these 32 bits.

Finally, virtual memory is bigger than physical memory.

Flipflop was right, please don't pass on FUD or downright guesswork.
 

Snigma

Distinguished
Nov 25, 2007
1
0
18,510

Back to IT school for you simonta

You're wrong on some counts.

Since Intels P6 Microarchitecture (Pentium Pro and later) all 32-bit Intel CPUs have been able to address 64 gigabytes of physical address space. They do this via the segmented address model which allows up to 16384 segments each of up to 4 gigabytes (up to the aforementioned 64 gigabyte limit across all segments). See Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture (http://www.intel.com/products/processor/manuals/index.htm). In my June '05 hard-copy of that document the details can be found in chapter 3, section 3.3.6, Extended Physical Addressing in Protected Mode.

dengamle was right, please don't pass on FUD or downright guesswork.
 

croc

Distinguished
BANNED
Sep 14, 2005
3,038
1
20,810


A link to a MS KB article that I refer to as "MS memory use for dummies". Note that this information does not apply to Unix, Xenix, Linux, OS2, etc.

http://support.microsoft.com/kb/294418
 
should be more like 3.25....in most cases...i have got it up to 3.6

38081570he2.gif
 
its horrible....you know why? Because thats with a 4 meg PCI video card that can not even do 1280 x 1024 @ 32(maxed at 16 due to the small amount of ram) bit color. With my 8800GTX its 3.25 and with both its 3.0. I was board one day and did some tests.....in the end i still just use 2 x 1 gigs and 2 x 512's...will do for 4 + when vista's first SP comes out....
 
My next upgrade will be a 45nm Intel processor, 2 x 2GB PC8500, 2 x 3870x2. I will just drop 'em in. I just stuck in the X38 and '64. Wow! Nukemaster loose the media edition and get Vista 64 Ultimate. You owe it to youself 8).