This is a restriction of a 32-bit system.
Such a system could access up to 4GB memory space.
Internal PCI devices and system resources consume memory space within 4GB.
Especially the graphic cards consume huge size of memory.
So the actual memory size is reduced from 3.0GB to 3.3GB depending on the hardware configuration.

There are several conditions to use all 4GB memory on a notebook that has 4GB of memory installed.
- The chipset must support 8GB of address space.
The Intel chipsets PM965 and GM965 and newer or AMD64 CPU's could address up to 8GB.
e.g. the Intel chipset family 945 did only support up to 4GB address space.
- The CPU must support 64 bit mode instruction set (Intel? EM64T or AMD64) .
For Intel CPU this could be checked on the Intel website: http://processorfinder.intel.com/
- The BIOS must support the memory remapping feature.
The memory remapping feature allows for the segment of system memory that was previously overwritten by
the PCI configuration space to be remapped above the 4 GB address line.
The most newer BIOS versions are supporting this feature.
- A 64-bit version of Windows operating system.
All above mention contions must be fulfilled to use all 4GB memory on a notebook.
Additional information could be found by the Microsoft knowledge base:
Article: KB929605 http://support.microsoft.com/kb/929605/en-us
And for Vista with service pack 1:
Article: KB946003 http://support.microsoft.com/kb/946003/en-us