Introduction
Le débutant se pose souvent la question: dois-je installer une version 32bits ou une version 64bits? Ce topic a pour vocation de répondre aux questions les plus souvent posées à ce sujet.
Quelques premières précisions de langage
Lorsque l'on parle de systèmes 32 et 64 bits, cela recouvre 2 réalités:
- La partie hardware, c'est à dire le processeur. Il existe des processeurs 32 bits, et d'autres 64 bits.
- La partie software, c'est à dire le système d'exploitation et les logiciels utilisés. Il en existe des versions 32 bits, et des versions 64 bits.
On parlera de « système 64 bits » lorsque l'on aura un processeur 64 bits associé à un système d'exploitation 64 bits.
Dans le cas contraire (processeur 32 bits et/ou système d'exploitation 32 bits), on parlera de système 32 bits.
Car pour fonctionner en mode 64bits, il faut un processeur 64bits ET un système d'exploitation et des logiciels 64bits.
De plus, on ne parle ici que des processeurs et systèmes d'exploitation grand public (PC de bureau et portables), et pas de ce qu'il se passe dans d'autres domaines (électronique embarquée par exemple).
Dernière précision de langage: les logiciels 32bits sont aussi connus sous les pseudonymes de i386 (parfois i486 ou i686), ou x86.
Les logiciels 64bits sont quant à eux taggés amd64 (qui fonctionnent d'ailleurs aussi chez Intel même si ça s'appelle amd, c'est historique), x86_64 ou, plus rarement, x64.
Concrêtement, qu'est ce que c'est que cette histoire de 32bits et de 64bits?
Un processeur 64 bits est un processeur dont la largeur des registres est de 64 bits sur les nombres entiers. Un processeur 32 bits possède une largeur de registre de seulement 32 bits sur les entiers (mais les nombres flottants sont eux gérés sans problème en 64 voire 128 bits).
Donc en gros, cela signifie que lorsque le processeur travaille sur des entiers, « l'unité élémentaire de calcul » est 2 fois plus importante sur un système 64 bits que sur un 32 bits. Et que, en gros, le processeur 64 bits traitera dans ce cas l'information deux fois plus rapidement qu'un 32 bits.
64 = 2x32. Donc un système 64 bits est 2 fois plus rapide qu'un système 32 bits?
Non.
Un système 64bits est au moins aussi rapide qu'un système 32 bits, mais pas nécessairement 2 fois plus rapide.
Prenons l'analogie suivante:
Supposons que je doive effectuer en voiture un trajet entre la ville A et la ville B. Pour effectuer ce trajet, j'ai le choix entre 2 chemins possibles:
- Une autoroute à 2 voies.
- Une autoroute à 4 voies.
Ces 2 routes étant strictement parallèles, la distance entre A et B est donc la même que l'on prenne l'une ou l'autre des autoroutes, et les limitations de vitesse y sont les mêmes.
Etudions les 2 scénarios suivants:
Cas 1: je fais le trajet un jour où il y a peu de circulation.
Dans ce cas, la circulation est fluide sur les 2 autoroutes. Je peux circuler sur la 2 voies ou la 4 voies, cela revient au même et le trajet prendra la même durée.
Cas 2: je fais le trajet un jour de grand départ en vacances.
Ce jour là, il y a énormément de trafic. L'autoroute 2 voies est complètement saturée, ça bouchonne tout le long et je fais le trajet en 6 heures.
Au contraire, sur l'autoroute 4 voies, plus large donc, plus de véhicules peuvent avancer de front à chaque instant, et la circulation est plus fluide. Ça ne bouchonne pas. Et je fais le trajet en 3 heures seulement.
Dans le cas de nos systèmes 32 ou 64 bits, c'est pareil.
Lorsque la quantité d'information à traiter par le processeur est faible (utilisation du PC de type bureautique ou internet), le temps de réactivité du système est du même ordre de grandeur et un système 64bits n'est pas beaucoup plus rapide qu'un système 32bits.
Par contre, lorsque la quantité d'information à traiter est importante (compression audio/vidéo, chiffrage, lecture/écriture d'importantes quantitées de données sur les disques), alors le système 64 bits s'en sortira beaucoup mieux que le système 32 bits.
Il y a t'il d'autres avantages au 64 bits par rapport au 32 bits?
Il en existe un autre majeur: la taille de la RAM que sait gérer le système. Un système 32bits ne sait pas gérer plus de 4Go de RAM. Si le PC dispose de plus de 4Go de RAM, le système 32bits n'en verra que 4Go. Un système 64bits n'a pas cette limitation, et il peut gérer jusqu'à 16 exbioctets de RAM (soit beaucoup plus qu'aucun ordinateur n'en aura jamais, du moins dans le siècle à venir!)
De plus, sur un système 32 bits, la taille maximale d'une partition d'un disque dur est limitée à 2,19 To. Cette limitation n'existe pas pour les systèmes 64 bits. Limitation purement théorique il y a quelques années, elle a aujourd'hui un sens avec la sortie en Octobre 2010 du premier disque dur de 3To.
Mais est-ce que le 64bits a des inconvénients?
Lorsque les premiers processeurs 64bits sont sortis en 2003, peu de logiciels étaient compatibles 64bits. Peu de systèmes d'exploitation tout court d'ailleurs.
Aujourd'hui, la version Ubuntu 64bits est de même qualité et stabilité que la version Ubuntu 32 bits. A part quelques logiciels pathologiques, la quasi-totalité des logiciels existent aujourd'hui en version 64bits nativement, ou s'ils n'existent qu'en version 32bits (comme Wine par exemple) sont compatibles 64bits de manière transparente pour l'utilisateur.
On peut avoir cependant quelques problèmes avec du vieux matériel, comme des veilles imprimantes par exemple dont les drivers ne fonctionnent que sur des systèmes 32bits. Mais c'est rare.
Il y avait des incompatibilités avant avec Flash en particulier, mais Flash fonctionne sur 64bits depuis presque 2 ans maintenant sans souci.
Savoir également qu'un système 64bits consomme un peu plus de RAM qu'un système 32bits (environ 10% - 15% de plus). Cela est transparent pour l'utilisateur dès que l'on possède plus de 1Go de RAM, mais peut être gênant sur des vieilles config avec 500Mo de RAM par exemple.
Donc en résumé, le 64bits c'est bon, mangez-en ?
Exactement.
Aujourd'hui, il n'y a pas de réelle raison d'utiliser une Ubuntu 32bits au lieu d'une Ubuntu 64bits lorsque l'on a un processeur 64bits. Et c'est d'ailleurs la même situation pour les autres distributions GNU/Linux.
J'ai un processeur 64bits, avec une Ubuntu 32bits installée. Comment faire pour passer mon système en 64bits?
Il n'y a pas d'autres solutions que de réinstaller complètement Ubuntu, en version 64bits.
Je me suis fait mordre par un système 64bits lorsque j'étais petit. Je VEUX donc un système 32bits, mais mon processeur est un 64bits. Est-ce que je peux quand même installer Ubuntu 32bits dessus?
Oui, un processeur 64bits est compatible avec un système d'exploitation 32bits. Mais dans ce cas, il ne fonctionnera évidemment que sur un « mode » 32bits. Seul le couple processeur 64bits + système d'exploitation et logiciels 64bits permettent d'avoir un système 64bits.
Cependant, il n'est pas possible de faire tourner un système d'exploitation 64bits sur un processeur 32bits.
Comment savoir si mon processeur est un processeur 64bits?
La quasi-totalité des processeurs récents (sortis après 2003) sont 64bits.
En particulier:
Amd64 (AMD):
Tous les processeurs Athlon 64
Tous les processeurs Turion 64
Tous les processeurs Athlon X2
Tous les processeurs Turion X2
Tous les processeurs Phenom
Tous les Amd Opteron
Tous les processeurs plus récents que les processeurs pré-cités
Tous les sempron en socket AM2
Tous les sempron récents
Intel EM64T (Intel):
Tous les Core 2 Duo
Tous les Core 2 Quad
Tous les Core i5
Tous les Core i7
Presque tous les Pentium D
Les derniers steps de Pentium 4 (à partir des versions 6xx)
Les nouveaux Pentium
Les Xeon récents
Tous les Celeron à partir des Celeron D
Atom 230 et 330
Si vous ne connaissez pas votre modèle de processeur, essayez de booter sur un liveCD comprenant une version 64bits d'Ubuntu. Si cela fonctionne, alors votre processeur est un 64bits.
Sinon, vous aurez presque immédiatement un message d'erreur.
Ce test est parfaitement sans danger pour votre matériel.
Ubuntu 32bits, Ubuntu 64bits, il y a t'il des différences dans le support, la finition etc?
Pour l'utilisateur final, aucune. Les logiciels sont les mêmes (seule la compilation est différente, mais cela ne concerne pas l'utilisateur final), la régularité des mises à jour est la même, la qualité du support est la même.
Conclusion
Le temps où le 64bits était quelque chose de niche destiné aux seuls geeks est révolu. Lors de son apparition, il y avait pas mal de problèmes de compatibilité et de stabilité, qui ont laissés de mauvais souvenirs à pas mal de gens. Mais c'est aujourd'hui de l'histoire ancienne. Le 32bits est une technologie qu'il faut considérer comme dépassée, et qui deviendra carrément obsolète dans les années à venir (du moins dans le cadre des applications grand public).
Il n'y a aujourd'hui aucune réelle raison technique de rester en 32bits lorsque l'on possède un processeur 64bits.
Pour aller plus loin:
http://doc.ubuntu-fr.org/ubuntu_64bits: la doc Ubuntu sur ce sujet.
http://fr.wikipedia.org/wiki/64_bits: wikipedia nous parle des processeurs 64bits
http://www.phoronix.com/scan.php?page=article&item=ubuntu_32_pae&num=1: Phoronix benchmark Ubuntu en version 32bits vs 64bits.
EDIT 06/04/2010, suite aux remarques exprimées dans les posts ci-dessous:
Les kernels PAE, ça ne permet pas d'avoir un bon vieux système 32bits fonctionnant avec les avantages d'un 64bits ?
Non.
Les kernels PAE sont des noyaux 32 bits "spéciaux" qui permettent à des systèmes 32bits de gérer plus de 4Go de RAM (en fait, le système peut alors gérer jusqu'à 64Go de RAM).
Cependant, si les kernels PAE permettent effectivement de "lever" la limitation physique des 4Go de RAM touchant les systèmes 32bits, cela ne modifie en rien la vitesse d'exécution du système, qui reste celle d'un système 32bits (ou d'une autoroute à 2 voies, cf l'analogie ci-dessus).
Les kernels PAE n'apportent donc rien en terme de vitesse par rapport à des noyaux 32bits classiques, ils ne sont réellement utiles que si vous souhaitez à tout prix rester en 32bits mais que vous avez besoin de gérer plus de 4Go de RAM.
http://www.phoronix.com/scan.php?page=article&item=ubuntu_32_pae&num=1: ce lien montre un benchmark récent d'Ubuntu (version 9.10) avec 3 noyaux différents:
- 32 bits classique
- 32 bits PAE
- 64 bits
On se rend alors bien compte que le PAE n'apporte rien en terme de rapidité d'exécution par rapport à un système 32bits classique (tant que la quantité de RAM du système est inférieure à 4Go bien sûr), mais que le 64bits est nettement plus rapide que les noyaux précédents.
A noter également que la page du wiki concernant le comparatif 32bits vs 64bits
http://doc.ubuntu-fr.org/comparatif_32bits_et_64bits présente les résultats de tests effectués sur les versions 7.10 et 8.04 d'ubuntu, soit à une époque où le 64bits n'était pas encore aussi au point qu'aujourd'hui.