распределение блоков в unixFreeBSD - PullRequest
0 голосов
/ 19 апреля 2009

С FreeBSD UNIX (Гальвин),

Предположим, что данные записываются в файл с размерами передачи 1 КБ, а Размеры блоков и фрагментов файловой системы составляют 4 КБ и 512 байт. Файл Система выделит фрагмент размером 1 КБ для хранения данных первой передачи. Следующая передача приведет к выделению нового фрагмента размером 2 КБ. Данные из исходного фрагмента необходимо скопировать в этот новый фрагмент с последующим вторым переводом в 1 кб. Процедуры распределения пытаются найти требуется место на диске сразу после существующего фрагмента, так что копирование не требуется, но если они не могут сделать это, до семи копий может требуется, прежде чем фрагмент становится блоком. Положения были сделаны для программ, чтобы определить размер блока для файла так, чтобы передачи такого размера можно сделать, чтобы избежать повторного копирования фрагмента.

Не могли бы вы объяснить, что автор пытается сказать здесь? Почему не следует выделять блок 4 КБ для записи, а затем фрагмент из 512 байт? Автор говорит об общей файловой системе в UNIX.

1 Ответ

0 голосов
/ 19 апреля 2009

Файловая система FreeBSD, по-видимому, выполняет некоторую умеренно умную специальную обработку для предотвращения проблемы «маленькие файлы занимают слишком много места, потому что каждый использует дисковый блок», которая использовалась для заражения блоков Unix после того, как диски стали большими, но файловые системы до сих пор жил в 80-х.

Это хорошо.

Но если вы пишете средний или большой файл небольшими порциями, вы можете обмануть файловую систему, использовав хакерский файл "маленький файл" расточительным образом.

Это плохо. И медленно. И жесткий на твердотельных «дисковых» устройствах.

Если вы записываете свои средние и большие файлы в чаксы, по крайней мере, размером с блок диска, хак "маленький файл" не вызывается. И ни одна из этих проблем не возникает.

Это лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...