If I understand correctly, a 32-bit OS (Ubuntu) can only address 4GiB memory, so RAM with size larger than 4Gib will only be used 4Gib of itself and the rest is a waste.
Isso não está correto. Você está certo de que um SO de 32 bits só pode endereçar 4GiB de memória virtual por vez. Mas isso não tem nada a ver com a memória física. Os sistemas operacionais de 32 bits podem endereçar mais de 4GiB de memória física usando, por exemplo, PAE.
with virtual memory being swap + RAM, if the size of the virtual memory exceeds 4Gib, will the exceeding part be a waste for the 32-bit OS?
Memória virtual é uma técnica para criar coisas que se parecem com memória que na verdade não mapeiam para RAM física. A memória virtual mapeada não pode exceder 4GiB em um sistema operacional de 32 bits. No entanto, o uso de janelas pode ser usado para permitir que mais de 4GiB de memória virtual sejam endereçadas, embora não todas de uma vez.
if I now have to choose the size for my swap partition, is it a factor to consider that the 32-bit OS can only address 4GiB memory? Does the size of swap have to be chosen with respect to the 4Gib addressible limitation? Will the swap exceeding 4GiB always be a waste?
Não, porque o limite do sistema operacional de 32 bits é sobre a quantidade de memória virtual que ele pode endereçar de uma só vez. Digamos que você esteja executando oito processos e cada um deles queira usar 1GiB de memória virtual. Isso é bom e não atinge nenhuma limitação, mas isso pode exigir mais de 4GiB de swap.
is virtual memory equal to RAM and swap? or can virtual memory use space on the hard drive outside the swap partition?
A memória virtual é limitada por problemas que não têm nada a ver com quanta memória RAM ou swap você possui. Arquivos mapeados são memória virtual. A paginação usa espaço fora da partição de troca para armazenar páginas limpas e espaço na partição de troca para armazenar páginas sujas. O ideal é que o sistema possa acessar páginas limpas e sujas, pois isso proporciona maior flexibilidade.