Другая причина, по которой он является теоретическим, заключается в отсутствии опыта реализации.
Программисты часто определяют размер переменных намного раньше, чем может аппаратное обеспечение, чтобы ядру не требовалось рискованного копирования -и -замены программирования, поскольку аппаратное обеспечение с такими возможностями появляется десятилетие или более спустя..
Однако переменный размер не является единственным ограничением. Структуры данных и их алгоритмы накладывают свои ограничения. Представьте на мгновение, что вы выполняете линейный обход структуры данных, описывающей каждую страницу размером 4 КБ из этих 128 ТБ. Есть несколько очевидных ответов :не используйте страницы размером 4 КБ, не используйте линейную структуру данных, не обращайтесь к этим структурам данных часто, максимально разгрузите аппаратное обеспечение. Но есть более тонкие ограничения структуры данных + алгоритма, о которых мы не узнаем, пока не столкнемся с ними.
Мы знаем, что если завтра мы волшебным образом обнаружим компьютер на 128 ТБ и попытаемся загрузить на нем Linux, он будет работать ужасно, и, возможно, настолько ужасно, что не запустится. Но исправление алгоритмов тривиально, исправление структур данных — это некоторая работа, но все же гораздо меньшая, чем исправление размера широко -понимаемой переменной. Таким образом, мы увидим изменения такого рода по мере увеличения объема памяти.
Обычно пользовательские каталоги /home называются по имени пользователя. В качестве простой предварительной проверки вы можете сравнить имя каталога в /home с именем пользователя в /etc/passwd. Если вы не найдете подходящей записи в /etc/passwd, вы можете дополнительно подтвердить свой процесс принятия решения с помощью аргумента nouser -команды find.
Пожалуйста, не забудьте перейти домой, вы определенно не хотите запускать последнюю команду из /.
Список всех каталогов без пользователя:
cd /home ; find -type d -maxdepth 1 -nouser
ОПАСНО Чтобы переместить их ПОСЛЕ проверки:
cd /home ; mkdir abandoned; find -type d -maxdepth 1 -nouser -exec mv -iv \{\} 'abandoned' \;