web-dev-qa-db-fra.com

Quel est l'état actuel de la mise en œuvre de l'ABI x32 dans Ubuntu à partir de 14.04?

Les notes de version de 14.04 contiennent la phrase suivante:

Le support X32 ABI (mode 64 bits avec pointeurs 32 bits) a également été introduit.

Je pense que cela mérite un peu plus d'explications. Lorsque vous utilisez un moteur de recherche pour en savoir plus sur "x32 ABI", vous pouvez trouver un article Wikipedia au mieux, mais surtout Phoronix et Slashdot, qui ne semblent pas très utiles.

J'aimerais voir des réponses perspicaces sur:

  • Comment ou quoi de x32 ABI est actuellement implémenté dans 14.04?
    • Est-il activé par défaut dans 14.04 64 bits ou des étapes supplémentaires sont-elles nécessaires pour configurer ABI x32?
    • Quels composants ou quels logiciels peuvent utiliser x32 ABI?
  • Existe-t-il des avantages réels sur une machine/installation fonctionnant sous ABI x32?
    • Quelle est la consommation de mémoire par rapport aux installations 32 bits et 64 bits par défaut?

Idéalement, l’ABI x32 aurait dû réunir le meilleur des deux mondes: amélioration de la vitesse de x86-64 et réduction de la consommation de mémoire pour les utilisateurs sur ancien matériel compatible 64 bits ne disposant pas de beaucoup de RAM .

11
LiveWireBT

Sur l'installation 64 bits, vous rencontrerez de grandes différences dans l'utilisation de la mémoire (en particulier pour les applications telles que chrome, firefox, mysql et Java.).

C’est un effet secondaire bien connu des systèmes d’exploitation 64 bits. De toute façon, la version 64 bits apporte également un autre avantage.

Voici x32 ABI: une fonctionnalité du noyau destinée précisément à limiter ce problème.

Quel est x32 ABI:
selon ce pdf il offre un avantage considérable en termes de mémoire par rapport à un système d’exploitation normal 64 bits (même une amélioration de 40%).

Maintenant, si j'ai compris x32-ABI nécessite :

  • Le noyau Linux 3.4 compilé avec CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Recompilation de toutes les bibliothèques système requises par une application avec gcc -mx32

Comment l'essayer
Le nouveau noyau a le drapeau requis par défaut donc vous avez besoin seulement du paquetage compilé de la bonne manière (ici, Gentoo for sure rules;)
Sous Ubuntu, je ne suis pas sûr qu'il existe un référentiel/ppa pour cela, de toute façon, Debian et Arch ont une solution:

Debian

Arch

5
Postadelmaga