Um sistema operacional linux de 32 bits funcionará em desktops modernos compatíveis com 64 bits?

3

Estou construindo um "appliance" mínimo via SuseStudio (OpenSuse 13.x) - nada sofisticado ... apenas executando alguns emuladores nele. Eu gostaria que o sistema operacional fosse compatível com o máximo de estações de trabalho possível, então estou inclinado para 32 bits para suporte a processadores mais antigos. Assumindo que eu não vou fazer nada que consuma muita memória, existe alguma outra razão pela qual eu deveria usar o 64-bit em vez disso?

Posso ter certeza de que um sistema operacional de 32 bits ainda funcionará em uma área de trabalho moderna?

    
por Mike B 07.02.2015 / 22:34

3 respostas

4

Para responder a sua última pergunta primeiro, os processadores x86-64 (também conhecidos como Intel 64, AMD64, x64 ...; basicamente qualquer CPU portátil / desktop de 64 bits que você consiga atualmente) são compatíveis com versões anteriores de 32 bits sistemas operacionais e aplicativos. Portanto, um sistema operacional de 32 bits funcionará em uma área de trabalho moderna.

Quanto ao motivo pelo qual você deve usar 64 bits, o conjunto de instruções de 64 bits adiciona vários recursos que permitem que compiladores gerem códigos mais rápidos (notavelmente, há mais registros e podem armazenar muito mais valores), então o mesmo aplicativo Construído para x86-64, muitas vezes, é executado mais rápido do que quando é construído para o modo de 32 bits na mesma CPU. Isso acontece com o custo de usar mais memória para ponteiros, mas o aumento de velocidade normalmente supera o custo do ponteiro.

Para mais informações sobre tudo isso, confira Wikipedia . Talvez você também esteja interessado no x32, que permite que o software de 32 bits use os recursos de aprimoramento de velocidade de CPUs de 64 bits sem o custo de ponteiro (mas eles são executados somente em CPUs de 64 bits); A Wikipedia também tem detalhes .

    
por 07.02.2015 / 23:03
2

Estou assumindo que sua pergunta é sobre o processador x86.

Aqui está uma solução de compromisso, que é usada no Debian de 32 bits. Produzir todo o sistema para 32 bits, mas também adicionar alguns kernels extras: pea-kernel é 32 bit, mas pode endereçar mais de 4GB (em teoria até 64GB) de memória física, mas apenas 3GB de lógica (3GB por processo, 1GB é usado pelo kernel). O kernel de 64 bits também pode endereçar mais de 4 GB de memória física e 4 GB de lógica por processo de 32 bits. O kernel de 64 bits é mais simples que ervilha e pode ser mais eficiente.

O kernel é relativamente pequeno, então ter uma seleção não irá adicionar muito ao tamanho do seu sistema (você só precisa instalar um). No entanto, isso pode fazer uma grande diferença para os sistemas que possuem o hardware.

    
por 07.02.2015 / 23:28
2

Can I be reasonably certain that a 32-bit OS will still work on a modern desktop?

Sim. Quase todos os processadores compatíveis com 64 bits suportam o modo de 64 bits ou o modo de 32 bits. (Exceções podem ser as primeiras Itanium s, IBM CPUs de energia etc, mas nada mainstream.)

Assuming that I will not be doing anything memory intensive, is there any other reason why I should use 64-bit instead?

Sim, existe. No modo de 32 bits, você pode endereçar até 4GiB de memória. Isso é até 4GiB espaço de endereço virtual. Se você preencher tudo isso com a memória física, não mais se beneficiará da randomização do espaço de endereço . Isso pode não ser um grande problema em sistemas com 128MiB ou pouca memória similar, mas você está sacrificando alguma segurança usando o modo de 32 bits e muita memória.

Você também pode perder alguns recursos que estão disponíveis apenas no modo de 64 bits. Um exemplo disso que pode impactar a segurança é o bit NX . Isso não está em todas as CPUs de 32 bits. Embora isso tenha mais a ver com a idade desses processadores do que com o modo de 64 ou 32 bits.

Atualização 3 anos depois (2018). Estamos chegando agora ao ponto em que a próxima versão do EFI será de apenas 64 bits. Isso pode mudar as coisas.

    
por 07.02.2015 / 23:02