Qual é o status atual da implementação x32 ABI no Ubuntu a partir de 14.04?

10

As 14.04 notas de versão contêm a seguinte frase:

  

O suporte X32 ABI (modo de 64 bits com ponteiros de 32 bits) também foi introduzido.

Eu acho que isso merece um pouco mais de explicação. Quando você usa um mecanismo de pesquisa para descobrir mais sobre "x32 ABI", você pode encontrar um artigo da Wikipedia na melhor das hipóteses, mas principalmente Phoronix e Slashdot, que não parecem ser muito úteis.

Gostaria de ver algumas respostas perspicazes sobre:

  • Como ou o que é o x32 ABI atualmente implementado em 14.04?
    • Está habilitado por padrão em 14.04 64 bits ou há alguma etapa adicional necessária para configurar o x32 ABI?
    • Quais componentes ou qual software pode usar a ABI x32?
  • Existem benefícios reais em uma máquina / instalação executando x32 ABI?
    • Como é o consumo de memória em comparação com instalações padrão de 32 bits e 64 bits?

Idealmente, o x32 ABI deveria ter trazido o melhor dos dois mundos juntos: A maioria das melhorias de velocidade do x86-64 e menor consumo de memória para os usuários em Hardware antigo de 64 bits que não tem muita memória RAM .

    
por LiveWireBT 21.04.2014 / 14:31

1 resposta

5

Na instalação de 64 bits, você experimentará grandes diferenças no uso de memória (especialmente para aplicativos como chrome, firefox, mysql e java).

Este é um efeito colateral bem conhecido dos sistemas operacionais de 64 bits, de qualquer forma, o 64bit também traz outra vantagem.

Aqui vem o x32 ABI : um recurso do kernel que serve exatamente para limitar esse problema.

O que é x32 ABI:
De acordo com o este pdf , ele fornece uma grande vantagem de memória em comparação com um padrão normal de 64 bits. SO (até 40% de melhoria).

Agora, se eu entendi que x32-ABI requer :

  • Linux Kernel 3.4 compilado com CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2,16
  • Recompilando todas as bibliotecas do sistema, exigidas por um aplicativo, com o gcc -mx32

Como experimentá-lo
O novo kernel tem o sinalizador requerido por padrão, então você precisa apenas do empacotado compilado da maneira correta (aqui o Gentoo tem certeza de regras;)
No Ubuntu eu não tenho certeza se existe algum repositório / ppa para isso, de qualquer forma o Debian e o Arch tem alguma solução:

Debian

Arch

  • Aqui um repositório com muitos pacotes X32 (como o chromium, mysql): link
por Postadelmaga 19.03.2015 / 05:10