X32 ABI

x32 ABI — находящийся в стадии разработки проект двоичного интерфейса приложений для Linux, который позволяет компилировать программы для x32 ABI и работать в 64-разрядном режиме x86-64 с использованием 32-битных указателей и полей данных[1][2][3]. Хотя это ограничивает виртуальное адресное пространство программы максимумом в 4 Гб, это также уменьшает объём памяти, занимаемой программами, а в некоторых случаях может позволить им работать быстрее[1][2][3]. Лучшие результаты во время тестирования были получены в тесте 181.mcf SPEC CPU 2000, для которого результат x32 версии ABI оказался на 32 % быстрее, чем для x86-64 версии[3][4]. Иными словами, x32 ABI удобен для программ, использующих не более 4 Гб виртуальной памяти.

История

Несколько человек обсуждали преимущества x86-64 ABI с 32-битными указателями после выпуска Athlon 64 в 2003 году (в частности, Дональд Кнут в 2008 году[5]). Затем был малозаметный публично прогресс реализации такого режима до 27 августа 2011 года, когда H. Peter Anvin объявил в списке рассылки ядра Linux, что он и HJ Lu работали над x32-ABI[6].

В тот же день Линус Торвальдс выразил обеспокоенность тем, что использование 32-разрядного значения времени в x32 ABI может привести к проблемам в будущем[7][8]. Это потому, что использование 32-разрядного значения времени приведёт к переполнению значения времени в 2038 году[7][8]. Разработчики x32 ABI планируют изменить значения времени на 64-битные[3][9].

x32 ABI вошёл в релиз ядра Linux 3.4.[10]

На декабрь 2018 года x32 ABI считался устаревшим и готовился к полному удалению поддержки из ядра linux.[11]

Примечания

  1. 1 2 Thorsten Leemhuis (13 сентября 2011). Kernel Log: x32 ABI gets around 64-bit drawbacks. www.h-online.com. Архивировано 28 октября 2011. Дата обращения: 1 ноября 2011.
  2. 1 2 x32 - a native 32-bit ABI for x86-64. linuxplumbersconf.org. Архивировано 5 мая 2012. Дата обращения: 12 июня 2012.
  3. 1 2 3 4 x32-abi. Google Sites. Архивировано 30 октября 2011. Дата обращения: 1 ноября 2011.
  4. 181.mcf SPEC CPU2000 Benchmark Description File. Standard Performance Evaluation Corporation. 14 октября 1999. Архивировано 8 сентября 2018. Дата обращения: 1 ноября 2011.
  5. Donald Knuth. Recent News: A Flame About 64-bit Pointers (февраль 2008). Дата обращения: 15 мая 2012. Архивировано 26 сентября 2012 года.
  6. H. Peter Anvin. RFD: x32 ABI system call numbers (27 августа 2012). Дата обращения: 15 мая 2012. Архивировано 26 сентября 2012 года.
  7. 1 2 Jonathan Corbet (29 августа 2011). The x32 system call ABI. LWN.net. Архивировано 7 мая 2022. Дата обращения: 1 ноября 2011.
  8. 1 2 Linus Torvalds (26 августа 2011). Re: RFD: x32 ABI system call numbers. LWN.net. Архивировано 1 декабря 2017. Дата обращения: 1 ноября 2011.
  9. H. Peter Anvin (29 августа 2011). Re: RFD: x32 ABI system call numbers. LWN.net. Архивировано 16 ноября 2011. Дата обращения: 1 ноября 2011.
  10. Linux 3.4 - Linux Kernel Newbies. Дата обращения: 12 августа 2012. Архивировано 15 августа 2012 года.
  11. LKML: Andy Lutomirski: Can we drop upstream Linux x32 support? Дата обращения: 12 мая 2020. Архивировано 8 ноября 2020 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.