Qual é a diferença entre o download padrão do i386 e o download amd64 do Ubuntu 11.04? Atualmente, estou executando o i386 em uma máquina amd. Meu sistema funcionaria melhor com o download do amd64? (minha máquina estava executando o Windows 7 de 64 bits, mas não olhei para isso antes de instalar o Ubuntu).
architecture
Roubar
fonte
fonte
Respostas:
O i386 refere-se à edição de 32 bits e amd64 (ou x86_64) refere-se à edição de 64 bits para os processadores Intel e AMD.
Entrada i386 da Wikipedia:
Entrada x86_64 da Wikipedia:
Mesmo se você tiver uma CPU intel, deve usar o AMD64 para instalar 64 bits no seu computador (ele usa os mesmos conjuntos de instruções).
Eu recomendo usá-lo. Na maioria das vezes, você não notará 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 pode calcular 2 + 2 + 2 = 6 em vez de precisar fazer isso. 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 no seu computador (mesmo se você tiver 8!). Você precisaria usar um sistema operacional de 64 bits para usar totalmente toda a RAM. Para o Linux, no entanto, não existe esse limite (obrigado, Uri).
Independentemente disso, o mundo mudou de 32 bits e só existe para suportar máquinas antigas que são incapazes de executar 64 bits.
fonte
Fonte: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386
fonte
sim, você pode instalar o amd64 bit no processador Intel de 64 bits. A AMD inventou o processador do conjunto de instruções x86-64 bits, de modo que o nome é apenas uma homenagem à AMD.
fonte
A diferença entre amd64 e i386 é que amd64 é de 64 bits enquanto i386 é de 32 bits . Essa é a largura (em bits) dos registros disponíveis no núcleo.
Basicamente, o maior número que um núcleo de CPU 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 um pouco mais de 18,44 bilhões de bilhões.
Os núcleos nos PCs modernos são capazes de se comportar como um processador de 64 ou 32 bits, dependendo da versão do sistema operacional que você instalou.
O código de 64 bits tende a executar mais rapidamente do que o código de 32 bits, porque pode lidar com números maiores em movimento ou porque os núcleos de 64 bits têm mais registros, para que possam armazenar mais coisas sem precisar colocar coisas na memória externa. Embora não haja garantia de que o código de 64 bits seja executado mais rapidamente se o código não tiver sido gravado para aproveitar os recursos extras do processador.
A compilação em um sistema de 32 bits produzirá um código diferente do sistema de 64 bits. Você pode provar isso compilando o código de montagem nos dois sistemas. Supondo que seu arquivo C seja myfile.c, tente
gcc -S myfile.c
nos dois sistemas e compare myfile.sUm código bem escrito para um sistema de 32 bits deve ser compilado e executado em um sistema de 64 bits, mas nem todo o código está bem escrito. Muitos programadores fazem suposições sobre o sistema que podem não ser verdadeiras: como largura do registro ou ordem de bytes.
Sem acesso ao seu código-fonte, é difícil ver qual é o problema, mas a
segmenation fault
indica que foi feita uma tentativa de acessar a memória que não pertence ao programa. Isso pode, por exemplo, indicar que o 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.fonte
realloc(mem_ptr, 0)
função é memória liberando previamente alocado commalloc
,calloc
etc. Se esse ponteiro foi corrompido de alguma forma, em seguida, você está tentando liberar memória que não possui e isto gera uma falha de segmentaçãoSim, você pode usar esse .ISO. amd64 refere-se à arquitetura. A AMD foi a primeira a criar uma CPU de 64 bits, então eu acredito que foi nomeado assim na época, e o nome ficou preso. Parece um pouco confuso, mas amd64 significa apenas 64 bits.
fonte