talk only about windows (and in fact, xp) , because other 32bit OSs (including some 32bit variants of windows, but not xp) use the mechanisms that allow >4GB addressing in 32bit mode. here
why is only 3.5GB 'available'? what do you mean 'available' ?