Другая причина, по которой он носит теоретический характер, - отсутствие опыта внедрения.
Программистам свойственно измерять переменные намного раньше того, на что способно аппаратное обеспечение, так что ядру не нужно рискованное программирование с заменой и заменой, поскольку аппаратное обеспечение с такими возможностями появляется спустя десятилетие или более.
Однако размер переменной не единственный предел. Структуры данных и их алгоритмы накладывают свои ограничения. Представьте себе на мгновение линейный обход структуры данных, описывающей каждую страницу размером 4 КБ из этих 128 ТБ. Есть некоторые очевидные ответы: не используйте страницы размером 4 КБ, не используйте линейную структуру данных, не часто обращайтесь к этим структурам данных, максимально разгрузите аппаратное обеспечение. Но есть более тонкая структура данных + ограничения алгоритма, о которых мы не узнаем, пока не столкнемся с ними.
Мы знаем, что если завтра мы волшебным образом обнаружим ПК объемом 128 ТБ и попытаемся загрузить на него Linux, он будет работать ужасно, и, возможно, настолько ужасно, что не запустится. Но исправление алгоритмов тривиально, исправление структур данных - это некоторая работа, но все же гораздо меньше, чем исправление размера широко понятной переменной. Таким образом, мы увидим изменения такого рода по мере увеличения объема памяти.