Questão Diferença entre o download do i386 e o ​​amd64?


Qual é a diferença entre o download padrão do i386 e o ​​download do Ubuntu 11.04? No momento, estou executando o i386 em uma máquina AMD. Meu sistema funcionaria melhor com o download do amd64? (minha máquina estava rodando o Windows 7 64bit, mas eu deixei de olhar para isso antes de instalar o Ubuntu).


149
2017-07-23 23:57


origem


Relacionado (mas não duplicado): A versão de 64 bits do Ubuntu é compatível apenas com processadores AMD? - Eliah Kagan
Veja também: Quais são as diferenças entre 32 bits e 64 bits e quais devo escolher? - Wilf


Respostas:


i386 refere-se à edição de 32 bits e amd64 (ou x86_64) refere-se à edição de 64 bits para processadores Intel e AMD.

Entrada do i386 da Wikipedia:

O Intel 80386, também conhecido como i386, ou apenas 386, foi um microprocessador de 32 bits lançado pela Intel em 1985 ... Isso é chamado de x86, IA-32 ou arquitetura i386, dependendo do contexto.

Entrada x86_64 da Wikipédia:

x86-64 é uma extensão do conjunto de instruções x86. Ele suporta espaços de endereçamento virtuais e físicos vastamente maiores do que os possíveis no x86, permitindo que os programadores trabalhem convenientemente com conjuntos de dados muito maiores ... Depois de lançar a arquitetura sob o nome "x86-64", a AMD renomeou o AMD64 ... x86 -64 ainda é usado por muitos na indústria como um termo neutro de fornecedor, enquanto outros, notavelmente Sun Microsystems (agora Oracle Corporation) e Microsoft, usam x64.

Mesmo se você tiver uma CPU Intel, você deve usar o AMD64 para instalar 64 bits em seu computador (ele usa os mesmos conjuntos de instruções).

Eu recomendo usá-lo. Para a maior parte você não notará a diferença, mas para grandes cargas de trabalho (como edição de vídeo, jogos, etc), o computador terá um desempenho mais rápido (o computador tem a capacidade de calcular 2 + 2 + 2 = 6 em vez de ter que fazer 2 + 2 = 4 + 2 = 6 em um exemplo). No mundo do Windows, um sistema operacional de 32 bits não permitirá que você use mais de 3.5 GB de RAM em seu computador (mesmo que você tenha 8!). Você precisaria usar um sistema operacional de 64 bits para usar toda a RAM. Para o Linux, no entanto, não existe esse limite (obrigado, Uri).

Independentemente disso, o mundo mudou de 32 bits e está lá apenas para suportar máquinas mais antigas que são incapazes de executar 64 bits.


150
2017-07-24 00:00



Essa última parte, é agora (no Linux, claro) Só não é verdade, você pode usar mais do que os 3,5 GB de RAM com o kernel do PAE em 32 bits. - Uri Herrera
os 3,5g de limitação de memória ram de 32bit seriam 4gbs- <memory card de placa gráfica>? - Chriskin
Por uma questão de simplicidade, omiti detalhes técnicos, como a memória da placa gráfica. Meu objetivo era dizer "se você tiver mais de 3,5 a 4 GB, use 64 bits".
@Treefroginc Que ajustes exatos? - Uri Herrera
64 bits é tão usável e estável quanto 32 bits com a exceção quase insignificante do Flash em certas circunstâncias durante um certo período do dia e se os planetas se alinham fornecendo raios cósmicos.


A arquitetura recebeu o nome da AMD porque a AMD a inventou, com o   Athlon 64. Da mesma forma, a arquitetura i386 de 32 bits é nomeada   386 processador da Intel, porque foi o primeiro de seu tipo, mas i386   também funcionará em processadores AMD. Então sim, você pode usar essa imagem ISO.

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


40
2018-05-31 21:00





sim, você pode instalar o amd64 bit no processador Intel de 64 bits. A AMD inventou o processador de conjunto de instruções x86-64 bits, então o nome é apenas um tributo à AMD.


9
2018-05-31 21:23



Obrigado por esclarecer isso. Eu sei que foi uma pergunta simples, mas não consegui encontrar a resposta em nenhum lugar. - Dave Wolover


Sim, você pode usar isso. amd64 refere-se à arquitetura. A AMD foi a primeira a criar uma CPU de 64 bits, então acredito que ela foi nomeada na época e o nome ficou preso. Parece um pouco confuso, mas amd64 significa apenas 64 bits.


6
2018-05-31 20:59



Eles não foram os primeiros a criar uma CPU de 64 bits. A Intel tinha uma antes, mas não era compatível com versões anteriores, por isso não foi amplamente adotada. O nome amd64 era para diferenciar a arquitetura da AMD do IA64 da Intel, que agora foi descontinuado. - psusi


A diferença entre amd64 e i386 é aquele amd64 é 64 bits enquanto i386 é 32 bits. Esta é a largura (em bits) dos registros disponíveis no núcleo.

Basicamente, o maior número que um processador de 32 bits pode suportar de uma só vez é pouco mais de 4,29 bilhões, enquanto um núcleo de 64 bits pode lidar com pouco mais de 18,44 bilhões de bilhões.

Os núcleos em PCs modernos são capazes de se comportar como um processador de 64 bits ou de 32 bits, dependendo da versão do sistema operacional que você instalou.

O código de 64 bits tende a ser executado mais rapidamente do que o código de 32 bits porque pode lidar com números maiores em andamento ou porque os núcleos de 64 bits têm mais registros, portanto podem armazenar mais coisas sem precisar colocar coisas na memória externa. Embora não haja garantia de que o código de 64 bits funcionará mais rapidamente se o código não tiver sido gravado para aproveitar os recursos extras do processador.

Compilar em um sistema de 32 bits produzirá código diferente de um sistema de 64 bits. Você pode provar isso compilando o código assembly nos dois sistemas. Assumindo que seu arquivo C é myfile.c experimentar gcc -S myfile.c em ambos os sistemas e comparar meus arquivos

Um código bem escrito para um sistema de 32 bits deve ser compilado e executado em um sistema de 64 bits, mas nem todo código é bem escrito. Muitos programadores fazem suposições sobre o sistema que podem não ser verdadeiras: como largura de registro ou ordem de byte.

Sem acesso ao seu código-fonte, é difícil ver qual é o problema, mas um segmenation fault indica que foi feita uma tentativa de acessar a memória que não pertence ao programa. Isto pode, por exemplo, indicar que mem_ptr é um ponteiro de 32 bits que é bom em um sistema de 32 bits, mas precisa ser um ponteiro de 64 bits em um sistema de 64 bits.


6
2018-03-18 13:24



Eu vou verificar e voltar a isso ... Thankx - bikram990
o realloc(mem_ptr, 0) função está liberando memória previamente alocada com malloc, calloc, etc. Se esse ponteiro foi corrompido de alguma forma, então você está tentando liberar a memória que não possui e isso gera uma falha de segmentação - Warren Hill