สถานะปัจจุบันของการนำ x32 ABI ไปใช้ใน Ubuntu ตั้งแต่ 14.04 คืออะไร


11

บันทึกประจำรุ่น 14.04มีประโยคต่อไปนี้:

รองรับ X32 ABI (โหมด 64 บิตพร้อมตัวชี้ 32 บิต)

ฉันคิดว่านี่สมควรได้รับคำอธิบายเพิ่มเติมอีกเล็กน้อย เมื่อคุณใช้เครื่องมือค้นหาเพื่อค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ "x32 ABI" คุณอาจพบบทความ Wikipediaที่ดีที่สุด แต่ส่วนใหญ่เป็น Phoronix และ Slashdot ซึ่งดูเหมือนจะไม่เป็นประโยชน์มากนัก

ฉันต้องการที่จะเห็นคำตอบที่ชาญฉลาดใน:

  • x32 ABI ในปัจจุบันมีการใช้งานอย่างไรหรืออย่างไรใน 14.04
    • มันเปิดใช้งานโดยค่าเริ่มต้นใน 14.04 64-Bit หรือมีขั้นตอนเพิ่มเติมที่จำเป็นสำหรับการติดตั้ง x32 ABI หรือไม่
    • ส่วนประกอบใดหรือซอฟต์แวร์ใดที่สามารถใช้ x32 ABI
  • มีประโยชน์จริง ๆ กับเครื่องจักร / การติดตั้งที่ใช้ x32 ABI หรือไม่?
    • ปริมาณการใช้หน่วยความจำเป็นอย่างไรเมื่อเปรียบเทียบกับการติดตั้งแบบ 32- บิตและ 64- บิตเริ่มต้น

โดยหลักการแล้ว x32 ABI ควรจะนำสิ่งที่ดีที่สุดของทั้งสองโลกมารวมกัน: การปรับปรุงความเร็วส่วนใหญ่ของ x86-64 และการใช้หน่วยความจำลดลงสำหรับผู้ใช้บนฮาร์ดแวร์ที่มีความสามารถ 64- บิตรุ่นเก่าที่ไม่มี RAMมาก


ฉันอยากรู้เกี่ยวกับตัวเอง สิ่งหนึ่งที่ฉันสามารถบอกคุณได้เกี่ยวกับการใช้หน่วยความจำ x32 คือมันใช้การกำหนดแอดเดรสแบบ 32 บิต (ขีด จำกัด 4GB เดียวกันกับ x86) เนื่องจากตัวประมวลผล 64 บิตใช้การกำหนดแอดเดรสหน่วยความจำ 64 บิตการอ้างอิงหน่วยความจำจึงจำเป็นต้องเก็บไว้ในหน่วยความจำ 64 บิต - สองเท่าของ 32 บิตที่จำเป็นในการจัดเก็บการอ้างอิงหน่วยความจำในโหมด 32 บิต ดังนั้น 64- บิตจะแย่ลงในหน่วยความจำในบางกรณีเมื่อมีการใช้การอ้างอิงหน่วยความจำ (พอยน์เตอร์) จำนวนมาก
Chuck R

นี่คือการศึกษาเกี่ยวกับประสิทธิภาพและ x32: cds.cern.ch/record/1528222/files/LHCb-TALK-2013-060.pdf
Postadelmaga

คำตอบ:


5

ในการติดตั้ง 64 บิตคุณจะพบความแตกต่างอย่างมากในการใช้หน่วยความจำ (โดยเฉพาะอย่างยิ่งสำหรับแอพเช่น chrome, firefox, mysql และ java apps)

นี่เป็นผลข้างเคียงที่รู้จักกันดีของระบบปฏิบัติการ 64 บิตอย่างไรก็ตาม 64 บิตยังมีข้อได้เปรียบอื่น ๆ

ที่นี่มาx32 ABI: คุณลักษณะเคอร์เนลที่มีความหมายเพื่อ จำกัด ปัญหานี้

x32 ABI คืออะไร:
จากไฟล์ PDF นี้มันให้ประโยชน์หน่วยความจำที่ยอดเยี่ยมเมื่อเทียบกับระบบปฏิบัติการ 64 บิตปกติ (เพิ่มประสิทธิภาพแม้แต่ 40%)

ตอนนี้ถ้าฉันเข้าใจx32-ABI แล้ว :

  • เคอร์เนล Linux 3.4 ที่คอมไพล์ด้วย CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • การคอมไพล์ไลบรารีระบบใหม่ทั้งหมดที่แอปพลิเคชันต้องการด้วย gcc -mx32

วิธีทดลองใช้
เคอร์เนลใหม่มีการตั้งค่าสถานะที่ต้องการตามค่าเริ่มต้นดังนั้นคุณต้องใช้เฉพาะแพ็คเกจที่รวบรวมในวิธีที่ถูกต้อง (ที่นี่ Gentoo สำหรับกฎที่แน่นอน;)
บน Ubuntu ฉันไม่แน่ใจว่ามีที่เก็บ / ppa สำหรับเรื่องนี้ มีวิธีแก้ปัญหาบางอย่าง:

Debian

โค้ง


ฉันคิดว่ามันต้องเพิ่มตัวเลือกเคอร์เนลในด้วงอย่างที่บอกใน Debian wiki
jarno

1
จากมุมมองของผู้ใช้ Ubuntu การติดตั้งระบบ Ubuntu x32-ABI ดูเหมือนจะยากเกินไป :(
jarno
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.