Existem vários fatores que influenciam a quantidade de memória utilizável exibida. Deixe-me falar primeiro sobre o Windows e depois podemos mergulhar no Linux.
No Windows, se você tiver (não importa se tem 32 ou 64 bits) uma quantidade X de memória, o sistema reservará uma porcentagem para o funcionamento correto do sistema. Dependendo do hardware, dispositivos integrados (placa de vídeo integrada, placa de som, placa de rede, etc ...), quantidade de dispositivos conectados, versão do Windows, etc. o valor reservado será alterado. Em alguns casos, no Windows XP em um PC com 4GB, você verá apenas 3,5 GB disponíveis. Em outros casos, você verá 3.2GB, 3.1GB, 3.0GB ou, no pior caso, apenas 2.8GB. No Windows 7, a mesma quantidade de memória reservada varia de acordo com o hardware e o software, passando de 3,0 GB para um RAM máximo disponível de 3,7 / 3,8 GB. Esta quantidade disponível de memória ram é o que os programas que você usa e é a memória que resta após o sistema ter calculado e reservado a parte da memória que precisa para funcionar corretamente.
Essa memória normalmente não é trocada entre os aplicativos do usuário e a memória reservada para o sistema.
No Linux, é o mesmo. O sistema carrega e precisa de uma quantidade necessária de memória para que tudo funcione o mais suave possível. Se você tem 512MB o sistema não reserva muito pois irá notar a falta de memória. Se você tem 1GB ou 2GB, o valor reservado fica maior. O limite para 32 Bits é de 4 GB, dos quais ele se reserva entre 200 MB e 1 GB de RAM (Novamente, dependendo do hardware ou software), para que tudo corra bem. Então você ficaria com uma memória útil total entre 3,0 GB e 3,8 GB.
Agora, além da óbvia memória reservada para o sistema, existem algumas opções de BIOS / hardware que podem realmente levar ainda mais. O mais comum é a quantidade de memória atribuída a uma placa de vídeo integrada. Pode variar de 2MB a um cool de 1,5 GB. Se você tiver, por exemplo, 1 GB para a placa de vídeo, isto é, 1 GB, você não verá a memória total disponível. Uma placa de som usa uma pequena quantidade de memória, mas ela usa memória mesmo assim. O mesmo para uma placa de rede, dispositivo de captura, webcam, etc ...
Resuma tudo e você terá a quantidade total de memória disponível para os programas comuns que você usa (firefox, gimp, empatia, libreoffice, etc ...)
Portanto, não é uma questão de saber se o Ubuntu não está lendo a memória corretamente com ou sem um sistema de 64 bits, é mais uma questão sobre se o sistema tem memória suficiente para operar corretamente e suficiente para os aplicativos do usuário. No seu caso, como você pode ver, o Ubuntu levou 800MB para o sistema e 3.2GB para você usar com seus aplicativos, sem que ambos tenham que compartilhar memória no processo. Isso aumentará a velocidade e o tempo de carregamento dos aplicativos, pois eles têm seu próprio espaço de usuário na memória. Um problema seria se a quantidade de memória que o sistema precisa for maior do que a quantidade de memória que você tem e você deseja abrir um aplicativo naquele momento. Eles teriam que compartilhar memória, o que significa ter que usar swap / memória virtual, o que significa tempos de carregamento mais lentos.Esta é a saída terminal de um laptop de 3 GB:
exodus@exodus:~$ free -m
total used free shared buffers cached
Mem: 2898 1186 1711 0 117 569
-/+ buffers/cache: 499 2398
Swap: 3837 0 3837
Como você pode ver pelo meu exemplo e seu exemplo, a memória shared não é necessária, pois você tem muito mais memória do que o necessário no momento em que executou esse comando. O sistema tem sua memória e os aplicativos têm memória.
Como você também pode ver (usando no meu exemplo Ubuntu 12.04 32 Bit) o sistema está levando apenas cerca de 120MB. Mas olhe aqui:
cyrex@cyrex:~$ free -m
total used free shared buffers cached
Mem: 14696 1744 12952 0 447 730
-/+ buffers/cache: 533 3318
Swap: 254 0 254
Neste caso eu tenho 16GB de RAM e o Ubuntu de 32 bits também, está levando cerca de 1,5GB para o sistema. Me dando cerca de 12,5 GB para o resto dos meus aplicativos. Agora leia aqui, no mesmo sistema com o Windows 7 64BIT leva 3.5GB. Sempre diz quando vou ver a memória de 12.4GB. Portanto, dependendo do sistema e do hardware, a quantia reservada (ou roubada ^^) pode variar.
Espero que isso ajude.