Qual è lo stato attuale dell'implementazione ABI x32 in Ubuntu al 14.04?


11

Le note sulla versione 14.04 contengono la seguente frase:

È stato inoltre introdotto il supporto ABI X32 (modalità 64 bit con puntatori a 32 bit).

Penso che questo meriti qualche spiegazione in più. Quando usi un motore di ricerca per saperne di più su "x32 ABI", potresti trovare un articolo di Wikipedia nella migliore delle ipotesi, ma soprattutto Phoronix e Slashdot, che non sembrano essere molto utili.

Mi piacerebbe vedere alcune risposte perspicaci su:

  • Come o cosa di x32 ABI è attualmente implementato in 14.04?
    • È abilitato per impostazione predefinita in 14.04 64-Bit o sono necessari passaggi aggiuntivi per configurare ABI x32?
    • Quali componenti o quale software può utilizzare ABI x32?
  • Ci sono vantaggi effettivi su una macchina / installazione che esegue ABI x32?
    • In che modo è il consumo di memoria rispetto alle installazioni predefinite a 32 e 64 bit?

Idealmente l'ABI x32 avrebbe dovuto riunire il meglio dei due mondi: la maggior parte dei miglioramenti della velocità di x86-64 e un consumo di memoria inferiore per gli utenti su hardware con 64 bit più vecchi che non avevano molta RAM .


Sono curioso di questo da solo. Una cosa che posso dirti sull'utilizzo della memoria x32 è che utilizza l'indirizzamento a 32 bit (stesso limite di 4 GB di x86). Poiché i processori a 64 bit utilizzano l'indirizzamento della memoria a 64 bit, i riferimenti di memoria devono essere archiviati in memoria a 64 bit - il doppio dei 32 bit necessari per memorizzare i riferimenti di memoria in modalità 32 bit. Pertanto, a 64 bit è implicitamente peggiore in memoria in alcuni casi quando vengono utilizzati molti riferimenti di memoria (puntatori).
Chuck R,

Risposte:


5

Sull'installazione a 64 bit riscontrerai grandi differenze nell'utilizzo della memoria (specialmente per app come Chrome, Firefox, MySQL e Java).

Questo è un noto effetto collaterale dei sistemi operativi a 64 bit, tuttavia 64 bit offre anche qualche altro vantaggio.

Ecco che arriva x32 ABI: una funzione del kernel che ha lo scopo di limitare esattamente questo problema.

Che cos'è x32 ABI:
secondo questo pdf offre un grande vantaggio di memoria rispetto a un normale sistema operativo a 64 bit (anche il 40% di miglioramento).

Ora, se ho capito che x32-ABI richiede :

  • Kernel Linux 3.4 compilato con CONFIG_X86_X32 = y
  • CCG 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Ricompilazione di tutte le librerie di sistema, richieste da un'applicazione, con gcc -mx32

Come provarlo Il
nuovo kernel ha il flag richiesto per impostazione predefinita, quindi hai bisogno solo del pacchetto compilato nel modo giusto (qui Gentoo per certe regole;)
Su Ubuntu non sono sicuro che ci sia un repository / ppa per questo, comunque Debian e Arch avere qualche soluzione:

Debian

Arco


Suppongo che abbia bisogno di aggiungere opzioni del kernel in grub come detto nel wiki di Debian.
jarno,

1
Dal punto di vista dell'utente finale Ubuntu, l'installazione di un sistema Ubuntu x32-ABI sembra essere troppo difficile :(
jarno
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.