В ядро интегрированы наработки проекта X32, в рамках которого разработан гибридный x86_64 ABI с 32-разрядной адресацией памяти. X32 представляет собой прослойку поверх стандартного x86_64 ABI ядра, позволяющую использовать на 64-разрядных системах 32-разрядную модель адресации памяти. ABI X32 позволяет приложениям использовать все преимущества архитектуры x86_64, такие как дополнительные регистры и более быстрые инструкции, PIC ABI. В то же время ABI X32 даёт возможность работать с 32-разрядными указателями памяти, что позволяет экономить память, способствует более эффективному наполнению процессорного кэша и положительно сказывается на общей скорости исполнения кода. При тестировании в ситуациях, связанных с интенсивной работой с указателями, новый ABI продемонстрировал ускорение исполнения кода вплоть до 30% в сравнении с классическим x86_64 ABI. Ограничением ABI X32 является невозможность адресации из приложения более 4 Гб памяти; |
Творческий подход. Людям пришла замечательная идея, которую они и реализовали, там где хотели. По факту данный ABI является отдельной архитектурой, со своими преимуществами и недостатками, но у сборщиков дистрибутивов и пользователей есть выбор. Сейчас многие ПК, ноутбуки и т.д. ограничены 4Гб ОЗУ при наличии 64-битный процессоров. Надеюсь, что в ближайшее время появится больше ПО с данным ABI.
Этот ABI не может адресовать больше 4Гб памяти на один процесс, а не вообще. Если форкаться, можно забить хоть терабайт.
Поддеркжа этой архитектуры со стороны приложений не требуется, достаточно перекомпиляции.