Actually, you answered yourself - the 3.1GB or so displayed (depending
on what hardware you have installed), was the -available system ram-,
and the labeling was perhaps a little confusing by not stating this.
With Vista SP1, the memory displayed is now the -total installed
memory-.
One of the common misconceptions about this whole "I have 4GB installed
but Vista only shows 3GB" issue that that most everyone wrongly believes
this to be a bug in Windows Vista. This is not true.
The apparent "lost" memory is taken up by hardware devices, even before
the OS boots. This never used to be an issue, because in years past,
when the most common memory configurations ranged from 256MB to maybe
1024MB (1GB), we never noticed this, because installed hardware mapped
their memory into the 3 - 4GB range. Now that 4GB or more is common, we
see an overlap. The hardware receives preference, and the ram that is
installed at those locations is "turned off", for lack of a better
description. This is why pre-SP1 system with 4GB installed ram showed
around 3GB available. My old motherboard (ASUS A8N32-SLI-DELUXE, for
those of you who want to check this statement), during the boot POST
phase, showed two number - 4096MB installed memory, 3380MB available
memory.
Under conditions such as this, it does not matter which OS you have -
Vista 32, Vista 64, Windows XP, Windows 2000 or even Linux. If the
hardware memory mappings overlap physical ram, the ram is "lost", and
the OS cannot us it. If the BIOS only provides 3.3GB memory, then that
is all that the OS can get.
Personally, what I think Microsoft should have done with Vista SP1 is
provide two numbers - one showing installed memory, and another showing
available memory, perhaps with a paragraph or two in Help about why the
two are different. That perhaps would end the argument once and for all
about where the "lost" memory has gone.