forummailandlogin 0 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Ну как же не может? Берём файл размером меньше и равный размеру кластера и забиваем им всю память под разными именами. В итоге FAT будет забита записями 0x0FFFFFFF - последний кластер. А в Root Directory не будет ни одной файловой структуры с именем файла 0x00... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба 20 minutes ago, forummailandlogin said: А в Root Directory не будет ни одной файловой структуры с именем файла 0x00... Да, если root dir заполнен аккурат по границе кластера, '0' действительно не будет. Но будет конец цепочки кластеров в любом случае. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Ни какой цепочки не будет т.к. у нас файл размеров в один кластер, а не два или более. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба 1 minute ago, forummailandlogin said: Ни какой цепочки не будет т.к. у нас файл размеров в один кластер, а не два или более. Причем тут размеры файлов? Root dir в FAT32 представляет собой такой же файл из цепочки кластеров. Если в ней 100500 файлов, то цепочка будет, никуда не денется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Мы по-разному понимаем выражение "цепочка кластеров". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Как еще можно понять выражение "цепочка кластеров" применительно к root dir FAT32? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Я не знаю. Я понимаю так. Цепочка кластеров это след по которому можно отследить последовательность расположения данных одного файла. Звено, за звеном. Но применительна она не к Root Directory, а к FAT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Цепочка кластеров может принадлежать файлу, директории или корневой директории в случае FAT32. Признаком конца директории является нулевая запись или конец кластерной цепочки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба Могу простейший вариант предложить: в первом мегабайте флешки разместить таблицу индексов, а файлы писать последовательно, как в tar. Если файл удаляется, остается дырка, но и черт с ней (пока забьем 16ГБ под завязку, скорей, флешка сдохнет; в крайнем случае можно потом вытащить флешку и на компьютере сделать "дефрагментацию"). Если мне понадобится работать с флешками, я себе именно такую псевдофайловую систему и сделаю. А на компьютере написать для нее простенький модуль ядра, чтобы монтировать можно было и работать с файлами, не считывая полностью содержимое всей флешки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 7 апреля, 2021 Опубликовано 7 апреля, 2021 · Жалоба На само деле всё просто. Действительно в FAT32 Root Directory является таким же файлом, а значит информация о нём находится в FAT. Минимальный размер Root Directory как у всех - 1 кластер. как только количество каталожных записей превысит границу кластера, то в FAT на его месте появится номер кластера где искать продолжение. Таким образом и узнаём размер Root Directory что бы не вылетить за его пределы при поиске по нему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться