Question Différence entre le téléchargement i386 et l'amd64?


Quelle est la différence entre le téléchargement standard d'i386 et le téléchargement d'amd64 d'Ubuntu 11.04? Je suis actuellement en train d'exécuter l'i386 sur une machine amd, mon système fonctionnerait-il mieux avec le téléchargement amd64 à la place? (ma machine fonctionnait sous Windows 7 64 bits, mais j'ai négligé de regarder cela avant d'installer Ubuntu).


149
2017-07-23 23:57


origine


En relation (mais pas en double): La version 64 bits d'Ubuntu est-elle compatible uniquement avec les processeurs AMD? - Eliah Kagan
Voir également: Quelles sont les différences entre 32 bits et 64 bits et que dois-je choisir? - Wilf


Réponses:


i386 fait référence à l'édition 32 bits et amd64 (ou x86_64) fait référence à l'édition 64 bits des processeurs Intel et AMD.

Entrée i386 de Wikipedia:

Le processeur Intel 80386, également connu sous le nom de i386, ou seulement 386, était un microprocesseur 32 bits introduit par Intel en 1985 ... Ce système est appelé architecture x86, IA-32 ou i386, selon le contexte.

L'entrée x86_64 de Wikipedia:

x86-64 est une extension du jeu d'instructions x86. Il prend en charge des espaces d'adressage virtuel et physique beaucoup plus grands que ceux possibles sur x86, permettant ainsi aux programmeurs de travailler facilement avec des ensembles de données beaucoup plus volumineux ... Après le lancement de l'architecture sous le nom "x86-64", AMD l'a renommé ... -64 est encore utilisé par de nombreux acteurs du secteur en tant que fournisseur indépendant, tandis que d'autres, notamment Sun Microsystems (désormais Oracle Corporation) et Microsoft, utilisent le format x64.

Même si vous avez un processeur Intel, vous devez utiliser AMD64 pour installer 64 bits sur votre ordinateur (il utilise les mêmes jeux d'instructions).

Je recommande fortement de l'utiliser. Pour la plupart, vous ne remarquerez pas de différence, mais pour les charges de travail importantes (telles que l'édition vidéo, les jeux, etc.), l'ordinateur fonctionnera plus rapidement (l'ordinateur peut calculer 2 + 2 + 2 = 6 au lieu de devoir 2 + 2 = 4 + 2 = 6 dans un exemple). Dans le monde Windows, un système d'exploitation 32 bits ne vous permettra pas d'utiliser plus de 3,5 Go de RAM sur votre ordinateur (même si vous en avez 8!). Vous devez utiliser un système d'exploitation 64 bits pour utiliser pleinement toute la RAM. Pour Linux, cependant, il n’ya pas de limite (merci, Uri).

Quoi qu’il en soit, le monde est passé de 32 bits et il n’est là que pour prendre en charge des machines plus anciennes incapables d’exécuter 64 bits.


150
2017-07-24 00:00



Cette dernière partie, est maintenant (sous Linux bien sûr) Juste pas vrai, vous ne pouvez utiliser plus que les 3,5 Go de RAM avec le noyau PAE en 32 bits. - Uri Herrera
les 3.5g de limitation de RAM de 32bits ne seraient-ils pas de 4gb- <mémoire de carte graphique>? - Chriskin
Par souci de simplicité, j'ai omis des aspects techniques tels que la mémoire de la carte graphique. Mon but était de dire "si vous avez plus de 3.5-4 concerts, utilisez 64 bits".
@ Topfroginc Quels sont les tweaks exacts? - Uri Herrera
64 bits est tout aussi utilisable et stable que 32 bits avec l'exception presque négligeable de Flash dans certaines circonstances pendant une certaine heure de la journée et si les planètes s'alignent en émettant des rayons cosmiques.


L’architecture porte le nom d’AMD car AMD l’a inventé, avec   Athlon 64. De même, l’architecture 32 bits i386 porte le nom   Processeur Intel 386, car il était le premier du genre, mais i386   travaillera également sur les processeurs AMD. Alors oui, vous pouvez utiliser cette image ISO.

La source:  https://superuser.com/questions/128482/ubuntu-amd64-vs-i386


40
2018-05-31 21:00





oui, vous pouvez installer amd64 bit à processeur Intel 64 bits. AMD a inventé le processeur de jeux d’instructions x86-64 bits, le nom n’est qu’un hommage à AMD.


8
2018-05-31 21:23



Merci d'avoir clarifier les choses. Je sais que c'était une question simple, mais je n'ai pu trouver la réponse nulle part. - Dave Wolover


Oui, vous pouvez utiliser ce .ISO. amd64 fait référence à l'architecture. AMD a été le premier à créer un processeur 64 bits, je pense donc qu’il s’agissait d’un nom qui l’appelait à l’époque, et que le nom restait bloqué. Cela semble un peu déroutant, mais amd64 signifie juste 64 bits.


6
2018-05-31 20:59



Ils n'étaient pas les premiers à créer un processeur 64 bits. Intel en avait un avant, mais il n'était pas rétrocompatible, il n'a donc pas été largement adopté. Le nom amd64 devait différencier l'architecture d'AMD de l'IA64 d'Intel, qui a été abandonnée. - psusi


La différence entre amd64 et i386 est-ce amd64 est 64 bits tandis que i386 est 32 bits. C'est la largeur (en bits) des registres disponibles dans le noyau.

Fondamentalement, le plus grand nombre de processeurs 32 bits pouvant être traités en une seule opération est un peu plus de 4,29 milliards, tandis qu'un cœur 64 bits peut en gérer un peu plus de 18,44 milliards.

Les cœurs des PC modernes peuvent se comporter comme un processeur 64 bits ou 32 bits, selon la version du système d'exploitation que vous avez installée.

Le code 64 bits a tendance à s'exécuter plus rapidement que le code 32 bits, car il peut gérer un plus grand nombre de requêtes ou parce que les cœurs 64 bits ont plus de registres. Bien qu'il n'y ait aucune garantie que le code 64 bits s'exécutera plus rapidement si le code n'a pas été écrit pour tirer parti des fonctionnalités supplémentaires du processeur.

La compilation sur un système 32 bits produira un code différent d'un système 64 bits. Vous pouvez le prouver en compilant le code d'assemblage sur les deux systèmes. En supposant que votre fichier C est myfile.c essayer gcc -S myfile.c sur les deux systèmes et comparer mes dossiers

Un code bien écrit pour un système 32 bits devrait être compilé et exécuté sur un système 64 bits, mais tous les codes ne sont pas bien écrits. De nombreux programmeurs émettent des hypothèses sur le système qui peuvent ne pas être vraies: telles que la largeur du registre ou l'ordre des octets.

Sans accès à votre code source, il est difficile de voir quel est le problème, mais segmenation fault indique qu'une tentative d'accès à la mémoire n'appartenant pas au programme a été effectuée. Cela peut, par exemple, indiquer que mem_ptr est un pointeur 32 bits convenant à un système 32 bits, mais qui doit être un pointeur 64 bits sur un système 64 bits.


6
2018-03-18 13:24



Je vais le vérifier et revenir sur ça ... Thankx - bikram990
le realloc(mem_ptr, 0) la fonction libère de la mémoire précédemment allouée avec malloc, calloc, etc. Si ce pointeur a été corrompu de quelque façon que ce soit, vous essayez de libérer de la mémoire que vous ne possédez pas et cela génère une erreur de segmentation - Warren Hill