Vraag Verschil tussen de i386-download en de amd64?


Wat is het verschil tussen standaard i386-download en de amd64-download van Ubuntu 11.04? Ik run momenteel de i386 op een amd-computer, zou mijn systeem beter werken met de amd64-download in plaats daarvan? (mijn machine draaide Windows 7 64bit, maar ik negeerde daarnaar voordat ik Ubuntu installeerde).


149
2017-07-23 23:57


oorsprong


Gerelateerd (maar geen duplicaat): Is de 64-bits versie van Ubuntu alleen compatibel met AMD CPU's? - Eliah Kagan
Zie ook: Wat zijn de verschillen tussen 32-bits en 64-bits en welke moet ik kiezen? - Wilf


antwoorden:


i386 verwijst naar de 32-bits editie en amd64 (of x86_64) verwijst naar de 64-bits editie voor Intel- en AMD-processors.

Wikipedia's i386-vermelding:

De Intel 80386, ook wel bekend als de i386, of slechts 386, was een 32-bits microprocessor geïntroduceerd door Intel in 1985 ... Dit wordt x86, IA-32 of de i386-architectuur genoemd, afhankelijk van de context.

Invoer van x86_64 van Wikipedia:

x86-64 is een uitbreiding van de x86-instructieset. Het ondersteunt enorm grotere virtuele en fysieke adresruimten dan mogelijk zijn op x86, waardoor programmeurs gemakkelijk kunnen werken met veel grotere gegevenssets ... Nadat de architectuur onder de naam "x86-64" is gestart, heeft AMD het hernoemd naar AMD64 ... x86 -64 wordt door velen in de branche nog steeds als leveranciersneutrale term gebruikt, terwijl anderen, met name Sun Microsystems (nu Oracle Corporation) en Microsoft, x64 gebruiken.

Zelfs als je een intel CPU hebt, zou je AMD64 moeten gebruiken om 64-bit op je computer te installeren (het gebruikt dezelfde instructiesets).

Ik raad het ten zeerste aan om het te gebruiken. Voor het grootste deel merk je geen verschil, maar voor grote workloads (zoals videobewerking, gaming, enz.), Zal de computer sneller werken (de computer heeft de mogelijkheid om 2 + 2 + 2 = 6 te berekenen in plaats van te hoeven doen 2 + 2 = 4 + 2 = 6 in een voorbeeld). In de Windows-wereld kunt u met een 32-bits besturingssysteem niet meer dan 3,5 Gigs RAM op uw computer gebruiken (zelfs als u er 8 hebt!). U zou een 64-bits besturingssysteem moeten gebruiken om alle RAM volledig te gebruiken. Voor Linux is er echter geen limiet (bedankt, Uri).

Hoe dan ook, de wereld is verschoven van 32 bit en het is alleen daar om oudere machines te ondersteunen die niet in staat zijn om met 64 bit te werken.


150
2017-07-24 00:00



Dat laatste deel is nu (uiteraard in Linux) Gewoon niet waar, je KUNT meer dan de 3,5 GB RAM gebruiken met de PAE-kernel in 32 bit. - Uri Herrera
zou de 3,5 gbs rambeperking van 32bit 4gbs- <grafische kaartgeheugen> niet zijn? - Chriskin
Voor de eenvoud heb ik technische details zoals het geheugen van de grafische kaart weggelaten. Mijn doel was om te zeggen "als je meer dan 3,5-4 optredens hebt, gebruik dan 64 bit".
@Treefroginc Welke exacte tweaks? - Uri Herrera
64 bit is net zo bruikbaar en stabiel als 32 bit met de bijna verwaarloosbare uitzondering van Flash onder bepaalde omstandigheden gedurende een bepaalde tijd van de dag en als de planeten uitlijnen met het verspreiden van kosmische straling.


De architectuur is vernoemd naar AMD omdat AMD het heeft uitgevonden, met de   Athlon 64. Op dezelfde manier is de 32-bits i386-architectuur genoemd   Intel's 386-processor, omdat deze de eerste in zijn soort was, maar i386   zal ook werken op AMD-processors. Dus ja je kunt die ISO-afbeelding gebruiken.

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


40
2018-05-31 21:00





ja je kunt amd64 bit naar Intel 64 bit processor installeren. AMD vond een x86-64 bit-instructieset-processor uit, dus de naam is slechts een eerbetoon aan AMD.


8
2018-05-31 21:23



Bedankt voor het opruimen. Ik weet dat het een eenvoudige vraag was, maar ik kon het antwoord nergens vinden. - Dave Wolover


Ja, u kunt dat .ISO gebruiken. amd64 verwijst naar de architectuur. AMD was de eerste om een ​​64-bits CPU te maken, dus ik geloof dat dit toen werd genoemd, en de naam bleef hangen. Het lijkt een beetje verwarrend, maar amd64 betekent gewoon 64 bit.


6
2018-05-31 20:59



Ze waren niet de eersten die een 64-bit CPU creëerden. Intel had er al eerder een maar was niet achterwaarts compatibel, dus werd niet op grote schaal gebruikt. De naam amd64 moest de AMD-architectuur differentiëren van Intels IA64, die nu is stopgezet. - psusi


Het verschil tussen amd64 en i386 is dat amd64 is 64-bits terwijl i386 is 32-bits. Dit is de breedte (in bits) van registers die beschikbaar zijn in de kern.

In feite is het grootste aantal dat een 32-bits CPU-kern in één keer aankan iets meer dan 4,29 miljard, terwijl een 64-bits kern een aantal van iets meer dan 18,44 miljard miljard kan verwerken.

De kernen in moderne pc's kunnen zich gedragen als een 64-bits of een 32-bits processor, afhankelijk van de versie van het besturingssysteem dat u hebt geïnstalleerd.

64-bits code heeft de neiging sneller te werken dan 32-bits code, omdat het ook grotere aantallen onderweg aankan of omdat de 64-bits kernen meer registers hebben, zodat meer dingen kunnen worden opgeslagen zonder dingen in het externe geheugen te hoeven zetten. Hoewel er geen garantie is dat 64-bits code sneller zal werken als de code niet is geschreven om te profiteren van de extra functies van de processor.

Compileren op een 32-bits systeem zal een andere code produceren dan een 64-bits systeem. U kunt dit bewijzen door op de twee systemen compileercode te verzamelen. Ervan uitgaande dat uw C-bestand is myfile.c proberen gcc -S myfile.c op beide systemen en vergelijken mijn bestanden

Goed geschreven code voor een 32-bits systeem moet worden gecompileerd en uitgevoerd op een 64-bits systeem, maar niet alle code is goed geschreven. Veel programmeurs maken aannames over het systeem die mogelijk niet waar zijn: zoals registerbreedte of bytevolgorde.

Zonder toegang tot uw broncode is het moeilijk om te zien wat het probleem is, maar een segmenation fault geeft aan dat er een poging is gedaan om toegang te krijgen tot geheugen dat niet tot het programma behoort. Dit kan bijvoorbeeld aangeven dat mem_ptr is een 32-bit pointer die prima werkt op een 32-bits systeem, maar een 64-bit pointer moet zijn op een 64-bits systeem.


6
2018-03-18 13:24



ik zal het controleren en kom hierop terug ... Bedankt - bikram990
De realloc(mem_ptr, 0) functie bevrijdt geheugen dat eerder is toegewezen met malloc, calloc, etc. Als die aanwijzer op enigerlei wijze is beschadigd, probeert u geheugen vrij te maken dat u niet bezit en dit genereert een segmentatiefout - Warren Hill