Файловые системы
В исследовании, на результатах которого основана эта статья, имелись в виду достаточно традиционные файловые системы. Многие файловые системы в каких-то аспектах отличаются от этой модели, но большинство в целом ей соответствует.
Каждый файл является большим потоком байт. Файлы часто полностью прочитываются, их содержимое обрабатывается в памяти, и если что-то в файле изменяется, он заменяется целиком. Этой модели следуют также архивация, поддержка версий, управление иерархией хранения данных, перемещение данных с использованием съемных носителей и т.д.
При использовании этой модели дисковую память для каждого файла лучше всего выделять смежными блоками. Метаданные ограничиваются каталогами, несколькими стандартными метками, такими как время создания, и структурами данных для управления дисковым пространством файла.
Согласованность этих структур данных на диске достигается за счет тщательного упорядочивания операций записи, довольно быстрой записи измененных блоков данных и дорогостоящих проверок файловой системы после любого некорректного завершения работы или удаления носителя. Другими словами, предполагается отсутствие транзакционных гарантий и транзакционной журнализации, по крайней мере, для содержимого файлов. Если поддерживается восстановление на основе журнала содержимого файлов, т.е. отдельных страниц или записей внутри страниц, то требуется пересмотреть ряд доводов, приводимых в этой статье.