2

Верно ли, что в файловых системах FAT максимальное число файлов на файловую систему равно количеству записей в таблице FAT. Также верно и то, что в индексированных файловых системах максимальное количество файлов в файловой системе равно числу индексных блоков - 1.

Я читаю кое-что и пытаюсь понять это.

2 ответа2

3

Файловые системы на базе MS FAT имеют ограничение на количество файлов, которые могут быть сохранены в корневом каталоге (несколько сотен IIRC), и из-за того, что длинные имена файлов хранятся в именах файлов / каталогов длиннее, чем традиционные "8+3" будет потреблять больше, чем один из записей в пределе.

Для подкаталогов FAT32 допускает ~ 65 000 записей в подкаталог (опять же, длинные имена файлов занимают более одного слота), я не уверен насчет более старого FAT16. Другие файловые системы имеют аналогичные ограничения (ext2/3 имеет ограничение на вход в 32 000 без определенных настроек), некоторые не имеют или фактически не делают (NTFS допускает ~ 4 000 000 000). Вы столкнетесь с проблемами производительности в некоторых файловых системах задолго до того, как достигнете предела записей для каждого каталога, как это делают линейные поисковые каталоги (FAT * do, ext2, ext3, если только вы не указали индексируемые каталоги, ext4 и NTFS не проиндексировали каталоги по умолчанию IIRC) ,

0

В файловой системе FAT каждый файл получает как минимум один кластер выделения, если файл не пустой. Но каталоги также занимают кластеры. Это косвенное ограничение. Точная формула зависит от некоторых параметров, таких как длина имен файлов. Файлы с размером = 0 - это особый случай.

Примерно правильно, следующий. Если все файлы имеют размер больше нуля, то максимальное количество файлов меньше, чем количество единиц размещения в таблице FAT.

Возможно, аналогичная идея применима для индексированных файловых систем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .