ในการสนทนาเกี่ยวกับความเข้ากันได้ย้อนหลังใน Linux kernel และ GUI ABIs Alan Cox กล่าวว่า " เคอร์เนล 3.6rc ของฉันจะยังคงใช้ Rogue binary ที่สร้างขึ้นในปี 1992 X กลับเข้ากันได้กับแอพที่เก่ากว่า Linux "
ดังนั้นวิธีที่เข้ากันได้ย้อนหลังเป็น Linux Application binary interfaces ?
อะไรคือไบนารีที่รันได้ที่เก่าแก่ที่สุดที่เขียนจริงและรวบรวมเมื่อหลายปีก่อนที่จะยังคงทำงานบนการกระจายลีนุกซ์สำหรับจุดประสงค์ทั่วไปที่ทันสมัย?
ฉันแน่ใจว่าคำเหล่านั้นทั้งหมดอาจมีการตีความ ความคิดหลักของฉันคือมันไม่ยุติธรรมที่จะเรียกใช้ผ่านเครื่องจำลองหรือเครื่องเสมือนพิเศษหรือนักแปลไบนารี่ แต่สิ่งเหล่านี้บางอย่างอาจถูกสร้างขึ้นใน distros ที่ทันสมัยและการเรียนรู้เกี่ยวกับสิ่งนั้นเป็นส่วนหนึ่งของความสนุกที่นี่
การเปลี่ยนแปลงตามสถาปัตยกรรมฮาร์ดแวร์รูปแบบไฟล์ที่ปฏิบัติการได้ภาษาและการพึ่งพาการโหลดแบบไดนามิกของไลบรารีที่สำคัญก็เป็นที่สนใจเช่นกัน
หมายเหตุเมื่อกฎผ่อนคลายนี่เป็นตัวอย่างหนึ่งของการย้อนกลับ หน้า 2002 Web เล่น a.out executables บน Red Hat Linux ทันสมัยการเจรจาเกี่ยวกับการใช้มันเก่าลินุกซ์ก่อนเอลฟ์ a.out รูปแบบ executables หลังจากทำmodprobe binfmt_aout
และได้รับ/lib/ld.so
และlibc.so.4
อีกครั้งว่าที่น่าสนใจต่อพ่วงสำหรับคำถามนี้ แต่แสดงให้เห็นถึงประเภทของสิ่งที่ สามารถมีส่วนร่วมเมื่อขุดเพิ่มเติมกลับ
อัปเดตสำหรับแฟน ๆ BSD ของคุณมันเป็นเรื่องดีที่จะเห็นว่า iBCS2 สนับสนุนแอป Xenix เก่า (เช่น zork / dungeon-2.5.6 จาก 1990) และแอป SCO OpenServer 5.0.x เป็น NetBSD 4.0.1 ล่าสุด (จากปี 2008): iBCS2 & NetBSD | ขอให้สนุกกับการทำงานแบบเสมือน แต่ดูเหมือนว่าจะแตกใน NetBSD 5.0.x
อัปเดต 2 : หนึ่งปีต่อมาหลังจากได้รับป้าย "ผู้ประกาศข่าว" สำหรับคำถามนี้ฉันยังคงต้องการคำตอบ และเพื่อให้ความกระจ่างเนื่องจากนี่เป็นเรื่องเกี่ยวกับ API จึงควรเป็นไบนารี "ของจริง" (ความยาวไม่เป็นศูนย์) ซึ่งยังคงใช้งานได้อย่างน้อยในแบบดั้งเดิม