Was ist der Unterschied zwischen dem Standard-i386-Download und dem amd64-Download von Ubuntu 11.04? Ich arbeite derzeit mit dem i386 auf einem AMD-Computer. Würde mein System stattdessen besser mit dem AMD64-Download funktionieren? (Auf meinem Computer lief Windows 7 64-Bit, aber ich habe es versäumt, mir das vor der Installation von Ubuntu anzuschauen.)
architecture
rauben
quelle
quelle
Antworten:
i386 bezieht sich auf die 32-Bit-Edition und amd64 (oder x86_64) bezieht sich auf die 64-Bit-Edition für Intel- und AMD-Prozessoren.
Wikipedia's i386 Eintrag:
Wikipedia's x86_64 Eintrag:
Selbst wenn Sie eine Intel-CPU haben, sollten Sie AMD64 verwenden, um 64-Bit auf Ihrem Computer zu installieren (es werden dieselben Befehlssätze verwendet).
Ich kann es nur empfehlen. Meistens werden Sie keinen Unterschied bemerken, aber bei großen Arbeitslasten (wie Videobearbeitung, Spielen usw.) ist die Leistung des Computers schneller (der Computer kann 2 + 2 + 2 = 6 berechnen, anstatt dies zu tun) 2 + 2 = 4 + 2 = 6 in einem Beispiel). In der Windows-Welt können Sie mit einem 32-Bit-Betriebssystem nicht mehr als 3,5 GB RAM auf Ihrem Computer verwenden (auch wenn Sie 8 haben!). Sie müssten ein 64-Bit-Betriebssystem verwenden, um den gesamten Arbeitsspeicher voll auszunutzen. Für Linux gibt es jedoch keine solche Grenze (danke, Uri).
Ungeachtet dessen hat sich die Welt von 32 Bit verschoben und unterstützt nur ältere Maschinen, die nicht in der Lage sind, 64 Bit auszuführen.
quelle
Quelle: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386
quelle
Ja, Sie können amd64-Bit auf Intel 64-Bit-Prozessor installieren. AMD hat den x86-64-Bit-Befehlssatz-Prozessor erfunden, sodass der Name nur eine Hommage an AMD ist.
quelle
Der Unterschied zwischen amd64 und i386 ist , dass Amd64 ist 64 Bit , während i386 ist 32 Bit . Dies ist die Breite (in Bit) der im Kern verfügbaren Register.
Grundsätzlich ist die größte Zahl, die ein 32-Bit-CPU-Kern auf einmal verarbeiten kann, etwas mehr als 4,29 Milliarden, während ein 64-Bit-Kern eine Zahl von etwas mehr als 18,44 Milliarden, Milliarden verarbeiten kann.
Die Kerne in modernen PCs können sich je nach Version des installierten Betriebssystems entweder als 64-Bit- oder als 32-Bit-Prozessor verhalten.
64-Bit-Code wird in der Regel schneller ausgeführt als 32-Bit-Code, entweder weil er größere Zahlen im laufenden Betrieb verarbeiten kann oder weil die 64-Bit-Kerne mehr Register haben, sodass mehr Dinge gespeichert werden können, ohne dass Dinge in einem externen Speicher abgelegt werden müssen. Es gibt jedoch keine Garantie dafür, dass 64-Bit-Code schneller ausgeführt wird, wenn der Code nicht geschrieben wurde, um die zusätzlichen Funktionen des Prozessors zu nutzen.
Das Kompilieren auf einem 32-Bit-System erzeugt einen anderen Code als ein 64-Bit-System. Sie können dies beweisen, indem Sie den Assemblycode auf beiden Systemen kompilieren. Angenommen, Ihre C-Datei ist myfile.c, versuchen Sie es
gcc -S myfile.c
auf beiden Systemen und vergleichen Sie myfile.sGut geschriebener Code für ein 32-Bit-System sollte auf einem 64-Bit-System kompiliert und ausgeführt werden, aber nicht der gesamte Code ist gut geschrieben. Viele Programmierer treffen Annahmen über das System, die möglicherweise nicht zutreffen, wie z. B. die Registerbreite oder die Bytereihenfolge.
Ohne Zugriff auf Ihren Quellcode ist das Problem nur schwer zu erkennen, aber a
segmenation fault
weist darauf hin, dass versucht wurde, auf Speicher zuzugreifen, der nicht zum Programm gehört. Dies kann beispielsweise darauf hinweisen, dass mem_ptr ein 32-Bit-Zeiger ist, der in einem 32-Bit-System in Ordnung ist, in einem 64-Bit-System jedoch ein 64-Bit-Zeiger sein muss.quelle
realloc(mem_ptr, 0)
Funktion wird befreien Speicher zuvor zugewiesenen mitmalloc
,calloc
usw. Wenn der Zeiger in irgendeiner Weise beschädigt worden ist, dann Sie versuchen , werden Sie freien Speicher nicht besitzen und dies erzeugt einen Segmentation FaultJa, Sie können diese ISO-Datei verwenden. amd64 bezieht sich auf die architektur. AMD war der erste, der eine 64-Bit-CPU entwickelte. Ich glaube, der Name wurde damals so genannt, und der Name ist geblieben. Es scheint ein wenig verwirrend, aber amd64 bedeutet nur 64-Bit.
quelle