14.04 itibariyle Ubuntu'daki x32 ABI uygulamasının şu anki durumu nedir?


11

14.04 sürüm notları şu cümle yer:

X32 ABI desteği (32 bit işaretçilerle 64 bit modu) de tanıtıldı.

Bence bu biraz daha açıklamayı hak ediyor. "X32 ABI" hakkında daha fazla bilgi edinmek için bir arama motoru kullandığınızda, en iyi ihtimalle bir Wikipedia makalesi bulabilirsiniz , ancak çoğunlukla Phoronix ve Slashdot gibi çok yararlı görünmüyor.

Şununla ilgili bazı anlayışlı cevaplar görmek istiyorum:

  • 14.04'te şu anda x32 ABI nasıl veya ne uygulanıyor?
    • 14.04 64 Bit'te varsayılan olarak etkin mi veya x32 ABI'yı kurmak için ek adımlar gerekiyor mu?
    • X32 ABI hangi bileşenleri veya hangi yazılımları kullanabilir?
  • X32 ABI çalıştıran bir makinede / kurulumda gerçek faydalar var mı?
    • Varsayılan 32-Bit ve 64-Bit kurulumlarla karşılaştırıldığında bellek tüketimi nasıl?

İdeal olarak, x32 ABI, her iki dünyanın en iyisini bir araya getirmiş olmalıydı: Çok fazla RAM'e sahip olmayan eski 64-Bit özellikli donanımlarda kullanıcılar için x86-64'ün hız iyileştirmelerinin ve daha düşük bellek tüketiminin çoğu .


Bunu kendim merak ediyorum. Size x32 bellek kullanımı hakkında söyleyebileceğim bir şey, 32 bit adresleme kullanmasıdır (x86 ile aynı 4GB sınırı). 64 bit işlemciler 64 bit bellek adresleme kullandığından, bellek referanslarının bellekte 64 bit olarak depolanması gerekir - bellek referanslarını 32 bit modunda depolamak için gereken 32 bitin iki katı. Bu nedenle, 64 bit, bazı durumlarda çok sayıda bellek başvurusu (işaretçi) kullanıldığında bellekte dolaylı olarak daha kötüdür.
Chuck R

burada performans ve x32 ile ilgili bir çalışma: cds.cern.ch/record/1528222/files/LHCb-TALK-2013-060.pdf
Postadelmaga

Yanıtlar:


5

64 bit kurulumda bellek kullanımında büyük farklılıklar yaşayacaksınız (özellikle krom, firefox, mysql ve java uygulamaları gibi uygulamalar için).

Bu 64bit işletim sistemlerinin iyi bilinen bir yan etkisidir zaten 64bit başka bir avantaj da getiriyor.

İşte geliyor x32 ABI: tam olarak bu sorunu sınırlamak için bir çekirdek özelliği.

X32 ABI nedir: bu pdf'ye
göre 64bit normal işletim sistemine kıyasla büyük bellek avantajı sağlar (hatta% 40 geliştirme).

Şimdi x32-ABI'nin gerektirdiğini anladıysam :

  • CONFIG_X86_X32 = y ile derlenmiş Linux Çekirdeği 3.4
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Bir uygulamanın gerektirdiği tüm sistem kitaplıklarını gcc -mx32 ile yeniden derleme

Nasıl denenir?
Yeni çekirdek varsayılan olarak gerekli bayrağa sahiptir, bu yüzden sadece doğru şekilde derlenmiş paketlere ihtiyacınız vardır (burada kesin kurallar için Gentoo;)
Ubuntu'da bunun için herhangi bir depo / ppa olduğundan emin değilim, yine de Debian ve Arch bazı çözüm var:

Debian

kemer


Ben Debian wiki söyledi gibi grub içinde çekirdek seçenekleri eklemek gerekiyor varsayalım.
jarno

1
Ubuntu son kullanıcının bakış açısından, bir x32-ABI Ubuntu sistemi kurmak çok zor görünüyor :(
jarno
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.